2016-11-25 30 views
-1

アクティビティに2つのボタンと1つのImageViewがあります。 1つのボタンをクリックするとギャラリーにリダイレクトされ、画像を選択することができます。選択した画像がImageViewに表示されます。 問題は今、私は保存ボタンが新しいディレクトリに表示された画像を保存するように、instagramのようなアプリのようにしたいです。ギャラリーから画像を選択し、画像ビューに表示して画像を保存します。

私のレイアウトは以下の通りです。

<Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:onClick="imgClick" 
     android:id="@+id/imgButton" 
     android:text="Select Image" 
     android:layout_marginTop="20dp" /> 

    <ImageView 
     android:layout_height="100dp" 
     android:layout_width="100dp" 
     android:layout_centerHorizontal="true" 
     android:id="@+id/diddyImageView" 
     android:layout_alignParentTop="true" 
     android:scaleType="fitXY" 
     android:maxWidth="100dp" 
     android:maxHeight="100dp"/> 

    <Button 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:onClick="addMovieClick" 
     android:id="@+id/addMovieButton" 
     android:text="Submit Movie" 
     android:background="@color/colorPrimary" 
     android:layout_marginTop="20dp" /> 

私の活動は画像が正しく表示され

public void imgClick(View v){ 
    Intent intent = new Intent(); 
    intent.setType("image/*"); 
    intent.setAction(Intent.ACTION_GET_CONTENT); 
    startActivityForResult(Intent.createChooser(intent, "Select Picture"), SELECTED_PICTURE); 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
     if (requestCode == SELECTED_PICTURE && resultCode == RESULT_OK) { 

      uri = data.getData(); 
      diddyImageView.setImageURI(uri); 

     } 
} 

の下に与えられている、私は新しいフォルダに画像を保存したいと私はit..Anyのヘルプについては移動する方法を知らないがなる

appreciated..Thanks

+0

'私は新しいフォルダに画像を保存しますか?シンプルなファイルコピーを使うのはどうですか? –

答えて

0

ステップ#1:画像にUriInputStreamを開くためにContentResolveropenInputStream()を使用し

ステップ#2:あなたのコピーのために必要なファイルにFileOutputStreamを開き

ステップ#3:使用する標準のJava I/O FileOutputStream

ステップ#4にInputStreamからバイトをコピーする:すべてを移動します(そして、あなたのsetImageURI()呼び出しを置き換えるために画像読み込みライブラリを使うことを検討してください)、すべての作業をしているメインのアプリケーションスレッドを縛るのを避けてください。

関連する問題