日期:2014-05-16  浏览次数:20442 次

使用自己的数据库

public class DataBaseHelper extends SQLiteOpenHelper

?

1.构造器中

CopyDB(context, false);
?

2.方法

/**
	 * 复制数据库, 不存在或者强制要求覆盖时覆盖
	 * 
	 * @param isCover
	 */
	public static void CopyDB(Context context, boolean willCover) {
		System.out.println("CopyDB" + context);
		File path = context.getDatabasePath(DB_NAME);
		if (!path.exists()) {
			// 首先要创建这个文件夹, 如果不存在的话。。。 否则FileOutputStream(path) 报错
			new File(path.toString().substring(0, path.toString().lastIndexOf("/"))).mkdirs();
		} else if (!willCover) {
			return;
		}

		InputStream is = context.getResources().openRawResource(R.raw.telloc);
		FileOutputStream fos;
		try {
			fos = new FileOutputStream(path);

			byte[] buffer = new byte[1024];

			int count = 0;

			while ((count = is.read(buffer)) > 0) {
				fos.write(buffer, 0, count);
			}
			fos.close();
			is.close();
//			Log.e(TAG, "create new database");
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
?