我有一个名为 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/