我有一个静态键/值对的列表,我需要包含在我的项目中,如下所示:
givenName : First Name
sn : Last Name
mail : Email
... snip ...
我会把Android项目放在哪里?
由于 埃里克
答案 0 :(得分:2)
Android提供了一个名为SharedPreferences
的预构建内容提供程序包装器,专门用于在键值对中存储基元。
SharedPreferences mySharedPrefs = PreferenceManager
.getDefaultSharedPreferences(getApplication());
mySharedPrefs.edit().putString(key, value).commit();
其中getApplication()
仅用作获取应用程序上下文的方法。要重新获得价值
SharedPreferences mySharedPrefs = PreferenceManager
.getDefaultSharedPreferences(context);
String value = mySharedPrefs.getString(key, null);
这将返回带有键key
的存储字符串,如果该键没有存储任何内容,则返回null
。
答案 1 :(得分:1)
您需要在res/values/strings.xml
保存的XML文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="givenName">First Name</string>
<string name="sn">Last Name</string>
<string name="mail">Email</string>
</resources>
以下是如何访问其他xmls的值:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/givenName" />
或者这是您可以从Java代码访问值的方法:
String string = getString(R.string.givenName);
Log.d("Test", string); // Outputs "First Name" to LogCat console.
检查this Android Dev Guide以获取有关字符串资源的完整参考。
答案 2 :(得分:1)
如果你真的必须使用static / globals将它们放入扩展Application的自定义类中。像这样:
public classYourApplication extends Application {
protected Bar myBar;
public Bar getBar() { return myBar; }
public void setBar(Bar bar) { myBar = bar; }
...
}
声明您将使用清单使用自定义Application类。
<application
android:icon="@drawable/ic_launcher_noteit1"
android:label="@string/app_name"
android:theme="@style/App_Theme"
android:name="YourApplication"
android:debuggable="true">
现在,您可以使用(YourApplication)getApplication()从任何活动访问您的应用程序对象。请注意,这不是推荐的方法。推荐的方法是使用单例模式。 (从我的一个问题答案中回答)