对于我的应用程序,我需要一个数据库,其中包含一个包含 4 列的表。此表及其参数在创建后将是静态的,因此它们将与要在列表视图中列出的相同数据保持在同一位置。
我为此目的使用了 DatabaseHandler,但我要问的是如何在代码中定义这个数据库?它是每次发布都重新构建还是仅在第一次发布时构建?它是如何工作的?
有很多方法可以做到这一点。我遵循的是我将在启动活动中创建数据库和表。然后我将通过计算表中的记录数来插入数据(仅适用于静态表)。if(number of records == 0)
然后将数据插入数据库。否则为您的应用程序编写代码。它应该工作。
编辑
这是获取数据库中记录总数的代码
在数据库类中
你的数据库
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.
}
您可以使用数据库管理器手动创建数据库。在资产文件夹中定义数据库后,它将保留在那里并在构建时压缩在 apk 文件中。试试 SQLiteManager,它有一个免费试用版,可以让你设计你的数据库。或者在这里使用 firefox 插件:https ://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/