Android/データ永続/SharedPreference
提供: 初心者エンジニアの簡易メモ
- AndroidHelloworld1Activity.java
import android.content.SharedPreferences; import android.view.View; import android.view.View.OnClickListener; import android.widget.EditText; import android.widget.Button; public class AndroidHelloworld1Activity extends Activity implements OnClickListener { private static final String PREF_KEY = "preferenceTest"; private static final String KEY_TEXT = "text"; SharedPreferences pref; SharedPreferences.Editor editor; EditText mEditText; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // SharedPrefernces の取得 pref = getSharedPreferences(PREF_KEY, Activity.MODE_PRIVATE); mEditText = (EditText) findViewById(R.id.EditText1); Button button; button = (Button) findViewById(R.id.Button1); button.setOnClickListener(this); TextView textView; textView = (TextView) findViewById(R.id.TextView1); // SharedPreferences よりデータを取得 textView.setText(pref.getString(KEY_TEXT, "No Data")); } public void onClick(View v) { if (v.getId() == R.id.Button1) { // Editor の設定 editor = pref.edit(); // Editor に値を代入 editor.putString( KEY_TEXT, mEditText.getText().toString() ); // データの保存 editor.commit(); } } }
- res/layout/main.xml
<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/TextView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <Button android:id="@+id/Button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> <EditText android:id="@+id/EditText1" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" /> </LinearLayout>