Android Binding Markup Demoを試す

同じタイトルが続くのはイケてないので変えるようにしました。

さてこのデモですが、ソースコード一式はこちらのサイトからzipファイルでダウンロード出来ます。

Markup Demoのありか


ですが、これをダウンロード・解凍して、プロジェクトに取り込んでもビルドは通りません。いくつか設定、修正しないといけない箇所があります。

まずは設定ですが、これは外部ライブラリ (Jar) の設定です。Build Path > Configure Build Path...を選択して、外部ライブラリ設定ダイアログを出します


元々設定されている外部ライブラリはパスが違うので×が付いていると思うので、削除します。その上で以下のライブラリを設定します。

  1. android.binding.0.4b.jar
  2. jhighlight-1.0.jar


android.binding.0.4b.jarはいつものダウンロードサイトから入手出来ます。jhighlight-1.0.jarは本プロジェクトのlibraryという名前のディレクトリに入っていますので、これを指定します。

次にコードを修正します。ビルドすると以下の場所 (ViewDemoActivity.java) でエラーが発生します。

public final IntegerObservable DisplayingViewIndex = new IntegerObservable(0){
    @Override
    protected void doSetValue(Integer newValue,
                              AbstractCollection<Object> initiators) { // ここ!
        // TODO Auto-generated method stub
        super.doSetValue(newValue, initiators);
    }
};


これはおそらく、最新のandroid.binding.jarでインターフェイス仕様が変わったためです。次のように修正します。

public final IntegerObservable DisplayingViewIndex = new IntegerObservable(0){
    @Override
    protected void doSetValue(Integer newValue,
                              Collection<Object> initiators) {
                           // AbstractCollection<Object> initiators) { // ここ!
        // TODO Auto-generated method stub
        super.doSetValue(newValue, initiators);
    }
};


後はWarningなので気持ち悪い方は修正して下さい。気にならない方は修正しなくても大丈夫です。実行結果はこちら。まずAndroid Bindingフレームワークを使ったサンプルのリストが表示されます。


一画面に収まらなかったので、リストアップしておきます。

  1. View
  2. TextView
  3. ImageView
  4. ProgressBar
  5. SeekBar
  6. RatingBar
  7. CompoundButton
  8. SpinnerWithArraySource
  9. ListViewWithCursorSource
  10. MasterDetailListView
  11. NestedCursor
  12. MultipleAdapters


これらのリストをタップすると以下のような画面に遷移します。


下にあるView Demoボタンを選択するとデモを見ることが出来、View Markupボタンを選択すると、レイアウト (View) 定義をみることが出来ます (ハイライトされてる!) 。そしてご想像の通り、View Modelボタンを選択するとView Modelのソースコードを見ることが出来ます。


これでようやくスタートラインに立った感じです。