Android 数据库处理程序保留变量

标签 android database sqlite

我有一个名为 DatabaseHandler 的类,它基本上处理联系人数据库。当我打开 Android 模拟器时,我可以添加和删除联系人。然后,当我关闭模拟器并重新打开它时,它会保留联系人,因此数据库会存储联系人。

我的问题是这样的。我的联系人类中有一个变量,如下所示:

public static int totalContacts = 0;

此变量跟踪数据库中的联系人总数,因此当我添加联系人时,它会增加,反之亦然。但是,当我关闭模拟器并重新打开它时,数据库仍然有 4 个联系人,但 totalContacts 变量显然仍为 0。

有没有办法让totalContacts等于数据库中的联系人数量,以便记住

感谢您的宝贵时间。

最佳答案

是的。当您知道正确的联系人数量后,可以将其存储在 SharedPreferences 中。

Android 文档中对所有内容都有很好的解释:http://developer.android.com/guide/topics/data/data-storage.html

基本上,当你想保存该值时,你可以这样写:

SharedPreferences settings = getSharedPreferences("NAME_OF_YOUR_CHOICE", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("numContacts", numContacts);

editor.commit(); // Save the changes

当你想加载它时:

SharedPreferences settings = getSharedPreferences("NAME_OF_YOUR_CHOICE", 0);
int numContacts = settings.getInt("numContacts", -1); // if there's no variable in SharedPreferences with name "numContacts", it will have -1 value

关于Android 数据库处理程序保留变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19108932/

相关文章:

android - 在android中调用bpel进程

具有两个入口点的 Android 应用程序。如何知道用户在应用程序对象的 onCreate() 上单击了哪个

MySQL连接: why is this returning a row?

javascript - Sequelize 模型方法 "this"问题

javascript - Flask 中的链式下拉列表,从 sqlite 数据库中获取数据

android - 从一个 Android 应用程序向另一个应用程序发送广播

android - Paypal 应用程序内购买可以包含在免费应用程序中吗?

c++ - mysql 连接器/C++ 手册

android - 主动android选择查询

android - 无法从 CursorWindow 读取行