基本信息
源码名称:android SQLite插入 查询实例源码下载
源码大小:0.65M
文件格式:.rar
开发语言:Java
更新时间:2015-03-13
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍


package com.sqlitepractice;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;

import com.sqlitepractice.database.DatabaseHelper;

public class MainActivity extends Activity {
	private static final String TAG = "MainActivity";
	private static int sThreadCounter = 0;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		final int threadCount = 8;
		final List<Thread> allThreads = new ArrayList<Thread>(threadCount);
		DatabaseHelper helper = DatabaseHelper.getInstance(this);
		for (int i = 0; i < threadCount; i  ) {
			allThreads.add(new DbInsertThread(helper, 50, sThreadCounter  ));
		}
		for (int i = 0; i < threadCount; i  ) {
			allThreads.add(new FastSelectThread(helper, sThreadCounter  , 50));
		}

		for (Thread thread : allThreads) {
			thread.start();
		}

		// Wait for all threads to complete before running
		for (Thread thread : allThreads) {
			try {
				thread.join();
				Log.i(thread.getName(), "collected");
			} catch (InterruptedException e) {
				Log.e(TAG, "Interrupted", e);
			}
		}

		Log.i(TAG, "All threads finished!");
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.activity_main, menu);
		return true;
	}

	class DbInsertThread extends Thread {
		private final String TAG = DbInsertThread.class.getSimpleName();

		private final DatabaseHelper mDbHelper;
		private int mRunCount;

		DbInsertThread(DatabaseHelper helper, int runCount, int id) {
			setName(String.format("%1$s-%2$d", TAG, id));

			mDbHelper = helper;
			mRunCount = runCount;
			Log.i(getName(), helper.toString());
		}

		@Override
		public void run() {
			for (int i = 0; i < mRunCount; i  ) {
				try {
					mDbHelper.insert("com.xx.xxxx", "测试", "ceshi", "MainActivity");
				} catch (Exception e) {
					Log.e(getName(), "Insert failed!!!, stopping writes", e);
					break;
				}
			}

			Log.i(getName(), "finished!");

		}
	}

	class FastSelectThread extends Thread {
		private final String TAG = FastSelectThread.class.getSimpleName();

		private final DatabaseHelper mHelper;
		private final int mCount;

		FastSelectThread(DatabaseHelper helper, int id, int selectCount) {
			setName(String.format("%1$s-%2$d", TAG, id));

			mHelper = helper;
			mCount = selectCount > 0 ? selectCount : 50;

			Log.i(getName(), helper.toString());
		}

		@Override
		public void run() {
			int count = 0;
			while (count < mCount) {
				mHelper.getCount();

				Log.i(getName(), "start wait");
				try {
					Thread.sleep(200);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}

				Log.i(getName(), "end wait");

				count  ;
			}

			Log.i(getName(), "finished!");
		}
	}

}