private SQLiteDatabase db;
private DatabaseHelper dbHelper;
private Context context;

public DBAdapter(Context ctx) {
this.context = ctx;
dbHelper = new DatabaseHelper(context);
}

private class DatabaseHelper extends SQLiteOpenHelper {

public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, Version);
}

@Override
public void onCreate(SQLiteDatabase db) {
// create table
Log.i("onCreateTable",":");
db.execSQL(Category_CREATE);
db.execSQL(FAVORITE_CREATE);
db.execSQL(Message_CREATE);
db.execSQL(Key_Mess_CREATE);
db.execSQL(W_Message_LIST_CREATE);
db.execSQL(W_Message_CREATE);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop table if exists "+Category_TABLE);
db.execSQL("drop table if exists "+FAVORITE_TABLE);
db.execSQL("drop table if exists "+Message_TABLE);
db.execSQL("drop table if exists "+Key_Mess_TABLE);
db.execSQL("drop table if exists "+W_Message_TABLE);
db.execSQL("drop table if exists "+W_Message_LIST);
onCreate(db);
}

}
public DBAdapter open() {
//db = context.openOrCreateDatabase(DATABASE_NAME, Context.MODE_PRIVATE, null);
try
{
// 获得dictionary.db文件的绝对路径
String databaseFilename = DATABASE_PATH + "/" + DATABASE_NAME;
File dir = new File(DATABASE_PATH);
// 如果/sdcard/dictionary目录中存在,创建这个目录
if (!dir.exists())
dir.mkdir();
// 如果在/sdcard/dictionary目录中不存在
// dictionary.db文件,则从res/raw目录中复制这个文件到
// SD卡的目录(/sdcard/dictionary)
File file = new File( DATABASE_PATH + "/" + DATABASE_NAME_OLD);
if(file.exists()){
Log.i(databaseFilename,"delete db");
file.delete();
}
if (!(new File(databaseFilename)).exists())
{
Log.i(databaseFilename,"copy db");
// 获得封装dictionary.db文件的InputStream对象
InputStream is = context.getResources().openRawResource(
R.raw.wpp);
FileOutputStream fos = new FileOutputStream(databaseFilename);
byte[] buffer = new byte[8192];
int count = 0;
// 开始复制dictionary.db文件
while ((count = is.read(buffer)) > 0)
{
fos.write(buffer, 0, count);
}

fos.close();
is.close();
}
// 打开/sdcard/dictionary目录中的dictionary.db文件
db = SQLiteDatabase.openOrCreateDatabase(
databaseFilename, null);
return this;
}
catch (Exception e)
{
}
return null;
}

public void close() {
try {
dbHelper.close();
} catch (Exception e) {

}

}

更多相关文章

  1. android webview file标签点击弹出选择文件或拍照菜单
  2. Android Studio 各个依赖包存放目录
  3. android 从assets和res中读取文件
  4. Android Bluetooth 文件接收路径修改方法
  5. Android文件图片上传的详细讲解(三)---模式回调类
  6. android XML文件序列化
  7. Android Studio(十二):打包多个发布渠道的apk文件
  8. [置顶] Android——4.2.2 文件系统目录分析
  9. Linux下 解包/打包 Android 映像文件 system.img, boot.img, ram

随机推荐

  1. Android(安卓)应用界面设计
  2. Android(安卓)开发艺术探索笔记(23)
  3. Android逆向之旅---动态方式破解apk进阶
  4. Android多线程篇(下)-安卓基础知识整理
  5. [置顶] Android(安卓)Settings源码流程分
  6. 一篇文章带你搞定 Android(安卓)项目的目
  7. Android文档阅读之Txt文档阅读的方案实现
  8. Android(安卓)数据存储:五大存储之SQLite
  9. Mono for Android——使用C#,在手机上运行
  10. Android之fragment点击切换和滑动切换结