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

回答編集履歴

1

修正

2020/09/28 15:43

投稿

keicha_hrs
keicha_hrs

スコア6768

answer CHANGED
@@ -1,6 +1,6 @@
1
- 恐らく企図されているのは、内部ストレージのAlarmやDCIMなどのディレクトリーがある場所に並行してtestDirectoryを作成したいということだと思うのですが、Androidではバージョンが進むにつれ、ストレージの自由な場所への書き込みの制約が厳しくなっています。ウェブで検索するとteratailでの私の過去回答もヒットするのですが、その方法もすでに通用しなくなっています(苦笑)。ですから、初学でそれに挑むのはかなり大変でしょう。
1
+ 恐らく企図されているのは、内部ストレージのAlarmやDCIMなどのディレクトリーがある場所に並行してtestDirectoryを作成したいということだと思うのですが、Androidではバージョンが進むにつれ、ストレージの自由な場所(パブリック領域)への読み込み・書き込みの制約が厳しくなっています。そのため、質問の方法でプログラムを実行しても、ディレクトリーを作成することはできません。パブリックな領域に書き込む方法をウェブで検索するとteratailでの私の過去回答もヒットするのですが、その方法も現在ではすでに通用しなくなっています(苦笑)。ですから、初学でそれに挑むのはかなり大変でしょう。
2
2
 
3
- その一方で、Androidではアプリの権限で自由に読み書きができるプライベート領域を提供しており、`getExternalFilesDir()`というメソッドでそのパスを取得することができます。それを利用して、
3
+ その一方で、Androidではアプリの権限で自由に読み書きができる、そのアリ専用のプライベート領域を提供しており、`getExternalFilesDir()`というメソッドでそのパスを取得することができます。それを利用して、
4
4
 
5
5
  ```java
6
6
  File dir = new File(getExternalFilesDir(null) + File.separator + "testDirectory");