0

Androidから1年以上離れており、Androidを再び利用しようとしていますが、単純なデフォルト設定があることについて混乱しています。

私のアプリは、数百のテーブルがあるSQLite3データベースに大きく依存しています。起動アクティビティでは、起動時に大量のデータを作成して読み込む必要があります。

設定ファイルから2つの文字列を読み取る簡単な方法が必要です。重要なのは、アプリケーションを初めて開いたときに、2つのデフォルトの文字列値が必要なことです。

ユーザーが変更した場合は、保存し直します。

SharedPreferences、File I / Oなどの2冊の本を読んでいますが、すべての例が私が必要としているものに対して少し複雑に見えるだけです。

したがって、res / pref / Preferences.xmlを作成すると、ルート要素としてのPreferenceScreensだけが表示されます。

私のニーズには、次のようなルート設定が必要だと思います。

<?xml version="1.0" encoding="utf-8"?>
<Preference
 xmlns:android="http://schemas.android.com/apk/res/android">
</Preference>

最初の起動時に読み取り、必要な場合にのみ書き込む2つの単純な文字列キー/値ペアを追加するにはどうすればよいですか?

助けていただければ幸いです。

4

1 に答える 1

2

あなたはあなたがしなければならないことを複雑にしすぎていると思います。sharedpreferencesはこの状況に最適で、簡単に実装できます。アプリの起動時にonCreate()でチェックインするだけです:)

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

//"Hello World" is the name of your preferences
SharedPreferences settings = getSharedPreferences("HelloWorld", 0);

//to get a value from pref - (NAME_OF_PREF,RETURN_IF_NOT_FOUND)
boolean enteredDetails = settings.getBoolean("details", false);
string foo = settings.getString("foo_name","no name");

//to write to them - (NAME_OF_PREF,VALUE)
SharedPreferences.Editor editor = settings.edit();
editor.putString("foo_name", "Joe Bloggs");
editor.putBoolean("details", true);
editor.commit();
}
于 2011-07-28T15:37:13.233 に答える