-1

对于我的应用程序,我需要一个数据库,其中包含一个包含 4 列的表。此表及其参数在创建后将是静态的,因此它们将与要在列表视图中列出的相同数据保持在同一位置。

我为此目的使用了 DatabaseHandler,但我要问的是如何在代码中定义这个数据库?它是每次发布都重新构建还是仅在第一次发布时构建?它是如何工作的?

4

2 回答 2

2

有很多方法可以做到这一点。我遵循的是我将在启动活动中创建数据库和表。然后我将通过计算表中的记录数来插入数据(仅适用于静态表)。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.
                 }
于 2012-11-05T16:22:41.040 回答
0

您可以使用数据库管理器手动创建数据库。在资产文件夹中定义数据库后,它将保留在那里并在构建时压缩在 apk 文件中。试试 SQLiteManager,它有一个免费试用版,可以让你设计你的数据库。或者在这里使用 firefox 插件:https ://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/

于 2012-11-05T16:20:30.103 回答