質問編集履歴
2
詳細を追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,10 +3,35 @@
|
|
3
3
|
その中で、最新版のAPIで廃止された関数を使っているのですが、これを廃止されていない関数に書き換えたいです。
|
4
4
|
(現状のコードでも最新APIでなければ動くことは動きます。)
|
5
5
|
|
6
|
-
関数は2つあり、1つはMediaStore.Images.Media.DATA、もう一つはEnvironment.getExternalStoragePublicDirectory です。
|
6
|
+
関数は2つあり、1つはMediaStore.Images.Media.DATA、もう一つはEnvironment.getExternalStoragePublicDirectory についてです。
|
7
7
|
|
8
|
+
1.MediaStore.Images.Media.DATAについて
|
9
|
+
```MainActivity
|
10
|
+
val cr = contentResolver
|
11
|
+
val columns = arrayOf(MediaStore.Images.Media.DATA)
|
12
|
+
val c = cr.query(data!!.data!!, columns, null, null, null)
|
13
|
+
c!!.moveToFirst()
|
14
|
+
val original = File((c.getString(0)))
|
15
|
+
```
|
16
|
+
でギャラリーから選択した画像のファイル情報を取り出しています。この中のMediaStore.Images.Media.DATAが廃止関数なので、
|
8
|
-
|
17
|
+
別のやり方でギャラリーからファイル情報を取り出したいです。
|
9
18
|
|
19
|
+
2.Environment.getExternalStoragePublicDirectory について
|
20
|
+
```MainActivity
|
21
|
+
val mediaStorageDir = File(Environment.getExternalStoragePublicDirectory (Environment.DIRECTORY_PICTURES), "savedPictures")
|
22
|
+
```
|
23
|
+
で選択したギャラリー画像を保存するフォルダの情報を取得しています。
|
24
|
+
場所としてはストレージ直下のPictureフォルダの中にフォルダを作り、その中にファイルを保存したいです。
|
25
|
+
(/storage/emulatede/0/Pictures/savedPictures)
|
26
|
+
|
27
|
+
この場所のファイル情報を別関数で取得したいです。
|
28
|
+
現状、ContextやIntentを使うやり方を模索していますが、アプリフォルダ内の「Picture」フォルダ内の
|
29
|
+
情報を取得するやり方しか見つけられていません。
|
30
|
+
applicationContext.getExternalFilesDir(Environment.DIRECTORY_PICTURES)
|
31
|
+
返り値:/storage/emulated/0/Android/data/アプリ名/files/Pictures
|
32
|
+
|
33
|
+
|
34
|
+
|
10
35
|
詳細は下記コードです(言語はKotlinです)
|
11
36
|
|
12
37
|
```MainActivity
|
1
使用言語情報追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
i.type = "image/*" // 画像のみが表示されるようにフィルターをかける
|
16
16
|
i.action = Intent.ACTION_GET_CONTENT
|
17
17
|
startActivityForResult(i, REQUEST_CODE_GALLERY)
|
18
|
-
Toast.makeText(applicationContext, "画像選択
|
18
|
+
Toast.makeText(applicationContext, "画像選択の画面です", Toast.LENGTH_LONG).show()
|
19
19
|
}
|
20
20
|
|
21
21
|
public override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|