Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 擴展AndroidAnnotations使用MVP模式編程

擴展AndroidAnnotations使用MVP模式編程

編輯:關於Android編程

上代碼
Activity實現一組接口,用來對View進行操作

public class MainActivity extends Activity implements TestView{
//MVP中的P,一個View可以有多個P,實現多組業務邏輯,比如在主界面還需要讀取Conversation 的內容
@Bean(TestActions.class)
ITestActions testActions;
@ViewById(R.id.btn_back)
Button btnBack;
@ViewById(R.id.btn_noback)
Button btnNoback;
//TestView接口,用於界面顯示,由於Actions可能在線程裡面調用,需要UIThread安全
@UiThread
@Override
public void showName(String name) {
Toast.makeText(this, name, Toast.LENGTH_SHORT).show();
btnBack.setText("clicked");
}
//事件1
@Click(R.id.btn_back)
public void doInback(){
testActions.doInbackground();
}
//事件2
@Click(R.id.btn_noback)
public void doNoBack(){
testActions.doNoback();
}
}

View接口可以實現多個
TestActions實現業務邏輯,並注入TestView接口用於回調顯示

@EBean
public class TestActions implements ITestActions {
**//自動注入UI的View,Fragment或者Activity,P中View也可以有多個,不同View對應不同模塊,這個標簽是擴展的,用來注入View接口**
@ViewInterface
TestView view;
//方法1,通過線程跑,後台任務
@Override
@Background
public void doInbackground() {
//這裡做一些業務,調用View的showName顯示到UI
view.showName("show in back ground2");
}
//方法2,在UI主線程跑
@Override
public void doNoback() {
view.showName("show in no back");
}
}

TestView接口

public void showName(String name);
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved