如何在应用程序中进行更改,以便在应用程序重新启动时所有设置保持不变(例如,如果从应用程序中我选择了振动,那么当应用程序未运行时,如果我的手机在应用程序重新启动时处于振铃模式,它将自身设置为振动)?
问问题
1698 次
5 回答
7
实际上有多种方法可以持久化更改。Android 文档更详细地介绍了所有这些方法,但本质上是这五种方法。最简单的是SharedPreferences
,可能。
Shared Preferences
将私有原始数据存储在键值对中。
Internal Storage
将私有数据存储在设备内存中。
External Storage
将公共数据存储在共享的外部存储上。
SQLite Databases
将结构化数据存储在私有数据库中。
Network Connection
使用您自己的网络服务器将数据存储在网络上。
于 2012-04-27T07:58:21.327 回答
1
使用共享首选项。您可以放置键值对并在需要时检索。
于 2012-04-27T07:54:23.400 回答
1
您需要将这些设置存储在数据库中。关于如何使用它,请参阅使用数据库
于 2012-04-27T07:54:37.193 回答
1
使用 SharedPreferences
保存您的设置:
SharedPreferences prefs = getSharedPreferences("myprefs",Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("email", "my_email@email.com");
editor.putString("name", "Albert");
editor.commit();
检索它们:
SharedPreferences prefs = getSharedPreferences("myprefs",Context.MODE_PRIVATE);
String email = prefs.getString("email", "default@email.com");
于 2012-04-27T08:01:06.663 回答
1
您可以做的是创建一个 PreferenceActivity ,例如:
public class Prefs extends PreferenceActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preference);
}
}
在 res/xml 文件夹中添加带有此内容的preference.xml:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<PreferenceCategory android:title="General" >
<CheckBoxPreference
android:key="notification"
android:summaryOff="You will not receive any notification"
android:summaryOn="Notifications are sent to your device"
android:title="Get notification" />
</PreferenceCategory>
</PreferenceScreen>
在您的代码中,您现在可以执行以下操作:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
Boolean sendNotification = prefs.getBoolean("notification", false);
于 2012-04-27T08:13:27.127 回答