Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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
Android SQLite数据库生命周期_Android_Database_Eclipse_Sqlite_Lifecycle - Fatal编程技术网

Android SQLite数据库生命周期

Android SQLite数据库生命周期,android,database,eclipse,sqlite,lifecycle,Android,Database,Eclipse,Sqlite,Lifecycle,我不熟悉安卓系统。我想问一下SQLite数据库的生命周期。Basicali,我想在主类中包含insert data方法和viewing data方法(当我们打开应用程序时,Basicali将其称为1st)。然后我将在另一个活动中对数据库进行一些更新。我想问的是,当我下次打开应用程序时,会显示哪些数据?这是我用insert方法插入的第一个数据还是更新的数据?据我所知,您的问题 我的答案是->你应该看到更新的数据,因为整个应用程序的数据库都是一样的。我不太明白你的问题。所以我希望这能回答这个问题。有

我不熟悉安卓系统。我想问一下SQLite数据库的生命周期。Basicali,我想在主类中包含insert data方法和viewing data方法(当我们打开应用程序时,Basicali将其称为1st)。然后我将在另一个活动中对数据库进行一些更新。我想问的是,当我下次打开应用程序时,会显示哪些数据?这是我用insert方法插入的第一个数据还是更新的数据?

据我所知,您的问题


我的答案是->你应该看到更新的数据,因为整个应用程序的数据库都是一样的。

我不太明白你的问题。所以我希望这能回答这个问题。有4个操作,您应该实现:创建、读取、更新、删除。例如,当您有一个带有id、姓名、电话号码的联系人表时,您可以创建(John,012345)。如果您随后调用id为1的read方法,您将得到(John,012345)。但是如果您在阅读之前更新了它,那么您显然会得到更新的项目-当您关闭活动时,数据库没有删除任何内容。我强烈建议你创建一个新类来处理这些crud操作,因为当你想更改更新操作并且必须在应用程序的每一行中搜索时,你会发疯的。我也建议你阅读这个博客。这节省了我很多时间:
将显示的数据是更新的数据,因为SQL操作是即时的。除非遇到任何错误,否则onUpdate()不太可能更新数据库。在运行查询命令后,您可以使用与光标连接的游标加载程序看到它本身。这可以在仅显示数据库内容的活动中完成


对于数据库操作,使用内容提供程序是有益的,因为这样您就可以将应用程序扩展到小部件,与其他应用程序共享数据等。

我可以将insertData()方法放在主类中吗?您必须获取应用程序的上下文才能创建sqliteopenhelper/databasehandler-类。因此,您必须调用如下内容:DatabaseHandler db=newdatabasehandler(this);我现在已经测试过了。您可以将其放入insertdata()方法中。然后只需将“this”替换为“getApplication()”,就可以了:DatabaseHandler db=newdatabasehandler(getApplication());