« ファイル選択とSD保存 | メイン | ストレージアクセスフレームワーク(SAF) のパス »

2016年12月19日

吉里吉里Z 開発:: Android 版はファイル名の大文字小文字を区別するように

    

吉里吉里2/Z はファイル名の大文字小文字を区別しない(ケースインセンシティブ)。
Android 版も同じような動作を考えていたが、実装上解決できないので区別することにする(ケースセンシティブ)。
問題は、同名の大文字小文字だけが違うフォルダ or ファイルが存在した場合、識別できないから。
Windows/MacOSXはファイル名の大文字小文字は区別しないが、Android/Linuxは区別する。
このOSの違いによって上述の仕様差異が生じる。

ただし、XP3アーカイブに入れたファイルはどちらの環境でも大文字小文字を区別しない。
これは OS の影響を受けないため。

上記、Windowsは区別しないと書いたが、厳密にいえばプラグインによっては区別するものが存在する可能性はある。
吉里吉里は、プラグインによって任意のストレージを追加できるが、大文字小文字を区別するかはそのストレージを追加する処理に依存する。

仕様を整理する
1. XP3アーカイブ内のファイルは環境にかかわらず大文字小文字を区別しない。
2. Windows 版はローカルファイル/フォルダの大文字小文字を区別しない。
3. Android 版はローカル/Asset/SAFのファイル/フォルダの大文字小文字を区別する。


以上のようになる。
リリース時にXP3にすべてのファイルを入れる形であれば違いは表面化しない。
確か KAG3 はファイル名の大文字小文字は気にしない実装だったので、区別する環境で動かすとエラーが出る。
ファイル/フォルダ名はすべて小文字にするなどの対応を取っていれば問題はあまり表面化しない(元々あるディレクトリにアクセスする場合は意識する必要がある)。


もし Android でこの制限を回避する妙案があったら教えてください。


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




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