しょうもないソースでお茶を濁す
今日はちょっと朝から集中しすぎて、集中力の切れた今では
もう何も考えることが出来ず……。 簡単なソースでお茶に濁します。
以前書いた「assetsの内容を全てローカルにコピーする」ですが、そのままに
しておくと毎回ローカルコピーが発生して手間なので、取り合えずは
こんな感じでバージョン判定することにしました。
まぁ、「内容に差異があった場合」とかの方が格好いいソースになるんですけどね。
PackageManager pm = getPackageManager(); PackageInfo pi = null; try { // getPackageInfo pi = pm.getPackageInfo("jp.game.sample", 0); } catch (NameNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } if(pi== null || getPref(PREF_VERSION) != pi.versionCode){ // ローカルファイルのコピー try { copy2Local(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); return; } setPref(PREF_VERSION, pi.versionCode); }
ちなみに、getPrefとかsetPrefってのはPreferencesから
値を取得したり、値を設定したりする処理です。
最後にローカルコピーを行ったバージョンコードを保存しておき、
バージョンコードに差異があればコピーを開始するようにしてあります。