2011-02-07 17 views
3

私は自分のアプリケーションで必要なコードを支援する人物を探しています。HTCの欲望に保管されている場所(ギャラリー)から別の場所SDカードのフォルダ。私は、ユーザーがボタンをクリックすることができ、特定のファイルがSDカードのギャラリーフォルダからSDカードの別のフォルダにコピーされるようにしたいですか?ありがとうAndroidフォルダからSDカードの代替フォルダにコピーする画像

答えて

25

Usmaan、

あなたは以下でギャラリーピッカーの意図を起動することができます:それは返す場合、

public void imageFromGallery() { 
    Intent getImageFromGalleryIntent = 
     new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI); 
    startActivityForResult(getImageFromGalleryIntent, SELECT_IMAGE); 
} 

次のコード部分と、選択した画像のパスを取得:

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (resultCode == RESULT_OK) { 
     switch(requestCode) { 
     case SELECT_IMAGE: 
      mSelectedImagePath = getPath(data.getData()); 
      break; 
    } 
} 

public String getPath(Uri uri) { 
    String[] projection = { MediaStore.Images.Media.DATA }; 
    Cursor cursor = managedQuery(uri, projection, null, null, null); 
    startManagingCursor(cursor); 
    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
    cursor.moveToFirst(); 
    return cursor.getString(column_index); 
} 

文字列にパス名があるので、別の場所にコピーすることができます。

乾杯!

EDIT:あなただけのファイルをコピーする必要がある場合は...のような何かをしようと

私はantoher
+0

私は理解していけない申し訳ありませんが、私はへのホット知っているにそのフォルダから画像をコピー言うことを意味して申し訳ありません

try { File sd = Environment.getExternalStorageDirectory(); File data = Environment.getDataDirectory(); if (sd.canWrite()) { String sourceImagePath= "/path/to/source/file.jpg"; String destinationImagePath= "/path/to/destination/file.jpg"; File source= new File(data, sourceImagePath); File destination= new File(sd, destinationImagePath); if (source.exists()) { FileChannel src = new FileInputStream(source).getChannel(); FileChannel dst = new FileOutputStream(destination).getChannel(); dst.transferFrom(src, 0, src.size()); src.close(); dst.close(); } } } catch (Exception e) {} 
Beginner

+0

最初の部分は、あなたのギャラリーを起動し、画像を選択することができます。画像を選択すると、コードの2番目の部分から 'onActivityResult()'が呼び出されます。ギャラリーアプリケーションから返されたデータを受け取り、 'getPath()'関数は、選択された画像のフルパスをStringとして返します。このコードでは、カメラで撮影することはできません。 –

+0

は私は本当にいけない私はすでに画像の名前を知って、ギャラリーを開きたい異なるfolder..Alsoに画像をコピーしたいと私は好き気にいらを探して、それはSDカード/ DCIM/imagenameの – Beginner

1

ギャラリーの画像は、すでにAndroid搭載端末のSDカードに保存されています。公式のドキュメントにはworking with external storageという素晴らしいセクションがあります。チェックアウトする必要があります。

+0

私のアプリケーション内で写真などを撮る....しかし、後で私は、ギャラリーフォルダから別のフォルダに画像をコピーしたい、このコードはこれをしないのですか?このコードの – Beginner

関連する問題