对于我的应用程序,我需要一个包含一个包含4列的表的数据库。这些表及其参数在创建后将是静态的,因此它们将保持在相同的位置,并且列表视图中将列出相同的数据。
我有这个目的的DatabaseHandler,但我问的是如何在代码中定义这个数据库?它是在每次发布时再次构建还是仅在首次发布时才构建?它是如何工作的?
答案 0 :(得分:2)
有很多方法可以做到这一点。我要遵循的是我将在启动活动中创建数据库和表。然后我将通过计算表中的记录数来插入数据(仅适用于静态表)。然后if(number of records == 0)
然后将数据插入数据库。否则为您的应用程序执行代码。它应该工作。
修改强>
这是获取数据库中记录总数的代码
在数据库类
中<强> YourDatabase 强>
public class YourDatabase extends SQLiteOpenHelper{
//coding for table create and insert records goes here
//Your tables total number of records can be identified by following code
public long yourTableCount()
{
SQLiteDatabase db = getReadableDatabase();
return DatabaseUtils.queryNumEntries(db, YOURTABLE_NAME);
}
}
您的活动
从您的活动中调用数据库类
YourDatabase db = new YourDatabase(this);
long numberofrecords = db.yourTableCount();
if(numberofrecords == 0)
{
//Insert your data in to database
//This will happen only in first launch because after that the numberofrecords == total number of records inserted in the database.
}
答案 1 :(得分:0)
您可以使用数据库管理器手动创建数据库。一旦在资源文件夹中定义了数据库,它将保留在那里并在构建时在apk文件中进行压缩。试试SQLiteManager,它有一个免费试用版,可以让你设计数据库。或者在这里使用firefox插件:https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/