Androidの5つのデータストア方式
2037 ワード
1.SharedPreference:キーで形式に簡単なプライベートデータを保存する
JavaのPropertiesのように保存されているのもkey=valueです。xmlドキュメント形式で保存されています。
パス:/data/data/[your package name]/sharred_prefs/
(1)内部記憶
3.SQLiteデータベース:構造化されたデータを私有のデータベースに保存する
4.ネットワークストア:データをネットワーク上で開発者自身のサーバーに保存する
5.XML記憶:XMLファイルでデータを格納する
ファイル保存の形式にも相当します。
JavaのPropertiesのように保存されているのもkey=valueです。xmlドキュメント形式で保存されています。
// SharedPreferences
shared = getSharedPreferences( , );
//
Context.MODE_APPEDN( )
Context.MODE_PRIVATE( )
Context.MODE_WORLD_READABLE( )
Context.MODE_WORLD_WRITEABLE( )
// Editor
editor = share.edit();
editor.putXXX(key, value);
// ,
editor.commit();
ファイルを表示します。window->preference->show View->file Explorerパス:/data/data/[your package name]/sharred_prefs/
//
shared.getXXX(key, );
shared.getAll();// Map
StringBuffer sb = new StringBuffer();
sb.append("name = ")
.append(shared.getString("name", null)
.append("\r
")
.append("password = ")
.append(shared.getString("password", null);
editText.setText(sb);
2.ファイル格納:ファイル形式でデータを保存し、内部に保存する——プライベートデータを保存し、外部に保存する——共有データを保存する(1)内部記憶
os = openFileOutput( , );
is = opFileInput( );
// :/data/data/your package mame/files/
//
File dir = Context.getFilesDir();
File file = dir + “//” + FILE_NAME;
// 。
// , 。
(2)外部(SDカード)メモリ// SDCard file explorer ./mnt/sdcard/
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
// SDCard
String filePath = Environment.getExternalStorageDirectory() + File.separator + "b103" + File.separator + "test.txt";
}
設定ファイルにパーミッションを追加
他の操作は通常のJAVAのIO操作と変わりません。3.SQLiteデータベース:構造化されたデータを私有のデータベースに保存する
4.ネットワークストア:データをネットワーク上で開発者自身のサーバーに保存する
5.XML記憶:XMLファイルでデータを格納する
ファイル保存の形式にも相当します。