現在、アプリ開発の勉強中です。
ギャラリーから画像を持ってきて、アプリの画面に表示させるところまでできましたが、その先の画面内に保存し、アプリを閉じて再起動させたときに残っているようにするやり方がわかりません。
今できているコードを以下に載せます。
MainActivity
public class MainActivity extends AppCompatActivity { private static final int RESULT_PICK_IMAGEFILE = 1001; private ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = findViewById(R.id.imageView1); Button inputbutton = findViewById(R.id.button); inputbutton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("*/*"); startActivityForResult(intent, RESULT_PICK_IMAGEFILE); } }); } @Override public void onActivityResult(int requestCode, int resultCode, Intent resultData) { super.onActivityResult(requestCode, resultCode, resultData); if (requestCode == RESULT_PICK_IMAGEFILE && resultCode == Activity.RESULT_OK) { if (resultData.getData() != null) { ParcelFileDescriptor pfDescriptor = null; try { Uri uri = resultData.getData(); pfDescriptor = getContentResolver().openFileDescriptor(uri, "r"); if (pfDescriptor != null) { FileDescriptor fileDescriptor = pfDescriptor.getFileDescriptor(); Bitmap bmp = BitmapFactory.decodeFileDescriptor(fileDescriptor); pfDescriptor.close(); imageView.setImageBitmap(bmp); } } catch (IOException e) { e.printStackTrace(); } finally { try { if (pfDescriptor != null) { pfDescriptor.close(); } } catch (Exception e) { e.printStackTrace(); } } } } } //このBitmap画像をどのように画面に保存するのかが問題// //アプリを閉じて再起動させたときに、表示させた画像が残っているようにしたい// }
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <ImageView android:id="@+id/imageEdit" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.498" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.476" app:srcCompat="@drawable/ic_launcher_foreground" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/imageEdit" /> //ここに保存ボタンを追加したい// </androidx.constraintlayout.widget.ConstraintLayout>
ここにもう一つ,保存ボタンを追加(SaveOnClickなど使って)したいと考えています。
どのような処理を追加すればよいのかわからない状態なので、教えていただければと思います。
また、可能であれば追加するプログラムを全文載せていただければと思います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/14 10:33
退会済みユーザー
2020/09/14 14:46
2020/09/15 01:45