× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 |
プリファレンス
「キー”と”値”でデータを保存する」 DDMSでチェックできる。/data/data/パッケージ名/shared_prefsに格納されている。 ファイルの形式は.xml プリファレンスの処理 プリファレンスオブジェクトの取得 SharedPreferences preference = getSharedPreference(ファイルネーム,処理モード); 第1引数 ファイルネーム…処理を行いたいファイル名を書く(ファイルがないときは作成するファイル名)←確認中 第2引数 処理モード(以下のいずれかの定数をいれる) MODE_PRIVATE 他のアプリケーションからアクセス不可 MODE_WORLD_READABLE 他のアプリケーションからの読み込みは可能 MODE_WORLD_WRITABLE 他のアプリケーションからの書き込みは可能 データを編集する、編集用オブジェクトの取得 SharedPeferences.Editor editor = peference.edit(); データ書き込み editor.putString(キー,値); データの指定削除 editor.remove(キー); プリファレンスファイルのデータを全て削除 editor.clear(); 編集後、実行した内容をプリファレンスファイルに反映させる editor.commit(); データの取得 String str = preference.getString(キー,"not found"); 第1引数は取得したいデータのキー 第2引数はデータが取得できなかった場合に使用する値("みつかりません"とか) サンプルプログラム writeButton------>書き込み処理用のボタンのコールバックメソッド。 displayButton------>表示用ボタンのコールバックメソッド。 removeButton------>選択削除ボタンのコールバックメソッド。 deleteButton------->全件削除ボタンのコールバックメソッド。 プリファレンス以外の処理について displayButton以外のボタンは押下されるとダイアログを表示。”はい”を選ぶとその後の処理に進む。 deleteButtonのみダイアログで”はい”を選んだ後最終確認としてもう一度ダイアログを表示させている。 public class MainActivity extends Activity { private EditText imputId; private EditText imputName; private TextView displayView; private String Id; private String Name; private String data; private SharedPreferences preference; private SharedPreferences.Editor editor; private AlertDialog.Builder innerAb; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); displayView = (TextView)findViewById(R.id.displayview); imputId = (EditText)findViewById(R.id.imputId); imputName = (EditText)findViewById(R.id.imputName); preference = getSharedPreferences("MEMBER_FILE", MODE_PRIVATE); } public void writeButton(View v){ AlertDialog.Builder ab = new AlertDialog.Builder(this); ab.setTitle("登録処理"); ab.setMessage("プリファレンスに登録します"); ab.setPositiveButton("はい", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Id = imputId.getText().toString(); Name = imputName.getText().toString(); editor = preference.edit(); editor.putString(Id, Name); editor.commit(); Toast.makeText(getApplicationContext(), "登録しました", Toast.LENGTH_LONG).show(); } }); ab.setNegativeButton("いいえ", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }); ab.show(); } public void displayButton(View v){ data = preference.getString(imputId.getText().toString(), "登録されていません"); displayView.setText(data); } public void removeButton(View v) { Id = imputId.getText().toString(); AlertDialog.Builder ab = new AlertDialog.Builder(MainActivity.this); ab.setTitle("指定削除"); ab.setMessage("ID"+Id+"のデータを消去しますか?"); ab.setPositiveButton("はい",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { editor = preference.edit(); editor.remove(Id); editor.commit(); } }); ab.setNegativeButton("いいえ", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); ab.show(); } public void deleteButton(View v){ AlertDialog.Builder ab = new AlertDialog.Builder(MainActivity.this); ab.setTitle("全件消去"); ab.setMessage("登録データを全件消去しますか?"); ab.setPositiveButton("はい", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { innerAb = new AlertDialog.Builder(MainActivity.this); innerAb.setTitle("最終確認!"); innerAb.setMessage("本当に登録データを全件消去しますか?"); innerAb.setPositiveButton("はい", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { editor = preference.edit(); editor.clear(); editor.commit(); } }); innerAb.setNegativeButton("いいえ", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); innerAb.show(); } }); ab.setNegativeButton("いいえ",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); ab.show(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } } PR |
|
忍者ブログ [PR] |