我正在使用帮助器创建一个新的数据库,但是根据创建的文档应该在创建数据库时调用,但是它没有被正确调用.任何PLZ都可以帮我解决这个问题. Plz见下面的代码.
1)有没有办法创建数据库而不是使用帮助器,如果是这样plz建议我!
2)在数据库创建中以及杀死数据库时将调用哪些回调?
OpenHelper(Context context) { super(context, "examplee.db", null, 1 ); sqliteDatabase sqlite = null; Log.w(TAG, "Openhelp database, "); sqlite = context.openorCreateDatabase("examplee.db", Context.MODE_PRIVATE, null ); Log.e ( TAG,"SQ lite database object "+sqlite ); } public voID onopen(sqliteDatabase db) { Log.e ( TAG,"On open called "); } @OverrIDe public voID onCreate(sqliteDatabase db) { Log.w(TAG, " On create "); //db.execsql(sql); //db.execsql("CREATE table " + table_name + "(ID INTEGER PRIMARY KEY, name TEXT)"); } @OverrIDe public voID onUpgrade(sqliteDatabase db, int oldVersion, int newVersion) { Log.w(TAG, "Upgrading database, this will drop tables and recreate."); //db.execsql("DROP table IF EXISTS " + table_name); //onCreate(db); }
}
提前致谢,
解决方法:
这里有一个关于如何从模拟器中删除数据库文件的非常详细的描述(在实际的AndroID手机上调试非常相似).
>运行您的模拟器.如果您遇到问题,那么您可以忽略此帮助信息的其余部分!
>根据您的 *** 作系统,启动命令行界面.
>执行命令:’adb shell'(当然省略引号).这将带你进入AndroID DeBUG BrIDge;你的提示将改为简单的英镑符号.无论您的原始 *** 作系统如何,您现在都处于简化的unix OS中.
>您现在在模拟器中.输入命令’ls -l’以验证您是否在根目录中(您将看到与unix根目录系统非常相似的内容).
>将目录更改为存储数据库文件的位置.假设您运行的程序位于软件包com.sillynames.myprogram5中,并且数据库文件名为“myblackbook.db”.您将在目录中找到该文件:
/data/data/com.sillynames.myprogram5/databases/myblackbook.db
>一旦进入该目录,只需通过’rm myblackbook.db’删除数据库.
希望这可以帮助!
斯科特
以上是内存溢出为你收集整理的android – 创建数据库后没有调用oncreate!全部内容,希望文章能够帮你解决android – 创建数据库后没有调用oncreate!所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)