我的Activity中有两个按钮和一个ImageView。当我点击一个按钮时,它会重定向到图库,我可以选择一个图像。所选图像将出现在我的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);
}
}
图像显示正常,我想将图像保存在新文件夹中,我不知道如何去做..任何帮助将不胜感激。谢谢
答案 0 :(得分:0)
步骤1:使用ContentResolver
和openInputStream()
在图片的InputStream
上打开Uri
步骤2:在所需的副本文件上打开FileOutputStream
步骤3:使用标准Java I / O将字节从InputStream
复制到FileOutputStream
步骤#4:将所有工作移至后台线程(并考虑使用图像加载库来替换setImageURI()
调用),以避免占用主应用程序线程完成所有这些工作< / p>