Simply way to make your android code beautiful

来源:互联网 发布:天谕sabar捏脸数据图女 编辑:程序博客网 时间:2024/05/17 23:49

1. Think about the way that your can write your activity as below

@ScreenLayoutRes(R.layout.activity_login)public class MyActivity extends XXXActivity {    @DataCenter    MyDataCenter dc = MyDataCenter.getInstance();    @ActionCenter    MyActionCenter ac = MyActionCenter.getInstance();}

2. Write your data center

public class MyDataCenter {    private static MyDataCenter instance;    @Presenter(MyActivity.class)    @BindOnView(R.id.user)    User user;    @Presenter(MyActivity.class)    @BindOnView(R.id.user_list)    List<User> users;    private MyDataCenter() {        user = new User(0);        users = new ArrayList<>();        for (int i=0; i<10; i++) {            users.add(new User(i+1));        }    }    public static MyDataCenter getInstance() {        if (instance == null) {            instance = new MyDataCenter();        }        return instance;    }}

3. Write your action center

public class MyActionCenter {    private static MyActionCenter instance;    @ActionHost(R.id.user)    UserAction userAction;    @ActionHost(R.id.go)    TestButtonAction buttonAction;    private MyActionCenter() {}    public static MyActionCenter getInstance() {        if (instance == null) {            instance = new MyActionCenter();        }        return instance;    }}

3.1 implement your UserAction & TestButtonAction

public class UserAction extends CommonAction {    @Action(ActionType.CLICK)    @Override    public void doo(Map<ActionParamsType, Object> params) {        List omp = (List) params.get(ActionParamsType.ORIGIN_METHOD_PARAMS);        Log.i("OMG_DEBUG", "You just clicked on : " + omp.get(0));    }}public class TestButtonAction extends CommonAction {    @Action(ActionType.CLICK)    @Override    public void doo(Map<ActionParamsType, Object> params) {        Toast.makeText((Context) params.get(ActionParamsType.ACTIVITY), "hello world", Toast.LENGTH_LONG).show();    }}

4. Finally, define you User class

public class User {    @ShowOnView(R.id.tv_username)    String name = "BetterWorld";    @ShowOnView(R.id.tv_age)    int age = 23;    public User(int i) {        name += i;    }    @Override    public String toString() {        return "[" + name + ", " + age+ "]";    }}

5. At last, if you want to use this, please let me know. :)

You are welcomed to comment on this page..

0 0
原创粉丝点击