0

アプリ内のフォルダに画像を保存するにはどうすればよいですか? 最終的には、ユーザーが写真を撮ってアップロードできるようにし、他のユーザーが「評価」できるようにしたいと考えています。私はアンドロイドが初めてなので、これが非常に基本的である場合は申し訳ありません。これは私がこれまでに持っているものです。

public void onClick(View v) { // TODO 自動生成メソッド スタブ

            Intent picture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            //MainActivity.this.startActivity(picture);

             startActivityForResult(picture, 1);
             onActivityResult(1, 1, picture){

             }

        }
4

3 に答える 3

0

このチュートリアルを読んでください:http ://developer.android.com/training/camera/photobasics.html これがお役に立てば幸いです。

于 2013-02-10T02:50:40.860 に答える
0

別の場所に保存してから移動しようとしましたか?

元のディレクトリに保存するファイルを書き込んでから、自動的に実行したいディレクトリに移動することができます。

あなたは明らかに、その実行可能ファイル内でファイルを再配置するのに十分なスキルをすでに持っています。

申し訳ありませんが、スタックオーバーフローコミュニティ全体にとってまったく新しいものではない場合は申し訳ありません。

私があなたを助けたことを願っています!

于 2013-02-10T02:39:49.200 に答える
0

このコードを使用します。説明はコードの後に​​あります

Intent getCameraImage = new Intent("android.media.action.IMAGE_CAPTURE");

File cameraFolder;

if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))
    cameraFolder = new File(android.os.Environment.getExternalStorageDirectory(),"YOUR_FOLDER_NAME/");
else
    cameraFolder= StatusUpdate.this.getCacheDir();
if(!cameraFolder.exists())
    cameraFolder.mkdirs();

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd'T'HHmmss");
String timeStamp = dateFormat.format(new Date());
String imageFileName = "picture_" + timeStamp + ".jpg";

File photo = new File(Environment.getExternalStorageDirectory(), "YOUR_FOLDER_NAME/" + imageFileName);
getCameraImage.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
initialURI = Uri.fromFile(photo);

startActivityForResult(getCameraImage, 1);

このコードが本質的に行うことは次のとおりです。

  • YOUR_FOLDER_NAMEの読み取り場所に指定された名前のフォルダーを作成します (これを都合のよいように変更してください)。
  • これpicture_" + timeStamp + ".jpgにより、選択したフォルダーに複数の画像が保存され、それぞれに新しいタイムスタンプが付けられます。当然、タイムスタンプは現在の時刻になります。
  • initialURI、後で取得したイメージを処理するのに役立つようにグローバルに定義されています。たとえば、ImageView
于 2013-02-10T06:16:32.793 に答える