androidの本体のデータベースに登録したのに見れない。(不具合)

カメラアプリを作成して、画像の保存をした時に、

保存だけでは、ギャラリーなどに表示ができないので、

データベースに登録をしていたのですが、反映されてない場合を確認しました。

※galaxy s

values.put(Images.Media.MIME_TYPE, "image/jpeg");
values.put("_data", imgName);

上記のように形式とパスのみを記載していたのですが、

values.put(Images.Media.TITLE, imgName);

のようにタイトルも必須項目のようでした。

その他の部分は変更しておりませんが、前回までのソースは下記へ変更しております。

private Camera.PictureCallback mPictureListener =new Camera.PictureCallback() {
 public void onPictureTaken(byte[] data, Camera camera) {
 myCamera.startPreview();
 if (data != null) {
 if(!sdcardWriteReady()){
 Toast.makeText(context, "SDCARDが認識されません。", Toast.LENGTH_SHORT).show();
 bool = true;
 return;
 }
 FileOutputStream foStream = null;
 //フォルダのパスを表示します。。
 File file = new File(Environment.getExternalStorageDirectory().getPath() + "/cmr2/");
 //フォルダが存在しなかった場合にフォルダを作成します。
 if(!file.exists()){
 file.mkdir();
 }
 //これで他のとかぶらない名前の設定ができました。
 String imgName = Environment.getExternalStorageDirectory().getPath() + "/cmr2/" + System.currentTimeMillis() +".jpg";
 try {
 foStream = new FileOutputStream(imgName);
 foStream.write(data);
 foStream.close();
 ContentValues values = new ContentValues();
 ContentResolver contentResolver = context.getContentResolver();
 values.put(Images.Media.MIME_TYPE, "image/jpeg");
 values.put(Images.Media.TITLE, imgName);
 values.put("_data", imgName);
 try {
 contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
 }catch(Exception e){
 Toast.makeText(context, "再起動後に画像が認識されます。", Toast.LENGTH_SHORT).show();
 e.printStackTrace();
 }
 } catch (Exception e) {
 Toast.makeText(context, "ファイルの保存中にエラーが発生しました。", Toast.LENGTH_SHORT).show();
 e.printStackTrace();
 }
 bool = true;
 }else{
 Toast.makeText(context, "データが取得できませんでした。", Toast.LENGTH_SHORT).show();
 bool = true;
 }
 }
 };

 

前後の記事

前の記事:

次の記事:

関連の記事

コメントの投稿

  • サイト内検索

新作アプリの紹介

関連サイトの紹介

アンドロイドアプリ開発TIPS
きぐるみカメラ
ふらいぱん
アンドロイドのデザイン集
Page top↑