忍者ブログ
  • 2024.10«
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • » 2024.12
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2024/11/21 22:48 】 |
プリファレンス
プリファレンス
「キー”と”値”でデータを保存する」
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
【2013/03/02 18:33 】 | Android | 有り難いご意見(0)
<<プロジェクトをインポートして使う時の注意点。 | ホーム | Intentその1 送るだけ>>
有り難いご意見
貴重なご意見の投稿















前ページ | ホーム | 次ページ

忍者ブログ [PR]