2012-04-27 68 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

相關問題