我正在构建一个包含两个使用SQLiteOpenHelper
内部创建的表的数据库的应用程序。当应用程序运行时,它会接收一些数据并将其保存到表中。我想要的是清除数据应用程序启动时的表格?
我查看了这篇文章How can I clear an SQLite database each time I start my application?,其中不清楚如何使用应用程序。
答案 0 :(得分:2)
null
name
,SQLiteOpenHelper可以创建内存中数据库。可能这就是你要找的东西。
例如:
SQLiteOpenHelper sqloh = new SQLiteOpenHelper(context, null, null, 1);
SQLiteDatabase sqldb = sqloh.getWritableDatabase();
将创建一个内存中的数据库。
答案 1 :(得分:1)
SqliteDatabase使用openOrCreate(...)方法打开数据库(如果存在),并在数据库不存在时打开它。请参阅docs,您可以删除在执行任何数据库调用之前创建的数据库文件,以便每次都创建一个新文件。
这个SO问题给出了文件的位置:Location of sqlite database on the device
其他路由只是在应用程序启动时通过执行sqlite查询来删除表中的数据:
DELETE FROM your_table
我唯一的想法是,如果您要在每次应用程序启动时删除它,您真的需要一个数据库。如果您没有更新数据,那么为什么不只是“缓存”带有数据的json文件。 GSON库非常适合使用json并使用非常少的代码将其转换为java对象,与使用sqlite相比,代码更少。但是这个建议来自于没有全面了解你想要完成的事情。然后,您只需在应用程序启动时删除json文件而不是db文件。