カメラアプリケーションで撮影したばかりの画像のファイルパスをアプリケーションのSQLiteデータベースに保存する具体的な例は見つかりませんでした。画像ファイルのパスをsqliteデータベースに保存する
私はHTMLソースから画像を保存するコードを見ました...いいえ!私の問題は、私はURIを持っているが、正直なところ、私は利用可能なデータ(devガイド、スタックオーバーフローの質問)私のデータベースの列にそのファイルパスを挿入する方法を見つけることができません。
私のコードでは、パスをデータベースに保存できるように編集テキストフィールドを設定しようとしています。私はエミュレータでこれを試しました:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == TAKE_PHOTO_CODE && resultCode == RESULT_OK) {
Bitmap x = (Bitmap) data.getExtras().get("data");
File storagePath = new File(Environment.getExternalStorageDirectory() +
"/DCIM/GPAA/");
storagePath.mkdirs();
File myImage = new File(storagePath,
System.currentTimeMillis() + ".jpg");
try {
FileOutputStream out = new FileOutputStream(myImage);
x.compress(Bitmap.CompressFormat.JPEG, 80, out);
Uri outputFileUri = Uri.fromFile(myImage);
mnotesText = (EditText)findViewById(R.id.notes);
mnotesText.setText (outputFileUri.toString());
((ImageView)findViewById(R.id.photoResultView)).setImageBitmap(x);
out.close();
Toast.makeText(Review.this,
"Image saved: " + outputFileUri.toString(),
Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
} catch (IOException e){
}
}
}
このコードでは、トーストは文字列が利用可能で正しいことを確認します。しかし、mnotesText.setText (outputFileUri.toString());
のエントリはエミュレータで動作します。しかし、不思議なことに、電話ではうまくいきません。
:このようなイメージのパスをデコードする
BitmapFactory
を使用してください。あなたがより良い答えを待っていたいならば、それを受け入れないでください。 (ここでは何千もの質問が解決されているが、タイトルには「SOLVED」がほとんどないことに注意してください)。 –