Android 怎样使用已存在的Database
来源:互联网 发布:b站翻唱软件 编辑:程序博客网 时间:2024/04/25 14:03
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) {
}
}
- Android 怎样使用已存在的Database
- 怎样让.Net2.0的Membership使用已存在的Sql Server2000/2005数据库
- 怎样让.Net2.0的Membership使用已存在的Sql Server数据库
- 怎样让.Net2.0的Membership使用已存在的Sql Server2000/2005数据库
- 怎样让.Net2.0的Membership使用已存在的Sql Server2000/2005数据库
- 怎样让.Net2.0的Membership使用已存在的Sql Server2000/2005数据库
- 怎样让.Net2.0的Membership使用已存在的Sql Server2000/2005数据库
- 怎样让.Net2.0的Membership使用已存在的Sql Server2000/2005数据库
- 怎样让.Net2.0的Membership使用已存在的Sql Server2000/2005数据库
- 怎样让.Net2.0的Membership使用已存在的Sql Server2000/2005数据库
- 怎样让.Net2.0的Membership使用已存在的Sql Server2000/2005数据库
- 怎样让.Net2.0的Membership使用已存在的Sql Server2000/2005数据库
- 怎样让.Net2.0的Membership使用已存在的Sql Server2000/2005数据库
- 怎样让.Net2.0的Membership使用已存在的Sql Server2000/2005数据库
- 怎样让.Net2.0的Membership使用已存在的Sql Server2000/2005数据库
- 怎样让.Net2.0的Membership使用已存在的Sql Server2000/2005数据库
- 怎样让.Net2.0的Membership使用已存在的Sql Server2000/2005数据库
- 怎样让.Net2.0的Membership使用已存在的Sql Server2000/2005数据库
- js表单大全
- aix中启动远程桌面
- 查看脚本运行时间命令
- Oracle 9i在AIX上的性能调整-性能调优
- 转 pages validateRequest ="false
- Android 怎样使用已存在的Database
- PyQt4--QLineEdit内引入正则表达式
- 关于android OpenGl ES 渲染方式
- “五小”成果技术报告 野外小队信息管理系统Ver1.00
- Visual studio 2010的快捷键(转帖)
- 浮躁的世界
- PL/SQL中文显示乱码
- Oracle SQL 性能优化技巧
- delphi ODAC与Oracle RAC