Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQLite在Android中的使用_Android_Sqlite - Fatal编程技术网

SQLite在Android中的使用

SQLite在Android中的使用,android,sqlite,Android,Sqlite,对于我的应用程序,我需要有一个数据库,其中包含一个表和4列。此表及其参数在创建后将是静态的,因此它们将保留在同一位置,并在列表视图中列出相同的数据 我有用于此目的的DatabaseHandler,但我要问的是如何在代码中定义此数据库?它是在每次发布时重新构建还是仅在第一次发布时构建?它是如何工作的?您可以使用数据库管理器手动创建数据库。一旦在资产文件夹中定义了数据库,它将保留在那里,并在生成时在apk文件中进行压缩。试试SQLItemManager,它有一个免费的试用版,可以让您设计数据库。或者

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


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

您可以使用数据库管理器手动创建数据库。一旦在资产文件夹中定义了数据库,它将保留在那里,并在生成时在apk文件中进行压缩。试试SQLItemManager,它有一个免费的试用版,可以让您设计数据库。或者在这里使用firefox插件:

有很多方法。接下来我将在LaunchActivity中创建数据库和表。然后我将通过计算表中的记录数来插入数据(仅针对静态表)。因此
如果(记录数==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.
                 }

那么以后我如何在代码中定义它呢?您只需引用它并运行几行SQL?是的,一旦创建了数据库,它就作为slqite文件驻留。然后使用sqlite数据库处理程序类。这里有一个很棒的小教程。对不起,我是新来的。你说的记录是什么意思?数据库中的每一行都是一条记录。同样,数据库中的每一列都是一个属性。很抱歉,我想我还没有得到它。在启动活动中,比如启动屏幕,检查记录是否为0,然后插入数据。是否每次都会发生此过程,或者是否有方法保存变量“记录”以备将来启动?@User177285否每次启动活动时只需检查条件即可。第一次启动后,无论何时检查if条件,它都将返回多个。因此,数据不会在每次启动活动时插入。我真的很抱歉,但我没有弄清楚这一点。你介意举个例子吗?我无法理解如何正确配置此条件,它只是在每次启动时运行相同的代码。