2012-05-08 8 views
0

写真を撮影し、ジオタグして自分のサーバーに保存するプログラムを作りたいと思います。カメラで写真を撮りますが、保存しないでください

1)写真を撮る方法はありますが、保存する方法はありますか?私は写真を撮って圧縮し、それを私のサーバーに送るだけです。私はそれをSDカードや内部の記憶装置などに保存したくないだけです。これが不可能な場合は、どうすれば一時的に保存して削除できますか?
2)また、画像にアクセスするにはどうすればいいですか?

答えて

0

最初の質問では、電話に画像を保存しない方法はないと思います。それはどこかに保持する必要があり、もう1つのオプションであるアプリケーションメモリは、OOMエラーの可能性を秘めています。あなたの第二のために

、あなたはこのようなあなたのカメラの意図を作成することができます

Intent takePictureFromCameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
takePictureFromCameraIntent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(someFilePathString))); 
startActivityForResult(takePictureFromCameraIntent, CAMERA_REQ); 

をこれは、(あなたのonActivityResultで、その後someFilePathString.によって指定されたパスに保存するカメラ活性により撮影した画像の原因になりますかどこにでも)、あなたはFile myFile = new File(someFilePathString)を使って画像にアクセスしてあなたのサーバーに送ることができます。

+0

someFilePathStringの場合、パスにはどうすればよいですか?カメラ画像の有効なファイルパスは何ですか?また、どのように私はそのディレクトリ内の画像の名前を取得することができますし、私は私の操作を完了した後に画像を削除することができますか?アンドロイドデベロッパーのページにあるオンラインまたはデベロッパーガイドには何もないようです。 –

+0

http://developer.android.com/guide/topics/data/data-storage.htmlここではリンクについての開発者ガイドがありますデータストレージ。おそらく、SDカードへのファイルパスが必要ですが、最初にマウントされているかどうかを確認し、そうでない場合は内部ストレージへのパスを使用する必要があります。 (Environment.getExternalStorageDirectory()。getAbsoluteFilePath()およびmyContext.getFilesDir())。私はあなたが有効なパスを作成する方法を見つけることができると確信しています。削除に関しては、delete()のように、Fileクラスのいくつかのメソッドを調べてください。あなたが自分自身を試してコードや特定の問題を投稿すると、助けがはるかに簡単になります。 – MattDavis

関連する問題