xutils注意事项

写到哪里算哪里,从新项目 说说我怎样开发       

1.新建项目,创建自己的application

在Application中初始化xutils3和自己的UncaughtExceptionHandler,添加 统一管理应用退出,添加activity,移除activity的方法  

各Activity继承自己的Activity_Base(方便后期统一处理),base中把每个activity添加进栈(不继承的话,需手动添加进栈  主要为应用退出)

2.命名方式(极大的提高开发效率) eg: 

Activity------>Activity_Base

Fragment---->Fragment_Base(类型_功能)

adapter----->Adapter_Fragment_Order (哪个类的adapter)

layout------->activity_base(类名小写)

3.注解   eg:

 //布局注解

@ContentView(R.layout.activity_md_using_surface_view)
public class VideoPlayerActivity extends Activity_Base

 //view注解

@ViewInject(R.id.button_add_plugin) Button button_add_plugin; //添加plugin

//(点击,长按等)事件注解
@Event(R.id.button_add_plugin)  private void add(View view) {L.i("点击添加");}//按钮添加plugin事件,单击(type可省)
@Event(type = View.OnLongClickListener.class,value=R.id.vr_down)
private boolean vr_down_long(View view){ L.i("选项 长按down");//长按

4. 高内聚,低耦合   

4.1.应用内通讯可用eventbus替代handler 或广播

4.2逻辑的解耦合 eg:网络请求,把请求与解析,展示 分离开(核心,代码按顺序执行,逻辑分步骤实现)

public void getData(){
         x.task().run(new Runnable() {
             @Override
             public void run() {
                 RequestParams params = new RequestParams("http://www.baidu.com/login.php");//接口地址
                 params.addBodyParameter("username","123");
                 params.addBodyParameter("password","123");
                 try {
                  final String result=x.http().postSync(params, String.class);//在异步任务里进行同步请求,拿到请求结果str
                    //拿到json,进行解析,我封装的fastjson
                    List<UserInfo> list =JsonUtil.parasList(result,UserInfo.class);

                    //绑定bean到adapter或者其他方式更新ui,runOnUithread 也可以
                     x.task().autoPost(new Runnable() {
                         @Override
                         public void run() {
                             //text.setText("更新ui");
                         }
                     });

                }catch(Throwable e){e.printStackTrace();}



             }
         });
    }

5.关于多层回调嵌套的问题,和异步任务的解耦合 可以参考这里的实现  

https://github.com/Aiushtha/Android-LessCallBack

6.

     

  

原文地址:https://www.cnblogs.com/andlp/p/zhuyi.html