回答編集履歴
3
typo
answer
CHANGED
|
@@ -23,4 +23,4 @@
|
|
|
23
23
|
}
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
-
07/26 02:25 本文中のgetExternalFilesDirs()を
|
|
26
|
+
07/26 02:25 本文中のgetExternalFilesDirs()をgetExternalFilesDir()に修正。getExternalFilesDirs()という複数の拡張ストレージを持った端末を想定した、File[]型を返すメソッドも存在するので、誤解を招きかねませんでした。申し訳ありません。
|
2
getExternalFilesDirs→getExternalFilesDirに修正
answer
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
外部ストレージのディレクトリー名を直接文字列で記述してはいけません。まず端末ごとに異なる場所が割り当てられている可能性がありますし、Androidのバージョン互換性もなくなります。Android 4.4以降の端末であれば、`
|
|
1
|
+
外部ストレージのディレクトリー名を直接文字列で記述してはいけません。まず端末ごとに異なる場所が割り当てられている可能性がありますし、Androidのバージョン互換性もなくなります。Android 4.4以降の端末であれば、`getExternalFilesDir()`のような専用APIを用いるべきです。参考にしたサイトにも記されていますよね。
|
|
2
2
|
|
|
3
3
|
次に、ストレージに書き込みを行う場合はAndroidManifest.xmlにusers-permissionの記述が必要になります。これも参考サイトに記されていますよね。
|
|
4
4
|
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
ただし、`<外部ストレージ>/Android/data/<自パッケージ名>`というディレクトリー以下は特別扱いで、Runtime Permissionによる許可を得なくても読み書きができます。この場合もAndroidManifest.xmlへの記述は必要です。
|
|
13
13
|
|
|
14
|
-
`
|
|
14
|
+
`getExternalFilesDir()`を用いて`<外部ストレージ>/Android/data/<自パッケージ名>/files/Movies`という場所にディレクトリーを作成するのならば、このような感じで可能なはずです。
|
|
15
15
|
|
|
16
16
|
```Java
|
|
17
17
|
File dir = getExternalFilesDir(Environment.DIRECTORY_MOVIES);
|
|
@@ -21,4 +21,6 @@
|
|
|
21
21
|
System.out.println("Success");
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
```
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
07/26 02:25 本文中のgetExternalFilesDirs()ををgetExternalFilesDir()に修正。getExternalFilesDirs()という複数の拡張ストレージを持った端末を想定した、File[]型を返すメソッドも存在するので、誤解を招きかねませんでした。申し訳ありません。
|
1
ちょっと修正
answer
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
ただし、`<外部ストレージ>/Android/data/<自パッケージ名>`というディレクトリー以下は特別扱いで、Runtime Permissionによる許可を得なくても読み書きができます。この場合もAndroidManifest.xmlへの記述は必要です。
|
|
13
13
|
|
|
14
|
-
`<外部ストレージ>/Android/data/<自パッケージ名>/files/Movies`という場所にディレクトリーを作成するのならば、このような感じで可能なはずです。
|
|
14
|
+
`getExternalFilesDirs()`を用いて`<外部ストレージ>/Android/data/<自パッケージ名>/files/Movies`という場所にディレクトリーを作成するのならば、このような感じで可能なはずです。
|
|
15
15
|
|
|
16
16
|
```Java
|
|
17
17
|
File dir = getExternalFilesDir(Environment.DIRECTORY_MOVIES);
|