0

已经离开 Android 一年多了,试图重新开始使用它,但对有一个简单的默认偏好感到困惑。

我的应用程序严重依赖 SQLite3 数据库,它有数百个表。启动活动必须在启动时构建和加载大量数据。

我只需要一种简单的方法来从首选项文件中读取两个字符串。问题是我想要在应用程序第一次打开时拥有两个默认字符串值。

如果用户更改,我将保存回它。

一直在阅读两本书,SharedPreferences,文件 I/O 等,只是所有的例子对于我需要的东西来说似乎有点复杂。

所以,如果我创建一个 res/pref/preferences.xml 我所看到的都是 PreferenceScreens 作为根元素

对于我的需要,我想我只需要一个根偏好,例如:

<?xml version="1.0" encoding="utf-8"?>
<Preference
 xmlns:android="http://schemas.android.com/apk/res/android">
</Preference>

如何添加两个简单的字符串键/值对,我会在第一次启动时读取它们,并且仅在需要时写入?

任何帮助表示赞赏,对不起noob'iness

4

1 回答 1

2

我认为您将需要做的事情复杂化了,共享首选项非常适合这种情况,并且易于实施。只需在应用程序启动时检查 onCreate() :)

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

//"Hello World" is the name of your preferences
SharedPreferences settings = getSharedPreferences("HelloWorld", 0);

//to get a value from pref - (NAME_OF_PREF,RETURN_IF_NOT_FOUND)
boolean enteredDetails = settings.getBoolean("details", false);
string foo = settings.getString("foo_name","no name");

//to write to them - (NAME_OF_PREF,VALUE)
SharedPreferences.Editor editor = settings.edit();
editor.putString("foo_name", "Joe Bloggs");
editor.putBoolean("details", true);
editor.commit();
}
于 2011-07-28T15:37:13.233 回答