Re: 【Android版】外部ファイルについて ( No.1 ) |
- 名前:管理人 日時:2019/10/22 23:00
> Android版で、
> GetInternalDataPathが返すディレクトリに、適当なテキストファイルを保存するプログラムを組んでみたのですが、
> そのテキストファイルを、Visual Studioやエクスプローラーから確認する方法ありますでしょうか??
残念ながら Visual Studioやエクスプローラーから確認する方法はありません
( 同じアプリのプログラムから FileRead_open、 FileRead_read で読み込むことはできますが… )
> また、
> GetInternalDataPathと
> GetExternalDataPathの用途の違いはなんでしょうか?
GetInternalDataPath は前述の通りエクスプローラなどのファイル管理ソフトではアクセスできないフォルダのパスを取得する関数で、
GetExternalDataPath はエクスプローラなどのファイル管理ソフトでもアクセスできるフォルダのパスを取得する関数です
セーブデータなどの閲覧されたり改造されたりしたくないファイルを保存する場合は GetInternalDataPath で取得できるフォルダパスに保存して、
デバッグ用のログファイルやアプリのユーザーも使うデータの保存には GetExternalDataPath で取得できるフォルダパスにファイルを保存する、
といった使い分けをします
ただ、恐らく root化された端末では GetInternalDataPath で取得できるフォルダにもアクセスできてしまうと思いますので、
『GetInternalDataPath で取得できるフォルダに保存したファイルには絶対アクセスされない』という訳ではないです
|
Re: 【Android版】外部ファイルについて(解決) ( No.2 ) |
- 名前:Ketty 日時:2019/10/22 20:52
ご回答くださりありがとうございます。
詳しくご説明いただいたので理解できました(^^)
解決とさせていただきます。
|
Re: 【Android版】外部ファイルについて ( No.3 ) |
- 名前:そめ 日時:2021/04/24 16:25
類似の質問のため便乗失礼します
1.
GetExternalDataPathから取得したパスを元に fopen による書き込みと読み込み成功しました
ですが
>GetExternalDataPath はエクスプローラなどのファイル管理ソフトでもアクセスできるフォルダのパスを取得する関数です
とありますが実機をUSB接続しエクスプローラで見ても見当たりません
どこにあるのでしょう?
(私にはそもそもAndroidのデータ配置等に関するリテラシーが無くて困ってます)
2.
1が解決した場合、次にエミュレータの場合の上記のファイル閲覧はどういったやり方があるでしょう?
3.
assetsにあるファイルのfopenによる読み込みは可能でしょうか?パスの取得方法などあればご教授お願いします
よろしくお願いいたします
|
Re: 【Android版】外部ファイルについて ( No.4 ) |
- 名前:管理人 日時:2021/04/26 00:25
> >GetExternalDataPath はエクスプローラなどのファイル管理ソフトでもアクセスできるフォルダのパスを取得する関数です
> とありますが実機をUSB接続しエクスプローラで見ても見当たりません
> どこにあるのでしょう?
例えばこのようなパスにあります( DxLibTest_Android_VS2019 はプロジェクト名です )
PC\Xperia XZ Premium\内部共有ストレージ\Android\data\com.DxLibTest_Android_VS2019\files
> 2.
> 1が解決した場合、次にエミュレータの場合の上記のファイル閲覧はどういったやり方があるでしょう?
私は試したことがありませんが、こちらのような方法があるようです
Androidアプリ開発 with Jetpack and kotlin
AndroidエミュレーターとPC間でファイル転送。ファイル保存や表示する方法。【Android Studio デバイスファイルエクスプローラの使い方】
https://yoruhi.net/archives/android-studio-device-file-explorer/
> 3.
> assetsにあるファイルのfopenによる読み込みは可能でしょうか?パスの取得方法などあればご教授お願いします
assets内のファイルは専用のAPIでのみアクセスできるので、fopen による読み込みはできません
DXライブラリの FileRead_open, FileRead_read, FileRead_close などの fopen, fread, fclose に
似た関数でアクセスすることができます
|
Re: 【Android版】外部ファイルについて ( No.5 ) |
- 名前:そめ 日時:2021/04/26 22:17
回答ありがとうございます
起動時に"a+"でfopenして適当な文字を追記するように組んで見たところ
起動するたびに実際にファイルサイズが大きくなっているところまで確認できました
(実機のCtrlF5実行、およびエミュレータ)
(つまり揮発的な現象ではないことまで確認できました)
ですがやはりエクスプローラからは見当たりません
Externalの2箇所(非リムーバルとリムーバル)、およびInternalの3箇所に同じ検証を施しています
エクスプローラ上では
コンピューター\機種名\内部ストレージ\Android\data
コンピューター\機種名\SDカード\Android\data
どちらもcom.android.chromeなどのフォルダが並んでいますが
com.DxLibTest_Android_VS2019のフォルダがありません
なおfopenしているパスはこちらとなります
/storage/emulated/0/Android/data/com.DxLibAndroidSample_VS2019/files/hello_external_0_0.txt
/storage/10F9-1218/Android/data/com.DxLibAndroidSample_VS2019/files/hello_external_1_1.txt
/data/user/0/com.DxLibAndroidSample_VS2019/files/hello_internal.txt
よろしくお願いいたします
|
Re: 【Android版】外部ファイルについて ( No.6 ) |
- 名前:管理人 日時:2021/04/27 01:27
> ですがやはりエクスプローラからは見当たりません
> Externalの2箇所(非リムーバルとリムーバル)、およびInternalの3箇所に同じ検証を施しています
Android のバージョンや使用されている機種によってはUSB接続したPC上からは参照できないように
なっているのかもしれません
Androidアプリのエクスプローラ的ソフト( 『ファイルマネージャー』で検索すると沢山出てきます )
では見れるかもしれませんので、よろしければアプリをインストールして確認してみてください m(_ _)m
|
Re: 【Android版】外部ファイルについて ( No.7 ) |
- 名前:そめ 日時:2021/04/27 02:24
見れました!
なるほど〜
ありがとうございました
|