第一次运行APP时,按钮的点击事件会创建SQLite数据库。此后退出系统,然后再重新运行时,(1)如何判断 数据库已经存在,就不创建数据库。(2)如何判断数据库不存在,就创建数据库
Android开发中对SQLite的使用有一套 固定的流程 :
由SQLiteOpenHelper类派生一个子类,假设名为MyDBHelper ,并重写OnCreate和OnUpgrade方法。
生成MyDBHelper的实例后,再调用getWritableDatabase或者getReadableDatabase方法。
这两个方法都可以创建或者打开一个现有的数据库(如果数据库已存在则直接打开,否则创建一个新的数据库),
并返回一个可对数据库进行读写操作的对象。之后借助这个对象就可以进行数据库的操作了。
Android开发方面的书籍或者教程都会涉及到SQLite的这套操作,找一个实例对照看看就更清楚了。
Android创建数据库是在sqLiteOpenHelper类的oncreate()方法里面,当第一次进去的时候,还没有数据库,创建好了之后,是不会在执行该方法的。
一个简单的方法:
自己封装个类, 进行SQL语句查询, 如果数据库表不存在抛异常. 返回状态结果, 在每次进入数据库前调用.
@OnClick(R.id.main_ll_report)
public void onViewClicked() {
if (TextUtils.isTableExist(this))
// 通过盘点状态查询数据库
queryDataByInventoriedStatus();
else
Toast.makeText(this, "数据库不存在,请先更新数据库!", Toast.LENGTH_SHORT).show();
}
// 判断表是否存在
public static boolean isTableExist(Context context) {
boolean isTableExist = true;
SQLiteDatabase database = context.openOrCreateDatabase(AppConfig.Constant.DATABASE_PATH, SQLiteDatabase.OPEN_READWRITE, null);
try {
Cursor cursor = database.rawQuery("select * from collateral", null);
cursor.close();
database.close();
} catch (Exception e) {
// 表不存在, 抛异常
isTableExist = false;
}
return isTableExist;
}
你可以把splite写到指定的目录,用文件夹看看是否存在
建议你去看看这个http://blog.csdn.net/lizhenmingdirk/article/details/17561471