2014年2月10日月曜日

雪あかりの路2014

今年も行ってきました。




2014年2月7日金曜日

Android の Intent が宝の持ち腐れ

 ちょっ、Android の開発に関して、ぼやきます。  Intent を介してアプリケーションが連帯する仕組みが整っているのに、ファイル選択ダイアログといった単純なパーツさえ、自分でエクスプローラのアプリケーションを作成する勢いで書かないと、存在しない。 例えば、zip ファイルを選択させたいと思ったら、既存の枠組みでは、

  private static final int REQUEST_CHOOSE_ZIP = 1;
...

  private void selectZip() {
    Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
    // MIME/Type が微妙だが置いといて
    intent.setType("application/zip"); 
    intent.addCategory(Intent.CATEGORY_OPENABLE);
    startActivityForResult(intent, REQUEST_CHOOSE_ZIP );
  }
と、呼び出してやれば済む話なのであるが、Androidに付属している標準のエクスプローラ・アプリは、得てして、この仕様に対応していない。

そうすると無料の広告付きアプリを入れてくるか、android-file-dialog(広告付きのオープンソース:改造可)を用意するか、とにかくイケてない。
ま、検索すれば AlertDialog.Builder ベースのファイル選択ダイアログというパーツも見つかるのだが、アクセス権限のないディレクトリに触った瞬間落ちるし、なんか、いけてない。Google さんも、Android の UIガイドと啓蒙みたいな部分に力を入れるよりも、こういった連帯ベース部分に力を入れたほうが、よほどエコなんじゃないでしょうか?