My Android Notes (XI) - 環境設定を使って設定を保存する
Androidでは、データを永続化する方法が4つあります。SQLiteデータベース、ファイルストレージ、Preference、ContentProviderです。
4つのメソッドはそれぞれあるものに特化しており、PreferenceはMapのようなキーと値のペアで保存され、ユーザーの個人設定などの情報を保存するのに最適なメソッドである。
xmlファイルで設定した後、専用のPreferenceActivityで表示することで、設定されたxmlを指定することでアクションに基づいてプログラムPreferenceの対応値を自動的に変更するプロフェッショナルな設定インターフェイスを提供します。
<スパン 例えば、resディレクトリにxmlフォルダを作成し、以下の内容でseeting.xmlファイルを新規に作成します。
<?xml version="1.0" encoding="utf-8"? >
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<CheckBoxPreference
android:defaultValue="false"
android:key="boolean_value"
android:summary="Save a boolean value"
android:title="Checkbox" />
<EditTextPreference
android:defaultValue="defaultString"
android:key="string_value"
android:name="EditText"
android:summary="Save a string"
android:title="Edit Text" />
</PreferenceScreen>
checkBoxPreferenceはboolean値、EditTextPreferenceはStringに対応する。
android:keyは識別子であり、必ず
は一意である。
次に、以下の内容でSettingActivity.javaを作成します。
import android.com.ui;
import android.os.Bundle;
import android.preference.PreferenceActivity;
public class SettingActivity extends PreferenceActivity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.setting);
}
}
コード addPreferencesFromResource(R.xml.setting); は、このPreferenceActivityにxmlを割り当て、このインターフェースが開かれたときに、次のような結果になるようにします。
<スパン インターフェイスの設定を変更するたびに、プログラムは自動的に新しい値を保存するために永続化します。
プログラム内の他の場所で設定された値を取得するのも簡単で、上記の "boolean_value" や "string_value" のように、識別子を使用するだけです。
boolean booleanValue = PreferenceManager.getDefaultSharedPreferences(
this).getBoolean("boolean_value", false);
String stringValue = PreferenceManager.getDefaultSharedPreferences(this)
.getString("string_value", "");
即座に利用可能
PreferenceManager.getDefaultSharedPreferences(Context) は、プログラム内のどこでも一意であるグローバルなPreferenceオブジェクトを取得する静的メソッドです。getBooleanおよびgetStringメソッドの第2引数はデフォルト値 getBooleanおよびgetStringメソッドの第2引数はデフォルト値で、これはgetKeyが失敗した場合のデフォルト戻り値です。
----------------------------------------------------------
で書いてダウンロードしたデモ。 http://download.csdn.net/detail/barryhappy/4161548
関連
-
アンドロイドにおけるemsの本当の意味
-
Android ViewPager のエラーです。NULLオブジェクトの参照で仮想メソッドxxxを呼び出そうとした
-
Androidのビューの描画処理を完全に説明し、ビュー(II)を理解するために、ステップバイステップであなたを取る
-
Android マルチメディア MediaPlayerの使用方法詳細
-
AndroidのSMSメッセージ
-
Android Studioの設定 Gradleの概要
-
Android Studio精彩案例(七)《ToolBar使用详解<一>》
-
原因:android.content.res.Resources$NotFoundException。文字列リソースID #0x0
-
AndroidManifestのuses-permissionの設定
-
Android SDKです。sdkmanagerコマンドラインツールの使用(パッケージの表示、インストール、アップデート、アンインストール)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
警告: 構成 'compile' は廃止され、'implementation' と 'api' に置き換わりました。
-
AndroidStudioのコンパイル時のエラーを解決します。構成 ':classpath' のすべてのアーティファクトを解決できませんでした。
-
ProcessBuilderExceptionCreateProcess error=2, ϵͳÕҲ "μ½ָ¶".
-
RecyclerViewです。アダプタが接続されていないため、レイアウトをスキップする
-
Eclipse &プラグインのよくある使用エラーとコンパイルエラー
-
Androidです。ViewPagerで現在のインターフェイスのFragmentを取得する
-
AndroidのRadioButtonの中央寄せ問題(解決済み)
-
Android - Androidに多階層メニュー連携操作を実装。
-
android.content.res.Resources$NotFoundException: 文字列リソースID #0x1エラー
-
Android android-support-multidexを使用すると、Dexがメソッドの制限を超える問題を解決し、アプリケーションがバーストしなくなります。