2013年8月11日日曜日

スマートフォン端末とタブレット端末におけるアプリケーションディレクトリ

最近更新が滞ってるEsterです。

友人のスマートフォン用にちょっとしたアプリを作ったところ、タブレットだと動かなかった、
と報告を受けたんで調べてみました。んで、今回はその結果を忘れないための備忘録的なあれです。


まぁ正直なところスマートフォン用に作ったためにタブレットで動作させることを想定はしてませんでした・・・。

ファイルを保存するときといえばまずはファイルパスを文字列で用意して持って行きます。

File file = new File("ファイルパス");

こんな感じですよね。


まぁそれは良いとして、例えば

File file = new FIle("/data/パッケージ名/file/);

なんて感じでパスを指定したとします。
今の状態だと直接パスを指定してたわけですが・・・

これはしないようにしましょう。うん。
タブレットではユーザーごとにアプリケーションをインストールできるらしく、/data/file/などのように
root直下にパスをおいて、アプリケーション用のデータを保存出来ないらしいです。

なんとタブレットでは/data/ユーザー名/パッケージ名というパスになるようです。

ということで
スマートフォンには/data/fパッケージ名/を出力して、
タブレットには/data/ユーザー名/パッケージ名/を出力してくれる

ActivityクラスのgetFIleDir()メソッドを使いましょう!


いやー。直接指定して変数に入れとくとだいぶ楽になる部分あったとおもったんですが、それをやってくれるメソッドはだいぶ前からあったようです・・・。なぜ知らなかったのか・・・。勉強不足だなぁ、と痛感してしまった夏のある日の出来事でした。




いやぁー、正直なところどうしてタブレットで動かなかったのかを理解するまでに時間かけすぎる自分が悔しい・・・。

0 件のコメント:

コメントを投稿