标签:override err list 自己的 color class util over 其他
写到哪里算哪里,从新项目 说说我怎样开发
1.新建项目,创建自己的application
在Application中初始化xutils3和自己的UncaughtExceptionHandler,统一管理应用退出 添加,移除 activity栈
各Activity继承自己的Activity_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.
标签:override err list 自己的 color class util over 其他
原文地址:http://www.cnblogs.com/andlp/p/6232350.html