Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android資訊 >> Android數據綁定組件RoboBinding使用詳解

Android數據綁定組件RoboBinding使用詳解

編輯:Android資訊

本文由碼農網 – 小峰原創,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!

RoboBinding簡介

RoboBinding是一款基於Android的數據綁定組件,它可以幫助你編寫可讀性強、容易測試以及性能優越的Android UI應用。RoboBinding有以下幾個特點:

  • 為了精簡框架,RoboBinding移除了大量不必要的代碼,比如addXXListener(),findViewById()等。
  • 可以將難以測試的Android代碼轉換為普通的JUnit測試。
  • 提供對象類型Cursor來替換 - 關系類型Cursor,因為我們已經習慣於操作對象 。
  • 可以很容易的為任何自定義組件,第三方組件或Android widget編寫屬性綁定實現,簡化代碼,使項目易於維護。

下面我們通過一個小例子來學習RoboBinding的使用方法。

RoboBinding使用方法

布局代碼:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:bind="http://robobinding.org/android">
    <TextView
        bind:text="{hello}" />
        ...
    <Button
        android:text="Say Hello"
        bind:onClick="sayHello"/>
</LinearLayout>

presentation models:

@org.robobinding.annotation.PresentationModel
public class PresentationModel implements HasPresentationModelChangeSupport {
    private String name;
    public String getHello() {
        return name + ": hello Android MVVM(Presentation Model)!";
    }
    ...
    public void sayHello() {
        firePropertyChange("hello");
    }
}

Activity代碼

Activities將應用布局和展現層數據綁定在一起,MainActivity.java的代碼如下:

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        ...
        PresentationModel presentationModel = new PresentationModel();
        View rootView = Binders.inflateAndBindWithoutPreInitializingViews(this, R.layout.activity_main, presentationModel);
        setContentView(rootView);
    }
}

更多關於RoboBinding的使用,可以訪問其在Github上的主頁。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved