アプリの変更を維持して、アプリの再起動時にすべての設定が同じになるようにする方法 (アプリからバイブレーションを選択した場合、アプリが実行されていない場合、アプリの再起動時に携帯電話が着信音モードの場合、バイブレーションに設定されます)?
5 に答える
変更を永続化するには、実際には複数の方法があります。Androidのドキュメントでは、これらすべてについて詳しく説明していますが、基本的にはこれら 5 つの方法があります。最も簡単なのはSharedPreferences
、おそらくです。
Shared Preferences
プライベート プリミティブ データをキーと値のペアで保存します。
Internal Storage
プライベート データをデバイス メモリに保存します。
External Storage
公開データを共有外部ストレージに保存します。
SQLite Databases
構造化データをプライベート データベースに保存します。
Network Connection
独自のネットワーク サーバーを使用して Web 上にデータを保存します。
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");
SharedPreferences を使用します。キーと値のペアを入れて、必要に応じて取得できます。
これらの設定をデータベース内に保存する必要があります。これを使用する方法については、データベースの使用を参照してください。
あなたができることは、次のような 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);