zoukankan      html  css  js  c++  java
  • 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.

         

      

  • 相关阅读:
    MySQL 多会话之间更新数据的小实例
    MySQL Profile
    MySQL Explain
    MySQL 索引
    利用网站上传漏洞使用一句话木马控制服务器
    kali之nmap
    kali之使用sqlmap进行sql注入
    kali之DVWA
    Kali安装nessus
    openvas
  • 原文地址:https://www.cnblogs.com/andlp/p/zhuyi.html
Copyright © 2011-2022 走看看