回答編集履歴

1

質問の内容に照らして回答の方向性を修正する

2019/06/07 14:45

投稿

keicha_hrs
keicha_hrs

スコア6768

test CHANGED
@@ -1,12 +1,8 @@
1
- Androidでは`c:\Sample\Test.txt`ような、Windows方式のフルパス記述利用できません。AndroidのOS中核はLinuxすからLinuxのパス記述いる必要があり
1
+ Androidエミュレーター上動作させたアプリケーションから、エミュレーターを動作させているOSのファイを直接読み書きすることはできません。openFileInput()やopenFileOutput()は、Android端末内部ストレージ特別な領域を読み書きするためメソッドとして提供されているので、その引数にWindows方式フルパス記述しても通せん
2
2
 
3
3
 
4
4
 
5
- また、Androidはセキュリティー保護の観点から、ストレージへのアクセス権限が非常厳格になっています。ストレージのどの領域に対して読み書きしたいのか、それによってもプログラムの書き方が変わってきます。openFileInput()やopenFileOutput()は、アプリケーションごとに提供され専用領域へ読み書きを行うためのメソッドとして提供さています。そ具体的なパス`/data/user/0/<アプリケーションのパッケージ名>/files/`ということになります。こディレクトリー下に、ユーザーが扱たいファイル(今回ならばSample.txtです)を作成し、読み書きする処理を作るこになります。
6
-
7
-
8
-
9
- openFileInput()/openFileOutput()を用いたファイル読み書きの方法としては、以下のサイトが参考になるかと思います。
5
+ もし、Android内部ストレージに対して読み書きする方針に転換し、それにopenFileInput()やopenFileOutput()を用いるのであば、次サイト参考になではないかと思います。
10
6
 
11
7
 
12
8