« ストレージアクセスフレームワーク(SAF) のパス | メイン | Android版のサウンドの制限 »

2016年12月21日

吉里吉里Z 開発:: システムのパス

    

System クラスのプロパティで各種パスが取得できるが、これらのパスは OS 固有。
今まで Windows しかなかったので、Windows 固有のパスを基準に作られている。
Android 版では、完全に別にしてしまうか、ある程度互換性を持たせるかの選択肢があるが、可能な範囲で用途的に同等と思われるパスを割り当て、Android 固有のパスを増やす形にする。
Android 版では以下のようなパスを割り当てることを考えているが、外部ストレージに関してはマウントのチェックなどもあるので再考するかもしれない。
再考時はアプリのアンインストールで削除される、アプリリストのデータ削除やキャッシュ削除で削除される等の挙動も考慮する。

System.appDataPath = Context.getFilesDir() ex) /data/data/{パッケージ名}/files
System.dataPath = Context.getExternalFilesDirs() ex) /storage/emulated/0/Android/data/{パッケージ名}/files
System.exeName = Context.getPackageCodePath() ex) /data/app/apkname.apk
System.exePath = Context.getPackageCodePath() ex) /data/app/
System.personalPath = Context.getExternalFilesDirs()ex) /storage/emulated/0/Android/data/{パッケージ名}/files
System.savedGamesPath = 対応するものなし

System.exePath は、apk が置かれるパスが相当すると思うが、Windows と違って Android では取得する意味がないと思われる。
System.exeName も、apk のファイル名を含んだフルパスであるが、これもあまり意味がない。
一応、apk は zip なので、吉里吉里Z 本体で展開して中のファイルをあれこれと出来なくはないが、意味は薄い。

Android 固有のパスは色々あるので、また後日リストアップする。


投稿者 Takenori : 2016年12月21日 23:19




comments powered by Disqus
Total : Today : Yesterday : なかのひと