アクティビティが二つあって、一つのアクティビティで画像をデータベースに保存して
別のアクティビティでデータベースから画像を取得して表示したいのですが、複数の場合の画像の取得方法がわかりません。
こうすればうまくいくのではないのかなど、ご指摘お願いします。
MainActivity
1 ClipData clipData = data.getClipData(); 2 for (int i = 0; i < clipData.getItemCount(); i++) { 3 try { 4 5 ClipData.Item item = clipData.getItemAt(i); 6 7 8 Uri uri = item.getUri(); 9 10 InputStream in = getContentResolver().openInputStream(uri); 11 Bitmap image = BitmapFactory.decodeStream(in); 12 13 14 ByteArrayOutputStream baos = new ByteArrayOutputStream(); 15 image.compress(Bitmap.CompressFormat.JPEG, 100, baos); 16 17 byte[] bytes1 = baos.toByteArray(); 18 19 20 Gazou gazou = new Gazou(getApplicationContext(), null, 1); 21 final SQLiteDatabase db = gazou.getWritableDatabase(); 22 DBDao dBDao = new DBDao(db); 23 24 dBDao.insert(bytes1); 25 }
Main2Activity
1 2 DBSave dBSave = dBDao.findById(getIntent().getIntExtra("id", 1)); 3 if (dBSave == null) { 4 finish(); 5 } 6 7 byte[] bytes1 = dataBaseSave.getData(); 8 Bitmap bitmap = BitmapFactory.decodeByteArray(bytes1, 0, bytes1.length); 9 10 ClipData.Item item = clipData.getItemAt(i); 11 12 13 Uri uri = item.getUri(); 14 InputStream in = getContentResolver().openInputStream(uri); 15 Bitmap img = BitmapFactory.decodeStream(in); 16 in.close(); 17 18 19 targetView.setImageBitmap(bitmap);//ImageViewをいくつか用意して、そこから表示する。
>複数の場合の画像の取得方法がわかりません。
これだと「1つの時はできる」と見えますが、1つができれば複数はできるのでは?
実際に書いたコードやデータベースの定義をご提示ください。
複数選択するときにclipdataを使用するんですけど、それをbyteに変換して、blobとして保存しているんですけど、複数のblobをデータベースから取得がうまくできないです。
実際に書いたコードやデータベースの定義をご提示ください。
結局のところ「1つだとできる」のですか?「1つでもできない」のですか?
一つはできます。
最初から同じことを何度もお願いしているのですが・・・
実際に書いたコードやデータベースの定義をご提示ください。
質問は編集できます。
そんなすぐ回答用意できる質問内容じゃないんですけど、退会したなら仕方ないですね
あなたの回答
tips
プレビュー