【发布时间】:2014-04-28 06:06:04
【问题描述】:
我是安卓新手。我想初始化一个共享偏好。 我只需要一个自动增量ID。我搜索了许多共同的偏好,但我无法理解他们的解释。
我只是想要一个简单的数字初始化。
例如,
key = RemID and initial value of that key is 0.
我只想在第一次初始化它,而不是在每次启动我的应用程序时进行初始化
我将使用该值并递增并将其存储回来。
请分享一些想法。
【问题讨论】:
我是安卓新手。我想初始化一个共享偏好。 我只需要一个自动增量ID。我搜索了许多共同的偏好,但我无法理解他们的解释。
我只是想要一个简单的数字初始化。
例如,
key = RemID and initial value of that key is 0.
我只想在第一次初始化它,而不是在每次启动我的应用程序时进行初始化
我将使用该值并递增并将其存储回来。
请分享一些想法。
【问题讨论】:
我建议使用SharedPreferences 的get* 方法的默认值参数。
例如:
SharedPreferences prefs = context.getSharedPreferences("counters",
Context.MODE_PRIVATE);
// increment a counter
int counter = prefs.getInt("counter", 0); // Using '0' for the default value
prefs.edit().putInt("counter", counter+1).apply();
【讨论】:
onCreate 中的一个字段。如果它不存在,它会创建一个名为“counters”的共享首选项文件 - 如果存在,它会加载首选项。
试试这个
int sharedPrefValue;
然后在onCreate方法中,
sharedPrefValue=PreferenceManager.getDefaultSharedPreferences(this).getInt("sharedPrefValue", 0);
然后,
sharedPrefValue++;
PreferenceManager.getDefaultSharedPreferences(this).edit().putInt("sharedPrefValue", sharedPrefValue).commit();
【讨论】:
您好,以下内容可能对您有所帮助
private void setShared() {
SharedPreferences records = getSharedPreferences(
LoginActivity.USER_RECORD, 0);
SharedPreferences.Editor prefEditor = records.edit();
int count = nImageUrl.size();
for (int i = 0; i < count; i++) {
prefEditor.putInt(ID + savedPhotosCount, Singleton.instanse.getCustomerID(mCustomerIndex));
prefEditor.putString(FILE_PATH + savedPhotosCount, nImageUrl.get(i));
prefEditor.putString(DESCRIPTION + savedPhotosCount, captionText.get(i));
savedPhotosCount++;
prefEditor.putInt(SAVED_PHOTOS_COUNT, savedPhotosCount);
}
prefEditor.commit();
}
首先声明变量
int savedPhotosCount = 0;
每次增加 id。
【讨论】: