GettingSignals

[Android]アプリケーションのキャッシュに保存する

2012年12月7日
Posted by hina

アプリで取得したデータを永続的にキャッシュしておきたい場合には、
アプリケーションのキャッシュに保存しておきましょう。

Context.openFileInput()

http://developer.android.com/reference/android/content/Context.html#openFileInput(java.lang.String)

使い方1:データ読み出し
InputStream in = context.openFileInput(“saveData”);

使い方2:画像読み出し

FileInputStream is = context.openFileInput(dataName);
Bitmap image = BitmapFactory.decodeStream(is);
is.close();

Context.openFileOutput()

http://developer.android.com/reference/android/content/Context.html#openFileOutput(java.lang.String, int)

使い方1:データ保存
FileOutputStream os = context.openFileOutput(“saveData”, Context.MODE_PRIVATE);

int DEFAULT_BUFFER_SIZE = 1024 * 4;
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
int n = 0;
while (-1 != (n = in.read(buffer))) {
os.write(buffer, 0, n);
}
os.close();

使い方2:画像保存

FileOutputStream os = context.openFileOutput(dataName, Context.MODE_PRIVATE);
ret = image.compress(Bitmap.CompressFormat.PNG, 100, os);

os.cloase();

永続的でなく一時的に保存したい場合は、こちらに保存するのもアリです。
Context.getCacheDir()
http://developer.android.com/reference/android/content/Context.html#getCacheDir()

ファイル容量少なくなると、システムがファイル消してしまうので、その点のみ注意。

Share

Comments are currently closed.

Follow

カレンダー

2024年4月
1234567
891011121314
15161718192021
22232425262728
2930