保存
SharedPreferences pref = getSharedPreferences("pref",MODE_WORLD_READABLE|MODE_WORLD_WRITEABLE);
Editor e = pref.edit();
e.putString("key", "value");
e.commit();
取得
SharedPreferences pref = getSharedPreferences("pref",MODE_WORLD_READABLE|MODE_WORLD_WRITEABLE);
String str = pref.getString("key", "存在しないときの初期値"));
ぜんぶけす
editor.clear().commit();
getString()、getFloat()、getInt()、getLong()、getBoolean()
Environment.getExternalStorageDirectory()でFileインスタンスを取得でき、getPathメソッドでパスを取得します。
import android.os.Environment; Environment.getExternalStorageDirectory().getPath();[edit]
http://isann.blog2.fc2.com/blog-entry-239.html
setDrawingCacheEnabled(true); cacheb = Bitmap.createBitmap(getDrawingCache()); setDrawingCacheEnabled(false);
ハマッたのは、getDrawingCache()メソッドを動かすと、
このメソッドを動かす直前の端末画面に表示されているものをキャプチャするのでは無く、『onDraw、もう1度動いて、その後の結果がキャプチャされます』って言うこと。
データの保存に関してはmanifestに関しても書き込みを可能に変更します。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
bmp = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888); bmpCanvas = new Canvas(bmp);
public void saveToFile() {
// 保存先の決定
String status = Environment.getExternalStorageState();
File fout;
if (!status.equals(Environment.MEDIA_MOUNTED)) {
fout = Environment.getDataDirectory();
} else {
fout = new File("/sdcard/DrawNoteK/");
fout.mkdirs();
}
Date d = new Date();
String fname = fout.getAbsolutePath() + "/";
fname += String.format("%4d%02d%02d-%02d%02d%02d.png",
(1900+d.getYear()), d.getMonth(), d.getDate(),
d.getHours(), d.getMinutes(), d.getSeconds());
// 画像をファイルに書き込む
try {
FileOutputStream out = new FileOutputStream(fname);
bmp.compress(CompressFormat.PNG, 100, out);
out.flush(); out.close();
} catch(Exception e) {}
}