プリファレンスで値をアプリ内に保存する

アプリで変数などの値を保存したいときの手っ取り早い方法は、プリファレンスを利用することです。
ファイル名、キー、値、の3つ組み合わせで、データを保存・読み込みできます。
 
—読み込み—

SharedPreferences pref = this.getSharedPreferences("○○○(プリファレンスのファイル名)", Context.MODE_PRIVATE);

//保存されている値を読み出す
boolean hoge = pref.getBoolean("○○○(キー)", false(そのキーで保存された値が存在しない場合のデフォルト値));

 
—保存—

//Editorオブジェクト
Editor editor = pref.edit();

//キーと保存したい値
editor.putBoolean("○○○(キー)", true);

//保存
editor.commit();

 
上記の例では、boolean型を取得・保存していますが、他の型でも同じように処理することができます。

いよいよ

明日は『Golden Age vol.1』の開催日です……!

なにとぞ皆様よろしくお願いしますm(__)m

前売りチケットなどございませんので、気になる方はぜひ飛び入りで気軽にご来場ください。

イベント詳細はこちら

http://gucci1208.com/goldenagevol1-214.html

 

それと、残念なお知らせが。

参加者のひとりである工藤ちゃんがインフルエンザにかかってしまい、出演できなくなりました。

彼女目当てだった人も多いでしょうが、なにより体調の方が大事なので、ご了承ください。

紅一点の彼女が抜けると非常にむさくるしい(笑)イベントになってしまいますが、その分「熱い」イベントにしたいと思っています!!

撮影された画像の撮影日時を取得するメソッド

public static String getImageDateInDiary(String path) {
	String result = "";

	try {
		ExifInterface exifInterface = new ExifInterface(path);
		result = exifInterface.getAttribute(ExifInterface.TAG_DATETIME);
	} catch (IOException e) {
		e.printStackTrace();
		result = "日時不明";
	}

	if (result != null) {
		result = result.substring(0, 4) + "/" + result.substring(5, 7)
				+ "/" + result.substring(8, 10) + " "
				+ result.substring(11, 13) + ":" + result.substring(14, 16);
	} else {
		result = "日時不明";
	}

	return result;
}

撮影された画像の傾きを返すメソッド

private static int GetImageOrientation(Context context, Uri uri) {
	ContentResolver contentResolver = context.getContentResolver();
	String[] columns = { MediaStore.Images.Media.DATA };
	Cursor cursor = contentResolver.query(uri, columns, null, null, null);
	cursor.moveToFirst();
	String path = cursor.getString(0);
	cursor.close();

	int degree = 0;
	ExifInterface exifInterface = null;
	try {
		exifInterface = new ExifInterface(path);
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	int orientation = exifInterface
			.getAttributeInt(ExifInterface.TAG_ORIENTATION,
					ExifInterface.ORIENTATION_NORMAL);
	switch (orientation) {
	case ExifInterface.ORIENTATION_ROTATE_90:
		degree = 90;
		break;
	case ExifInterface.ORIENTATION_ROTATE_180:
		degree = 180;
		break;
	case ExifInterface.ORIENTATION_ROTATE_270:
		degree = 270;
		break;
	default:
		break;
	}
	return degree;
}

File型のパスをUri型のパスに変換するメソッド

File image_file = new File(path);
final Uri image_uri = Uri.fromFile(image_file);

private static Uri fileUri2contentUri(Context context, Uri srcUri) {
	Uri uri = null;
	Uri baseUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
	String[] proj = { BaseColumns._ID };
	String sel = MediaStore.Images.ImageColumns.DATA + " LIKE ?";
	String[] selArgs = new String[] { srcUri.getPath() };
	ContentResolver cr = context.getContentResolver();
	try {
		Cursor cur = cr.query(baseUri, proj, sel, selArgs, null);
		cur.moveToFirst();
		int cidx = cur.getColumnIndex(proj[0]);
		long id = cur.getLong(cidx);
		cur.close();
		uri = Uri.parse(baseUri.toString() + "/" + id);
	} catch (Exception e) {
		Log.v("fileUri2contentUri", "file://からcontent://形式変換中にエラー", e);
	}
	return uri;
}
Top