私は Transfuse ( http://androidtransfuse.org/ ) で遊んでいて、現在はSharedPreferences
. ドキュメントでは、これは非常に簡単に見えます。
@Activity
public class Example{
@Inject @Preference(value = "favorite_color", default = "green")
String favColor;
}
ただし、私が理解しているように、SharedPreferences
キーだけでなく名前で取得されます。SharedPreferences
では、アクセスしようとしているファイルの名前を Transfuse はどのようにして知るのでしょうか?
私はこのようなことを無駄にしようとしました:
@Activity
public class MainActivity{
public static final String PREF_NAME = "pref_name";
@Inject
android.app.Activity mActivity;
@Inject @Preference(value = PREF_NAME, defaultValue = "")
String mPreference;
@Inject @View(R.id.preference)
EditText mPreferenceEditText;
@RegisterListener(R.id.button_2)
android.view.View.OnClickListener mSavePrefListener = new android.view.View.OnClickListener() {
@Override
public void onClick(android.view.View v) {
String val = mPreferenceEditText.getText().toString();
mActivity.getSharedPreferences("the_shared_prefs", Context.MODE_PRIVATE)
.edit()
.putString(PREF_NAME, val)
.apply();
}
};
@OnResume
private void displayPrefText(){
mPreferenceEditText.setText(mPreference);
}
}
ご協力いただきありがとうございます!