teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

詳細を追記

2019/10/11 00:00

投稿

adk
adk

スコア12

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

使用言語情報追加

2019/10/11 00:00

投稿

adk
adk

スコア12

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, "画像選択画面です", Toast.LENGTH_LONG).show()
18
+ Toast.makeText(applicationContext, "画像選択画面です", Toast.LENGTH_LONG).show()
19
19
  }
20
20
 
21
21
  public override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {