码迷,mamicode.com
首页 > 移动开发 > 详细

安卓小说阅读器完整代码

时间:2015-08-14 13:51:13      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:安卓小说阅读器

package com.example.viewpagerok;

import java.io.File;
import java.util.ArrayList;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.ContextMenu;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

@SuppressLint({ "InflateParams", "ShowToast", "ViewHolder" })
public class MainActivity extends Activity {
	ArrayList<View> arrayList;
	ArrayList<String>name;
	//如果是公共变量,每次界面进入,gridview的setadapter就会执行一次,就会得到一个getdata,这个变量就会追加一个,所以不能是公共变量
	ArrayList<String>progress=new ArrayList<String>();
	ArrayList<String>pathList2;
	ArrayList<Integer>aIntegers=new ArrayList<Integer>();
	int[] bookimage={R.drawable.book1,R.drawable.book2,R.drawable.book4,R.drawable.book5,R.drawable.book6,R.drawable.book7,R.drawable.book8,R.drawable.book9,R.drawable.book10,R.drawable.book11,R.drawable.book12,R.drawable.book13};         
	int[] web={R.drawable.hjsm,R.drawable.zl,R.drawable.yanqing888,R.drawable.xs8,R.drawable.xiaoxiangshuyuan};
	String[]book={"http://hjsm.tom.com","http://www.zhulang.com","http://www.yanqing888.net/","http://www.xs8.cn/","http://www.xxsy.net/"};
	ViewPager viewPager;
	TextView sdcard;
	TextView sdcard1;
	String sdpathString;
	String sdpathString1;
	int count = 0;
	View view;
	static String[] a = new String[] { "1", "2", "3", "4", "5" };
	Button button;
	SQLiteDatabase sqLiteDatabase;
	Animation animation;
	int itemposition;
    ArrayList<ArrayList<String>> aList = new ArrayList<ArrayList<String>>();
    ArrayList<ArrayList<String>> pathr = new ArrayList<ArrayList<String>>();
	ArrayList<String> filelist;
	ArrayList<String> pathlist;
	ListView listView;
	ArrayAdapter<String> adapter;
	LayoutInflater layoutInflater;
	TextView textView;
	TextView textView1;
	String sql;
	String tab;
	TextView textViewmain;
	TextView textViewmain1;
	TextView textViewmain2;
	GridView gridView;
	View item;
	View booknetview;
	TextView textViewforpage3;
	Drawable drawable;
String elments;
View view1;
LinearLayout linearLayout;
LinearLayout linearLayoutq;
LinearLayout linearLayoutw;
LinearLayout linearLayoute;
LinearLayout linearLayoutr;
c c;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
		getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
		setContentView(R.layout.activity_main);
		if (!Environment.MEDIA_MOUNTED.equals(Environment
				.getExternalStorageState())) {
			Toast.makeText(MainActivity.this, "请确认内置SD卡",1).show();
			finish();
		}
		sqLiteDatabase=new shujuku(getApplicationContext()).getWritableDatabase();
		sql="create table if not exists bookv(id integer primary key autoincrement,name varchar(9),progress integer,path varchar(33))";
		sqLiteDatabase.execSQL(sql);
	//	animation=AnimationUtils.loadAnimation(this, R.anim.halftouming);
		
		
		linearLayout=(LinearLayout)findViewById(R.id.linearone);
		linearLayoute=(LinearLayout)findViewById(R.id.lineartwo);
		drawable=linearLayoute.getBackground();
	//	linearLayoutq=(LinearLayout)findViewById(R.id.linearthree);
		
	//	linearLayoutw=(LinearLayout)findViewById(R.id.linearfour);
		linearLayoutr=(LinearLayout)findViewById(R.id.linearzim);
		linearLayout.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				viewPager.setCurrentItem(0);
	//			linearLayout.startAnimation(animation);
		//		linearLayout.setAlpha(0.5f);
				
		//		Toast.makeText(MainActivity.this, "1", 1).show();
			}
		});
		linearLayoute.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				viewPager.setCurrentItem(1);
			}
		});
		linearLayoutr.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				viewPager.setCurrentItem(2);
			}
		});
/*		linearLayoutq.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				viewPager.setCurrentItem(2);
				Toast.makeText(MainActivity.this, "3", 1).show();
			}
		});
		*/
		// 为什么在viewpager实例化之前可以调用呢?静态的?答案是否定的,即使是静态也不会因为是静态而第一个加载,正确的原因是,oncreate函数,第一步加载的层次是实例化层次,所有实例化都会在第一批加载
		arrayList = new ArrayList<View>();
		layoutInflater = LayoutInflater.from(MainActivity.this);
		view = layoutInflater.inflate(R.layout.page1, null);
		
		/*
		 * button=(Button)view.findViewById(R.id.button2);//一个xml布局会被解析成一个class,
		 * 所以有view.find`````` button.setOnClickListener(new OnClickListener() {
		 * 
		 * @Override public void onClick(View v) { // TODO Auto-generated method
		 * stub count++; button.setText(a[count]); } });
		 */
		arrayList.add(view);
		view1=layoutInflater.inflate(R.layout.page2, null);


		arrayList.add(view1);
		booknetview=layoutInflater.inflate(R.layout.page3, null);
		arrayList.add(booknetview);
//		View viewq=layoutInflater.inflate(R.layout.page3, null);
//		arrayList.add(viewq);
	//	textViewforpage3=(TextView)viewq.findViewById(R.id.textView1);
		viewPager = (ViewPager) findViewById(R.id.viewPager);
	
		viewPager.setAdapter(new dxc());
      
				// TODO Auto-generated method stub
		
		
    	getfilelist(Environment.getExternalStorageDirectory().toString());

//			ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
//					MainActivity.this, android.R.layout.simple_list_item_1,
//					filelist);
		
	/*	listView.setAdapter(new listviewadapter());
	//1	Toast.makeText(MainActivity.this, Integer.toString(aList.size()), 1).show();
listView.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) {
				// TODO Auto-generated method stub
				// filelist=new ArrayList<String>();
				File file = new File(pathr.get(pathr.size()-1).get(position));
				getfilelist(pathr.get(pathr.size()-1).get(position));
				if (file.isDirectory()) {
					// getfilelist(filelist.get(position));
					// ArrayAdapter<String>adapter=new
					// ArrayAdapter<String>(MainActivity.this,
					// android.R.layout.simple_list_item_1, filelist);
					// 这里的filelist取的是局部变量,就是新传值进去的filelist还在公共变量,这里取的是之前的值,所以,给函数add一个返回值。
					
					// 这里返回的还是之前的值,所以错误,集合公共变量,getfilelist()得到的就是上次的集合,所以不会刷新,必须把集合设置为局部变量,在局部new才行
					// 将集合在公共new,是为了递归,有一个特定的集合接受所有信息,而这里,则需要不同的集合,每一次传参数都得到新的实例,否则总会指向上一次
					count++;
					
					
					Toast.makeText(MainActivity.this, Integer.toString(aList.size()), 1).show();
		

					listView.setAdapter(new listviewadapter());
					
				}
				else {
					Toast.makeText(MainActivity.this, "请长按加入书架", 1).show();
				}
			}
		
});
*/
		
				
				
		linearLayout.setBackgroundColor(Color.parseColor("#FFCC66"));
	
		viewPager.setOnPageChangeListener(new OnPageChangeListener() {
					
					
					@Override
					public void onPageSelected(int arg0) {
						// TODO Auto-generated method stub
				//		viewPager.setCurrentItem(0);
						switch (arg0) {
						case 0:
		//				Drawable drawable=linearLayoute.getBackground();
						linearLayoute.setBackgroundColor(Color.parseColor("#00000000"));
							linearLayout.setBackgroundColor(Color.parseColor("#FFCC66"));
							linearLayoutr.setBackgroundColor(Color.parseColor("#00000000"));
					//		linearLayout.setAlpha(0.3f);
						//	linearLayoute.setBackgroundColor(Color.parseColor("#CCFF66"));
			
			
						
				//			registerForContextMenu(listView);
							getfilelist(Environment.getExternalStorageDirectory().toString());
							
				//			ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
				//					MainActivity.this, android.R.layout.simple_list_item_1,
				//					filelist);
							listView = (ListView) view.findViewById(R.id.listView1);
							registerForContextMenu(listView);
							listView.setAdapter(new listviewadapter());
							Toast.makeText(MainActivity.this,"alist"+ Integer.toString(aList.size()), 1).show();
							Toast.makeText(MainActivity.this, "path"+Integer.toString(pathr.size()), 1).show();
							listView.setOnItemClickListener(new OnItemClickListener() {

								@Override
								public void onItemClick(AdapterView<?> parent, View view,
										int position, long id) {
									// TODO Auto-generated method stub
									// filelist=new ArrayList<String>();

									File file = new File(pathr.get(pathr.size()-1).get(position));
									
									if (file.isDirectory()) {
										getfilelist(pathr.get(pathr.size()-1).get(position));
										// getfilelist(filelist.get(position));
										// ArrayAdapter<String>adapter=new
										// ArrayAdapter<String>(MainActivity.this,
										// android.R.layout.simple_list_item_1, filelist);
										// 这里的filelist取的是局部变量,就是新传值进去的filelist还在公共变量,这里取的是之前的值,所以,给函数add一个返回值。
										
										// 这里返回的还是之前的值,所以错误,集合公共变量,getfilelist()得到的就是上次的集合,所以不会刷新,必须把集合设置为局部变量,在局部new才行
										// 将集合在公共new,是为了递归,有一个特定的集合接受所有信息,而这里,则需要不同的集合,每一次传参数都得到新的实例,否则总会指向上一次
										count++;
										
									
					//					Toast.makeText(MainActivity.this, Integer.toString(aList.size()), 1).show();
							

										listView.setAdapter(new listviewadapter());
										
									}
									else {
										Toast.makeText(MainActivity.this, "请长按加入书架", 1).show();
									}
								}
							
				});
							break;
						case 1:
							
				//			linearLayoute.setAlpha(0.5f);
							linearLayoute.setBackgroundColor(Color.parseColor("#FFCC66"));
							linearLayout.setBackgroundColor(Color.parseColor("#00000000"));
							linearLayoutr.setBackgroundColor(Color.parseColor("#00000000"));

				
							getdata();
							if (name.size()==0) {
								Toast.makeText(MainActivity.this, "您还没有加入图书", 1).show();
							}
							else {
							
								c=new c();
								gridView=(GridView)view1.findViewById(R.id.gridView1);
								gridView.setAdapter(c);
								gridView.setOnItemClickListener(new OnItemClickListener() {

									@Override
									public void onItemClick(AdapterView<?> parent,
											View view, int position, long id) {
										// TODO Auto-generated method stub
										Intent intent=new Intent(MainActivity.this,novel.class);
										intent.putExtra("path", pathList2.get(position));
										File file=new File(pathList2.get(position));
										if (!file.exists()) {
											Toast.makeText(MainActivity.this, "请确认该文件存在", 1).show();
										}
										else{
											intent.putExtra("name", name.get(position));
											//		Bundle bundle=new Bundle();
											//		bundle.putInt("progress", aIntegers.get(position));
											//		intent.putExtra("progress", bundle);
													startActivity(intent);
										}
										
									}
								});
							}
							
					//		Toast.makeText(MainActivity.this, "tab1", Toast.LENGTH_LONG).show();
							break;
				//		case 2:
				//			textViewforpage3.setText("9");
				//			linearLayoutq.setAlpha(0.5f);
				//			linearLayoutq.setBackgroundColor(Color.parseColor("#FFFF33"));
				//			linearLayoute.setBackgroundColor(Color.parseColor("#CCFF66"));
				//			linearLayout.setBackgroundColor(Color.parseColor("#CCFF66"));
				//			textViewmain.setBackgroundColor(Color.parseColor("#CCFF66"));
			/*				if (linearLayoute.getAlpha()==0.5f) {
								linearLayoute.setAlpha(1.0f);
							}
							if (linearLayout.getAlpha()==0.5f) {
								linearLayout.setAlpha(1.0f);
							}
							if (linearLayoutw.getAlpha()==0.5) {
								linearLayoutw.setAlpha(1.0f);
							}
							if (linearLayoutr.getAlpha()==0.5) {
								linearLayoutr.setAlpha(1.0f);
							}
							*/
				//			break;
						case 2:
							linearLayoutr.setBackgroundColor(Color.parseColor("#FFCC66"));
							linearLayout.setBackgroundColor(Color.parseColor("#00000000"));
							linearLayoute.setBackgroundColor(Color.parseColor("#00000000"));
							ListView listView=(ListView)booknetview.findViewById(R.id.listView1);
							listView.setAdapter(new booknet());
							listView.setOnItemClickListener(new OnItemClickListener() {

								@Override
								public void onItemClick(AdapterView<?> parent,
										View view, int position, long id) {
									// TODO Auto-generated method stub
									Intent intent=new Intent(MainActivity.this, netbook.class);
									intent.putExtra("web", book[position]);
									startActivity(intent);
								}
							});
							break;
					
						}
					}
					
					@Override
					public void onPageScrolled(int arg0, float arg1, int arg2) {
						// TODO Auto-generated method stub
						
					}
					
					@Override
					public void onPageScrollStateChanged(int arg0) {
						// TODO Auto-generated method stub
						
					}
				});
		 viewPager.setCurrentItem(1);
		 viewPager.setCurrentItem(0);
	}


			//`````````````````````````````````````````````````````		
					
					
					
					
			

			public ArrayList<String> getfilelist(String path) {
				// TODO Auto-generated method stub
				File file = new File(path);
				
				File[] files = file.listFiles();
				filelist = new ArrayList<String>();
				pathlist = new ArrayList<String>();
				for (int i = 0; i < files.length; i++) {
					if (files[i].isDirectory()
							|| files[i].getName().endsWith("txt")) {
						filelist.add(files[i].getName());
						pathlist.add(files[i].getAbsolutePath());
					}
				}
				aList.add(filelist);
				pathr.add(pathlist);
				return filelist;
			}
		
	

	class dxc extends PagerAdapter {

		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return arrayList.size();
		}

		@Override
		public boolean isViewFromObject(View arg0, Object arg1) {
			// TODO Auto-generated method stub
			return arg0 == arg1;
		}

@Override
		public void destroyItem(ViewGroup container, int position, Object object) {
			// TODO Auto-generated method stub
			((ViewPager) container).removeView(arrayList.get(position));
		}

		@Override
		public Object instantiateItem(ViewGroup container, int position) {
			// TODO Auto-generated method stub
			((ViewPager) container).addView(arrayList.get(position), 0);
			return arrayList.get(position);
		}
		@Override
		public void restoreState(Parcelable state, ClassLoader loader) {
			// TODO Auto-generated method stub
			super.restoreState(state, loader);
		}
		@Override
		public void notifyDataSetChanged() {
			// TODO Auto-generated method stub
			super.notifyDataSetChanged();
		}
	}

	/*
	 * @Override public void onBackPressed() { // TODO Auto-generated method
	 * stub count--; if (count>=0&&viewPager.getCurrentItem()==0){
	 * button.setText(a[count]); } if (count<0) { finish(); }
	 * Toast.makeText(MainActivity.this,
	 * Integer.toString(viewPager.getCurrentItem()), 1).show(); }
	 */
	@Override
	public void onBackPressed() {
		// TODO Auto-generated method stub
		count--;
		if (count >= 0 && viewPager.getCurrentItem() == 0) {
			aList.remove(aList.size() - 1);
			pathr.remove(pathr.size()-1);
			//多线程访问一个变量导致错误,alist的值没有及时传递
	//		adapter = new ArrayAdapter<String>(MainActivity.this,
	//				android.R.layout.simple_list_item_1,
	//				aList.get(aList.size() - 1));
	//		Toast.makeText(MainActivity.this, Integer.toString(aList.size()), 1).show();
			listView.setAdapter(new listviewadapter());
		} else {
			super.onBackPressed();
		}
	}

	class listviewadapter extends BaseAdapter {
		final int type = 0;
		final int type1 = 1;

		public listviewadapter() {
			layoutInflater = LayoutInflater.from(MainActivity.this);
		}

		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return aList.get(aList.size()-1).size();
		}

		@Override
		public Object getItem(int position) {
			// TODO Auto-generated method stub
			return aList.get(aList.size()-1).get(position);
		}

		@Override
		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return position;
		}

		@Override
		public int getItemViewType(int position) {
			// TODO Auto-generated method stub
	//		Toast.makeText(MainActivity.this, Integer.toString(aList.size()), 1).show();
			if ((aList.get(aList.size()-1).get(position)).endsWith("txt")) {
				return type;
			} else {
				return type1;
			}
		}

		@Override
		public int getViewTypeCount() {
			// TODO Auto-generated method stub
			return 2;
		}

		@Override
		public View getView(int position, View convertView, ViewGroup parent) {
			// TODO Auto-generated method stub
			int key = getItemViewType(position);
			if (convertView == null) {
				switch (key) {
				case type:
					//final作用
					convertView = layoutInflater.inflate(R.layout.viewtype1,
							parent, false);
					textView = (TextView) convertView
							.findViewById(R.id.textView1);
					convertView.setTag(1);
					break;
				case type1:
					convertView = layoutInflater.inflate(R.layout.viewt2,
							parent, false);
					textView1 = (TextView) convertView
							.findViewById(R.id.textView2);
					convertView.setTag(2);
				default:
					break;
				}
			} else {
				switch (key) {
				case type:
					convertView.getTag(1);
					break;
				case type1:
					convertView.getTag(2);
					break;
				}
			}
			switch (key) {
			case type:
				textView.setText(aList.get(aList.size()-1).get(position));

				break;
			case type1:
				textView1.setText(aList.get(aList.size()-1).get(position));
			}
			return convertView;
		}

	}

	@Override
	public void onCreateContextMenu(ContextMenu menu, View v,
			ContextMenuInfo menuInfo) {
		// TODO Auto-generated method stub
		getMenuInflater().inflate(R.menu.main, menu);
		menu.setQwertyMode(true);
		super.onCreateContextMenu(menu, v, menuInfo);
	}
	@Override
	public boolean onContextItemSelected(MenuItem item) {
		// TODO Auto-generated method stub
		AdapterContextMenuInfo info=(AdapterContextMenuInfo)item.getMenuInfo();
		
		int index=info.position;
		int id = item.getItemId();
		if (aList.get(aList.size()-1).get(index).endsWith("txt")) {
			if (id == R.id.add) {
				
				tab=aList.get(aList.size()-1).get(index);
				String[] tabsplit=tab.split("\\.");
				sqLiteDatabase.execSQL("insert into bookv values(null,?,'0',?)",new String[]{tabsplit[0],pathr.get(pathr.size()-1).get(index)});
				Toast.makeText(MainActivity.this,"已经加入书架", Toast.LENGTH_LONG).show();
				
			}
		}
		
		return super.onContextItemSelected(item);
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// Handle action bar item clicks here. The action bar will
		// automatically handle clicks on the Home/Up button, so long
		// as you specify a parent activity in AndroidManifest.xml.
		
		return super.onOptionsItemSelected(item);
	}
	class shujuku extends SQLiteOpenHelper{

		public shujuku(Context context) {
			super(context, "sql", null, 1);
			// TODO Auto-generated constructor stub
		}

		@Override
		public void onCreate(SQLiteDatabase db) {
			// TODO Auto-generated method stub
			
		}

		@Override
		public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
			// TODO Auto-generated method stub
			
		}
		
	}
	class c extends BaseAdapter{
		int count1=0;
public c(){
	
	
}
		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			
			return name.size();
			
		}

		@Override
		public Object getItem(int position) {
			// TODO Auto-generated method stub
			return name.get(position);
		}

		@Override
		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return position;
		}

		@Override
		public View getView(int position, View convertView, ViewGroup parent) {
			// TODO Auto-generated method stub
			count1++;
			count1=count1%bookimage.length;
			convertView=(View)layoutInflater.inflate(R.layout.item, null);
			ImageView imageView=(ImageView)convertView.findViewById(R.id.imageView1);
			TextView textView=(TextView)convertView.findViewById(R.id.textView1);
			imageView.setImageResource(bookimage[count1]);
			textView.setText(name.get(position));
			return convertView;
		}
		
	}
	void getdata(){
		name=new ArrayList<String>();
		pathList2=new ArrayList<String>();
		Cursor cursor=sqLiteDatabase.rawQuery("select * from bookv", null);
	//	if (cursor.getCount()==0) {
			//每次调用adapter都会调用这个方法,都会运行name.add(a+"/n"+p);结果每次都会增加一个,所以才会追加绘制!每个图片都不一样,表示的确不是重复绘制,而是数据源变化
		//	Toast.makeText(MainActivity.this, "您还没有加入图书", 1).show();
		//	name.add(" ");
	//	}
	//	else {
			
		
		while (cursor.moveToNext()) {
			
			String a=cursor.getString(cursor.getColumnIndex("name"));
			Integer b=cursor.getInt(cursor.getColumnIndex("progress"));
			String path=cursor.getString(cursor.getColumnIndex("path"));
			File file=new File(path);
			Float f=(float)b*10240/file.length();
	//		String p=Float.toString(f*100)+"%";
			name.add(a);
		//	progress.add(b.toString());
			pathList2.add(path);
			aIntegers.add(b);
		}
		}
	//}
	class booknet extends BaseAdapter{

		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return book.length;
		}

		@Override
		public Object getItem(int position) {
			// TODO Auto-generated method stub
			return book[position];
		}

		@Override
		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return position;
		}

		@Override
		public View getView(int position, View convertView, ViewGroup parent) {
			// TODO Auto-generated method stub
		 convertView=layoutInflater.inflate(R.layout.booknet, null);
		ImageView imageView=(ImageView)convertView.findViewById(R.id.imageView1);
		imageView.setImageResource(web[position]);
			return convertView;
		}
		
	}
}
<pre name="code" class="java">package com.example.viewpagerok;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Window;
import android.view.WindowManager;
import android.webkit.WebView;
import android.webkit.WebViewClient;

@SuppressLint("SetJavaScriptEnabled") public class netbook extends Activity{
	WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
	// TODO Auto-generated method stub
	super.onCreate(savedInstanceState);
	requestWindowFeature(Window.FEATURE_NO_TITLE);
	getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
	getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
	setContentView(R.layout.web);
	String web=getIntent().getStringExtra("web");
	webView=(WebView)findViewById(R.id.webview);
	webView.getSettings().setJavaScriptEnabled(true);
	webView.loadUrl(web);
	webView.setWebViewClient(new webclient());
}
class webclient extends WebViewClient{
	@Override
	public boolean shouldOverrideUrlLoading(WebView view, String url) {
		// TODO Auto-generated method stub
		view.loadUrl(url);
		return true;
	}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
	// TODO Auto-generated method stub
	if (keyCode==KeyEvent.KEYCODE_BACK&&webView.canGoBack()) {
		webView.goBack();
		return true;
	}
	else {
		finish();
		return false;
	}	
}
}

package com.example.viewpagerok;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;

import android.R.integer;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.ColorFilter;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Handler;
import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.WindowManager;
import android.view.View.OnTouchListener;
import android.view.WindowManager.LayoutParams;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.ScrollView;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
import android.widget.Toast;

@SuppressLint({ "ClickableViewAccessibility", "ShowToast", "InflateParams" }) public class novel extends Activity implements OnSeekBarChangeListener{
String pathString;
ScrollView scrollView;
int count;
int count1;
LinearLayout layout;
Integer progress;
TextView textView;
FileInputStream fileInputStream;
String string;
byte[]b;
byte[]q;
Integer progress1;
pop p;
Cursor cursor;
FileInputStream fileInputStreamx;
SQLiteDatabase bsqLiteDatabase;
String z;
touch buttontouch;
LayoutInflater layoutInflater1;
DisplayMetrics displayMetrics;
textsize t;
TextView textView666;
Float aFloat;
Integer progressforpauseInteger;
TextView textView111;
String cv;
TextView textView999;
Button button3;
View view1;
Integer j;
View view;
Cursor cursoraCursor;
Integer orginary;
boolean flag;
String name;
Cursor newyork;
SQLiteDatabase sqLiteDatabase;
	@Override
protected void onCreate(Bundle savedInstanceState) {
	// TODO Auto-generated method stub
	super.onCreate(savedInstanceState);
	requestWindowFeature(Window.FEATURE_NO_TITLE);
	getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
	getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
	setContentView(R.layout.novel);
	
	count=0;
	count1=0;
	Intent intent=getIntent();
	pathString=intent.getStringExtra("path");
	name=intent.getStringExtra("name");
	textView=(TextView)findViewById(R.id.textview);
	bsqLiteDatabase=new set(getApplicationContext()).getWritableDatabase();
	bsqLiteDatabase.execSQL("create table if not exists j(id integer primary key autoincrement,ci varchar(9))");
	bsqLiteDatabase.execSQL("create table if not exists h(id integer primary key autoincrement,size float)");
//	sqLiteDatabase.execSQL("create table if not exists proeqb(id integer primary key autoincrement,path varchar(33),jindu integer,touch integer)");
	bsqLiteDatabase.execSQL("create table if not exists "+name+" (id integer primary key autoincrement,pro integer,touch integer)");
	Cursor cursorq=bsqLiteDatabase.rawQuery("select * from j", null);
	if (cursorq.getCount()!=0) {
		cursorq.moveToLast();
		z=cursorq.getString(cursorq.getColumnIndex("ci"));
			textView.setBackgroundColor(Color.parseColor(z));
		
	}
	Cursor c=bsqLiteDatabase.rawQuery("select * from h", null);
	if (c.getCount()!=0) {
		c.moveToLast();
		aFloat=c.getFloat(c.getColumnIndex("size"));
		textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, aFloat);
	}
	
//	new Handler().post(new Runnable() {
		
	//	@Override
	//	public void run() {
			
			// TODO Auto-generated method stub
//	cursoraCursor=sqLiteDatabase.rawQuery("select * from proeqb where path=?",new String[]{pathString});
			
			SQLiteDatabase sqLiteDatabase=new MainActivity().new shujuku(getApplicationContext()).getWritableDatabase();
	//		sqLiteDatabase.execSQL("select * from bookv where path =?" ,new String[]{pathString});
			cursor=sqLiteDatabase.rawQuery("select * from bookv where path = ?", new String[]{pathString});
			
	//		if (cursoraCursor.getCount()==0) {
	//			orginary=0;
	//		}
				while (cursor.moveToNext()) {
					progress1=cursor.getInt(cursor.getColumnIndex("progress"));
					
				}
			
			
			scrollView = (ScrollView) findViewById(R.id.sc);
			layout=(LinearLayout)findViewById(R.id.lo);
			           
			newyork=bsqLiteDatabase.rawQuery("select * from "+name, null);
		
			File file=new File(pathString);
			if (file.length()==0) {
				Toast.makeText(getApplicationContext(), "没有内容", 1).show();
				finish();
			}
			
			try {
			    fileInputStream=new FileInputStream(pathString);
				if (newyork.getCount()==0) {
					fileInputStream.skip(progress1*10240);
					flag=false;
					Toast.makeText(novel.this, "0", 1).show();
			//		orginary=0;
				}
				else {
				flag=true;
					newyork.moveToFirst();
					j=newyork.getInt(newyork.getColumnIndex("pro"));
					orginary=newyork.getInt(newyork.getColumnIndex("touch"));

					fileInputStream.skip(j+10240*orginary);
				//	Toast.makeText(novel.this, "count!=0", 1).show();
				}
			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			b=new byte[10240];
			
			try {
				string = new String(b, 0, fileInputStream.read(b), "GBK");
			} catch (UnsupportedEncodingException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			textView.setText(string);
		scrollView.setOnTouchListener(new OnTouchListener() {
				
				@Override
				public boolean onTouch(View v, MotionEvent event) {
					// TODO Auto-generated method stub
					if (event.getAction()==MotionEvent.ACTION_UP){
						int y=scrollView.getScrollY();
						if (y==layout.getHeight()-scrollView.getHeight()) {
				//			cursoraCursor=sqLiteDatabase.rawQuery("select * from proeqb where path=?",new String[]{pathString});
							count++;
							
							count1++;
							try {
								
							//	fileInputStream.read(b);
				//				cursoraCursor=sqLiteDatabase.rawQuery("select * from proeqb where path=?",new String[]{pathString});

								textView.append(new String(b, 0, fileInputStream.read(b), "GBK"));
							} catch (IOException e) {
								// TODO Auto-generated catch block
								e.printStackTrace();
							}
				//			cursoraCursor=sqLiteDatabase.rawQuery("select * from proeqb where path=?",new String[]{pathString});

					
							
							
							
						}
					}
					
					
					
					
					return false;
				}
			});
	//	}
//	});
	
}
	@Override
		public void onBackPressed() {
			// TODO Auto-generated method stub
		//安卓多线程访问一个变量,规则上是允许的,只是不允许子线程直接更新UI,还有就是数据错误,比如一个线程更新集合,另一个线程没收到数据,结果index超出了集合的总数,程序出错,但是规则上是允许的,只要不要求太精确,多线程还是好的。
//		SQLiteDatabase sqLiteDatabase=new MainActivity().sqLiteDatabase;
	//	cursoraCursor=sqLiteDatabase.rawQuery("select * from proeqb where path=?",new String[]{pathString});
/*		if (cursoraCursor.getCount()==0) {
			SQLiteDatabase sqLiteDatabase=new MainActivity().new shujuku(getApplicationContext()).getWritableDatabase();
			String a="UPDATE bookv SET progress = ";
			String b=Integer.toString(count+progress1);
			String c=" WHERE path = ";
		//	String c=" WHERE id = 0";
			String e="'";
			String f="'";
			String d=pathString;
			sqLiteDatabase.execSQL(a+b+c+e+d+f);
		}
		*/
		
		//	SQLiteDatabase sqLiteDatabase=new MainActivity().new shujuku(getApplicationContext()).getWritableDatabase();
			newyork=bsqLiteDatabase.rawQuery("select * from "+name, null);
			if (newyork.getCount()==0) {
				SQLiteDatabase sqLiteDatabase=new MainActivity().new shujuku(getApplicationContext()).getWritableDatabase();
				String a="UPDATE bookv SET progress = ";
				String b=Integer.toString(count+progress1);
				String c=" WHERE path = ";
			//	String c=" WHERE id = 0";
				String e="'";
				String f="'";
				String d=pathString;
				sqLiteDatabase.execSQL(a+b+c+e+d+f);
			}
		else {
			newyork.moveToFirst();
			Integer touch=newyork.getInt(newyork.getColumnIndex("touch"));
			String a="UPDATE "+name+ " SET touch = ";
			String b=Integer.toString(count1+touch);
			
			String c=" WHERE id = 1";
		//	String e="'";
		//	String f="'";
		//	String d=pathString;
			bsqLiteDatabase.execSQL(a+b+c);
		}
		
		    
		
		super.onBackPressed();
		}
	@Override
		public boolean onKeyDown(int keyCode, KeyEvent event) {
			// TODO Auto-generated method stub
		
		if (keyCode==KeyEvent.KEYCODE_MENU) {
			displayMetrics=new DisplayMetrics();
			getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
			layoutInflater1=LayoutInflater.from(novel.this);
		    view1=layoutInflater1.inflate(R.layout.moon, null);
		    buttontouch=new touch();
			Button button=(Button)view1.findViewById(R.id.button1);
			button.setOnTouchListener(buttontouch);
			button.setBackgroundColor(Color.parseColor("#00000000"));
			Button button1=(Button)view1.findViewById(R.id.button2);
			button1.setBackgroundColor(Color.parseColor("#00000000"));
			button1.setOnTouchListener(buttontouch);
			Button button2=(Button)view1.findViewById(R.id.button3);
			button2.setBackgroundColor(Color.parseColor("#00000000"));
		 button2.setOnTouchListener(buttontouch);
		 button3=(Button)view1.findViewById(R.id.button4);
			button3.setBackgroundColor(Color.parseColor("#00000000"));
			button3.setOnTouchListener(buttontouch);
		//	button3.setBackgroundColor(Color.parseColor("#00000000"));
		//	PopupWindow popupWindow1=new PopupWindow(view1, 100, 100);
			PopupWindow popupWindow1=new PopupWindow(view1, displayMetrics.widthPixels, LayoutParams.WRAP_CONTENT);
			popupWindow1.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#999966")));
			popupWindow1.setFocusable(true);
			popupWindow1.setTouchable(true);
			popupWindow1.setOutsideTouchable(true);
			popupWindow1.showAtLocation(textView, Gravity.BOTTOM, 0, 0);
			button.setOnClickListener(new OnClickListener() {
				
				@Override
				public void onClick(View v) {
					// TODO Auto-generated method stub
					
					p=new pop();
					View view=LayoutInflater.from(novel.this).inflate(R.layout.a, null);
					TextView textView1=(TextView)view.findViewById(R.id.textView1);
					TextView textView2=(TextView)view.findViewById(R.id.textView2);
					TextView textView3=(TextView)view.findViewById(R.id.textView3);
					TextView textView4=(TextView)view.findViewById(R.id.textView4);
					TextView textView5=(TextView)view.findViewById(R.id.textView5);
				//	Button textView6=(Button)view.findViewById(R.id.textView6);
					textView1.setTag(1);
					textView2.setTag(2);
					textView3.setTag(3);
					textView4.setTag(4);
					textView5.setTag(5);
				//	textView6.setTag(6);
					textView1.setOnClickListener(p);
					textView2.setOnClickListener(p);
					textView3.setOnClickListener(p);
					textView4.setOnClickListener(p);
					textView5.setOnClickListener(p);
				//	textView6.setOnClickListener(p);
			//		textView6.setText("\n"+"还"+"\n"+"原");
					DisplayMetrics displayMetrics=new DisplayMetrics();
					getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
					PopupWindow popupWindow=new PopupWindow(view,displayMetrics.widthPixels,LayoutParams.WRAP_CONTENT);
					popupWindow.setBackgroundDrawable(new ColorDrawable(0));
					
					popupWindow.setFocusable(true);
					popupWindow.setTouchable(true);
					popupWindow.setOutsideTouchable(true);
					popupWindow.showAtLocation(textView, Gravity.CENTER, 0, 0);
			/*		if (popupWindow.isShowing()) {
						button3=(Button)view1.findViewById(R.id.button4);
						button3.setBackgroundColor(Color.parseColor("#00000000"));
						button3.setOnTouchListener(buttontouch);
						button3.setOnClickListener(new OnClickListener() {
							
							@Override
							public void onClick(View v) {
								// TODO Auto-generated method stub
								textView.setBackgroundColor(Color.parseColor("#00000000"));
											bsqLiteDatabase.execSQL("delete from j");
							}
						});
					}*/

				}
			});
			button1.setOnClickListener(new OnClickListener() {
				
				@Override
				public void onClick(View v) {
					// TODO Auto-generated method stub
					sqLiteDatabase=new MainActivity().new shujuku(getApplicationContext()).getWritableDatabase();
					Cursor cursor=sqLiteDatabase.rawQuery("select * from bookv where path = "+"'"+pathString+"'", null);
					cursor.moveToFirst();
					Integer pro=cursor.getColumnIndex("progress");
					
					 
					View view=layoutInflater1.inflate(R.layout.qwer, null);
					PopupWindow popupWindow=new PopupWindow(view, displayMetrics.widthPixels, LayoutParams.WRAP_CONTENT);
					popupWindow.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#FFFFFF")));
					popupWindow.setFocusable(true);
					popupWindow.setTouchable(true);
					popupWindow.setOutsideTouchable(true);
					popupWindow.showAtLocation(textView, Gravity.CENTER, 0, 0);
					SeekBar seekBar=(SeekBar)view.findViewById(R.id.seekBar1);
					 textView111=(TextView)view.findViewById(R.id.textview);
					 textView666=(TextView)view.findViewById(R.id.textView1);
					 textView999=(TextView)view.findViewById(R.id.textview2);
					if (flag==true) {
						Float gFloat=(float)( j+10240*orginary)/new File(pathString).length()*100;
						 BigDecimal bigDecimal=new BigDecimal(gFloat);
						 Float f1=bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP).floatValue();
						textView111.setText("complete:"+ Float.toString(f1)+"%");
					}
					else {
						Float float1=(float) ((pro+count)*10240/new File(pathString).length())*100;
						 BigDecimal bigDecimal=new BigDecimal(float1);
						 Float f1=bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP).floatValue();
						 textView111.setText("complete:"+Float.toString(f1)+"%");
					}
					 
					seekBar.setOnSeekBarChangeListener(novel.this);
				}
			});
			button2.setOnClickListener(new OnClickListener() {
				
				@Override
				public void onClick(View v) {
					// TODO Auto-generated method stub
					t=new textsize();
					view=layoutInflater1.inflate(R.layout.liuyifeiliuyanrushen, null);
					PopupWindow popupWindow=new PopupWindow(view, displayMetrics.widthPixels, LayoutParams.WRAP_CONTENT);
					popupWindow.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#FFFFFF")));
					popupWindow.setFocusable(true);
					popupWindow.setTouchable(true);
					popupWindow.setOutsideTouchable(true);
					popupWindow.showAtLocation(textView, Gravity.CENTER, 0, 0);
					Button textView1=(Button)view.findViewById(R.id.textView1);
					Button textView2=(Button)view.findViewById(R.id.textView2);
					Button textView3=(Button)view.findViewById(R.id.textView3);
					Button textView4=(Button)view.findViewById(R.id.textView4);
					Button textView5=(Button)view.findViewById(R.id.textView5);
					Button textView6=(Button)view.findViewById(R.id.textView6);
				//	Button button=(Button)view.findViewById(R.id.textView7);
					textView1.setBackgroundColor(Color.parseColor("#00000000"));
					textView2.setBackgroundColor(Color.parseColor("#00000000"));
					textView3.setBackgroundColor(Color.parseColor("#00000000"));
					textView4.setBackgroundColor(Color.parseColor("#00000000"));
					textView5.setBackgroundColor(Color.parseColor("#00000000"));
					textView6.setBackgroundColor(Color.parseColor("#00000000"));
			//		button.setBackgroundColor(Color.parseColor("#00000000"));
					textView1.setOnTouchListener(buttontouch);
					textView2.setOnTouchListener(buttontouch);
					textView3.setOnTouchListener(buttontouch);
					textView4.setOnTouchListener(buttontouch);
					textView5.setOnTouchListener(buttontouch);
					textView6.setOnTouchListener(buttontouch);
					textView1.setTag(1);
					textView2.setTag(2);
					textView3.setTag(3);
					textView4.setTag(4);
					textView5.setTag(5);
					textView6.setTag(6);
				//	button.setTag(7);
					textView1.setOnClickListener(t);
					textView2.setOnClickListener(t);
					textView3.setOnClickListener(t);
					textView4.setOnClickListener(t);
					textView5.setOnClickListener(t);
					textView6.setOnClickListener(t);
			//		button.setOnClickListener(t);
		/*			if (popupWindow.isShowing()) {
						button3=(Button)view.findViewById(R.id.button4);
						textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15);
						bsqLiteDatabase.execSQL("delete from h");
					}
					*/
				}
			});
			button3.setOnClickListener(new OnClickListener() {
				
				@Override
				public void onClick(View v) {
					// TODO Auto-generated method stub
					View view=layoutInflater1.inflate(R.layout.restore, null);
					PopupWindow popupWindow=new PopupWindow(view, displayMetrics.widthPixels, LayoutParams.WRAP_CONTENT);
					popupWindow.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#FFFFFF")));
					popupWindow.setFocusable(true);
					popupWindow.setTouchable(true);
					popupWindow.setOutsideTouchable(true);
					popupWindow.showAtLocation(textView, Gravity.CENTER, 0, 0);
					TextView htextView=(TextView)view.findViewById(R.id.textView1);
					TextView textView1=(TextView)view.findViewById(R.id.textView2);
					htextView.setOnTouchListener(buttontouch);
					textView1.setOnTouchListener(buttontouch);
					htextView.setOnClickListener(new OnClickListener() {
						
						@Override
						public void onClick(View v) {
							// TODO Auto-generated method stub
							textView.setBackgroundColor(Color.parseColor("#00000000"));
							bsqLiteDatabase.execSQL("delete from j");
						}
					});
					textView1.setOnClickListener(new OnClickListener() {
						
						@Override
						public void onClick(View v) {
							// TODO Auto-generated method stub
							textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15);
							bsqLiteDatabase.execSQL("delete from h");
						}
					});
				}
			});
			return false;
		}
		else {
			return super.onKeyDown(keyCode, event);
		}
			
		}
	class pop implements OnClickListener{

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			
			int key=(Integer)v.getTag();
			switch (key) {
			case 1:
				textView.setBackgroundColor(Color.parseColor("#00CC99"));
				bsqLiteDatabase.execSQL("insert into j values(null,'#00CC99')");
				Toast.makeText(novel.this, "text1", 1).show();
				break;
			case 2:
				textView.setBackgroundColor(Color.parseColor("#99FF99"));
				bsqLiteDatabase.execSQL("insert into j values(null,'#99FF99')");
				Toast.makeText(novel.this, "text2", 1).show();
				break;
			case 3:
				textView.setBackgroundColor(Color.parseColor("#99CCCC"));
				bsqLiteDatabase.execSQL("insert into j values(null,'#99CCCC')");
				Toast.makeText(novel.this, "text3", 1).show();
				break;
			case 4:
				textView.setBackgroundColor(Color.parseColor("#99FFCC"));
				bsqLiteDatabase.execSQL("insert into j values(null,'#99FFCC')");
				Toast.makeText(novel.this, "text4", 1).show();
				break;
			case 5:
				textView.setBackgroundColor(Color.parseColor("#CCCCFF"));
				bsqLiteDatabase.execSQL("insert into j values(null,'#CCCCFF')");
				Toast.makeText(novel.this, "text5", 1).show();
				break;
	//		case 6:
	//			textView.setBackgroundColor(Color.parseColor("#00000000"));
	//			sqLiteDatabase.execSQL("delete from j");
			}
		}
		
	}
	class set extends SQLiteOpenHelper{

		public set(Context context) {
			super(context, "beijing", null, 1);
			// TODO Auto-generated constructor stub
		}

		@Override
		public void onCreate(SQLiteDatabase db) {
			// TODO Auto-generated method stub
			
		}

		@Override
		public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
			// TODO Auto-generated method stub
			
		}
		
	}
	class textsize implements OnClickListener{

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			int key=(Integer)v.getTag();
			switch (key) {
			case 1:
				textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 9);
				bsqLiteDatabase.execSQL("insert into h values(null,9)");
				break;
			case 2:
				textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12);
				bsqLiteDatabase.execSQL("insert into h values(null,12)");
				break;
			case 3:
				textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15);
				bsqLiteDatabase.execSQL("insert into h values(null,15)");
				break;
			case 4:
				textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18);
				bsqLiteDatabase.execSQL("insert into h values(null,18)");
				break;
			case 5:
				textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 21);
				bsqLiteDatabase.execSQL("insert into h values(null,21)");
				break;
			case 6:
				textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 24);
				bsqLiteDatabase.execSQL("insert into h values(null,24)");
				break;
//          case 7:
//textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15);
//	sqLiteDatabase.execSQL("delete from h");
//	break;
			}
		}
		
	}
	@Override
	public void onProgressChanged(SeekBar seekBar, int progress,
			boolean fromUser) {
		// TODO Auto-generated method stub
		progressforpauseInteger=progress;
		float a=(float)progress/100;
		textView999.setText(Float.toString(a)+"%");
	//	textView999.setText(Double.toString(progress/100)+"%");
	}
	@Override
	public void onStartTrackingTouch(SeekBar seekBar) {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void onStopTrackingTouch(SeekBar seekBar) {
		// TODO Auto-generated method stub
	//	cursoraCursor=sqLiteDatabase.rawQuery("select * from proeqb where path=?",new String[]{pathString});
		
count1=0;
		count=0;
	try {
		newyork=bsqLiteDatabase.rawQuery("select * from "+name, null);
		fileInputStreamx = new FileInputStream(pathString);
		File file=new File(pathString);
		Integer cvqm=Math.round(file.length()*progressforpauseInteger/10000);
		
		fileInputStreamx.skip(cvqm-1);
		q=new byte[10240];
		cv=new String(q, 0, fileInputStreamx.read(q), "GBK");
		textView.setText(cv);
		if (newyork.getCount()==0) {
			bsqLiteDatabase.execSQL("insert into "+name+" values(null,?,0)",new Object[]{cvqm-1});
		}
		else {
			bsqLiteDatabase.execSQL("update "+name+" set pro=?,touch=0 where id=1",new Object[]{cvqm-1});
	//		Toast.makeText(novel.this, "update", Toast.LENGTH_LONG).show();
		}
	} catch (FileNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}

	}
	class touch implements OnTouchListener{

		@Override
		public boolean onTouch(View v, MotionEvent event) {
			// TODO Auto-generated method stub
			if (event.getAction()==MotionEvent.ACTION_UP) {
				v.setBackgroundColor(Color.parseColor("#FFFFFF"));
			}
			if (event.getAction()==MotionEvent.ACTION_DOWN) {
				v.setBackgroundColor(Color.parseColor("#0099FF"));
			}
			return false;
		}
		
	}
}




版权声明:本文为博主原创文章,未经博主允许不得转载。

安卓小说阅读器完整代码

标签:安卓小说阅读器

原文地址:http://blog.csdn.net/nimeghbia/article/details/47659615

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!