2012-04-27 71 views
2

如何在应用程序的变化做出持续存在,因此,当应用程序将重新启动的设置都保持相同(例如,如果从应用程序我有选择的振动那么当应用程序没有运行,如果我的手机铃声模式时,应用程序将重新启动其自身设置振动)?用户设置 - Android电子

回答

7

实际上,有多种方式可以持续的变化。 Android documentation更详细地涵盖了所有这些,但基本上这些是五种方式。最容易的可能是SharedPreferences

Shared Preferences

店专用的键值对原始数据。

Internal Storage

Store上设备内存的私有数据。

External Storage

存储在共享外部存储公共数据。

SQLite Databases

存放在私有数据库结构化数据。

Network Connection

用自己的网络服务器在网络上存储数据。

+0

谢谢你的工作 – sidG 2012-04-27 10:24:48

1

使用SharedPreferences。您可以放置​​键值对并在需要时进行检索。

+0

这样做,谢谢 – sidG 2012-04-27 10:24:25

1

您需要在数据库中存储这些设置。关于如何使用这个看Using Databases

+0

如何存放一个触发检查事件就像当我检查按钮打开振动返回到应用程序vibrtion应该积极 – sidG 2012-04-27 09:36:43

+0

请参阅Waynn Lue的关于不同方式的评论,但你可以将它存储为布尔型或作为一个整型(即。 0关闭,1打开)。共享首选项可能是最简单的解决方案。结帐这个答案如何与共享偏好工作 - [链接](http://stackoverflow.com/a/10346735/1355591) – ASceresini 2012-04-27 09:43:18

1

使用SharedPreferences

保存设置:

SharedPreferences prefs = getSharedPreferences("myprefs",Context.MODE_PRIVATE); 
SharedPreferences.Editor editor = prefs.edit(); 
editor.putString("email", "[email protected]"); 
editor.putString("name", "Albert"); 
editor.commit(); 

检索它们:

SharedPreferences prefs = getSharedPreferences("myprefs",Context.MODE_PRIVATE); 
String email = prefs.getString("email", "[email protected]"); 
+0

我有一个切换按钮,如果选中的振动模式开启装置。现在出应用程序我打开t铃声模式,当我回到我打电话时得到字符串是给Nullpointer异常 – sidG 2012-04-27 09:35:02

+0

谢谢..很多引用错误..它的工作 – sidG 2012-04-27 10:23:58

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); 
+0

谢谢你的工作 – sidG 2012-04-27 10:24:54

相关问题