在我的应用程序中实现sharedPreferences

时间:2013-06-22 02:34:40

标签: android sharedpreferences

我正在为新闻制作一个Android应用程序。 我想做一个允许某人喜欢新闻或评论的选项,之后,如果有人试图通过同一部手机进行,应用程序不应该允许。

我知道这应该由 sharedpreferences 来完成,但我不知道如何存储用户喜欢的多个新闻ID以及之后如何检查有人想要的新闻ID是否已经保存在共享偏好中。

任何帮助都会受到赞赏。

抱歉我的英语不好。

2 个答案:

答案 0 :(得分:0)

我不确定我的语法是否正确

// Retrieve and hold the contents of the preferences file 'name'
SharedPreferences sp = getSharedPreferences(String name , int mode) 

SharedPreferences.Editor spEdit = sp.edit();

// key is ID
spEdit.putInt (String key, int value)


// don't forget
spEdit.commit();

答案 1 :(得分:0)

这样做的一种方法是在SharedPreferences中存储已注释的news id并检查它。

可以使用getSharedPreferences()方法获取应用程序共享首选项...

SharedPreferences prefs = getApplicationContext().getSharedPreferences(
                                                   "PrefsFile", MODE_PRIVATE);

我们需要SharedPreferences.Editor来修改sharedpreference值...

SharedPreferences.Editor editor = prefs.edit()

Android ShredPreferences DOCS将帮助您更好地理解。

对于您的情况,如前所述,您可以使用存储news id并每次检查它以进行验证。 (不确定这是否是最佳方式,但它是指向正确方向的开始。)

您可以像这样存储news id ...

SharedPreferences prefs = getApplicationContext().getSharedPreferences(
                                                   "PrefsFile", MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt("newsId", 108); // 108 is the news id and "newsId" is the variable name
editor.commit();

你可以这样读回来......

int newsId = 0;
// check if the value exists in sharedpreferences
if(prefs.contains("newsId")) {
    newsId = prefs.getInt("newsId", 0);
}

// do your stuff!

希望这有帮助!