美文网首页
第1章、重构、夜未眠

第1章、重构、夜未眠

作者: 聪聪的豆芽 | 来源:发表于2016-08-25 19:51 被阅读13次

1.1重新规划Android项目结构

基本上项目目录尽可能细分,容易快速查找界面。现在感觉mvp模式不错,可以采用。

1.2位Activity定义新的生命周期

核心:单一职责。一个类或方法,只做一件事情。

将onCreate分为三个子方法并为抽象的abstract:

  • initVariables():初始化变量,包括Intent带的数据和Activity。
  • initViews(savedInstanceState):加载layout布局文件,初始化控件,为控件挂上时间方法。
  • initDatas():调用MobileApi获取数据。

1.3统一事件编程模型

1、不要用switch...case...这种方式,也就是说,除了在initViews中,其他地方不要出现R.id.xxx这种。
2、点击事件直接在initViews中初始化,而且事件具体内容分离,独立私有方法。比如:
mBtn = (Button) findViewById(R.id.button2); mBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { test(0); } });

1.4实体化编程

1.4.1在网络请求中使用实体

网路编程中尽量把网络返回数据构建成实体类,而不是用到再get值。
在使用fastJson中,可能会出现下面问题:
1)加了符号Annotation的实体属性,一使用就崩溃。
2)当有泛型属性时,一使用就崩溃。
这很有可能是混淆没有加以下配置:
-keepattributes Signature //避免混淆泛型 -keepattributes *Animation* //不混淆注解

1.4.2实体生成器

快速理清Json-->实体类
可用EnityGenerater工具,也可用网络上JSON解析即可。

1.4.3在页面跳转中使用实体

使用实体类传递数据,序列化。

1.5Adapter模板

可以抽取公共Adapter来使用。
也可以规定Adapter都必须集成自BaseAdapter。
当然ViewHolder是不可少的。

1.6类型安全转换函数

一般来讲大部分转化在null、数组或其它越界较多。
所以对于MobileAPI返回的数据中,需要加工或者敏感信息(比如金钱)应该对数据进行判断,或进行try..catch捕获错误并进行处理,比如发送错误日志给服务器。也就是说错误信息有两种,一种没有捕获的,可以用友盟类似工具处理,另外一种捕获的可根据情况判断是否提交服务器。

相关文章

  • 重构,夜未眠

    已经读完了《App研发录》第一章,并且对整本书有了一个大致了解。我觉得有必要记录一下,对于架构方面,很多问题第一次...

  • 第1章 重构,夜未眠

    1.1,重新规划Android项目结构 Activity:存放与业务无关的Activity基类 BaseActiv...

  • 第1章、重构、夜未眠

    1.1重新规划Android项目结构 基本上项目目录尽可能细分,容易快速查找界面。现在感觉mvp模式不错,可以采用...

  • 夜未眠

    夜未眠,疏影婆娑 夜未眠,佳人辗转又反侧 夜未眠,尚不敢入梦 夜未眠,且把故事与歌 惶恐惊扰故人纷纷扰扰 夜未眠,...

  • 夜未眠

    夜未眠 夜未眠 思想在胸中迸发燃烧 啪啪作响, 整个夜, 辗...

  • 夜未眠

    读《梅奥住院医生成长手记》花费了我一个月的时间。其实说来这样读书也是如吃快餐了,这本书不是冠以作品这么简单,我更愿...

  • 夜未眠

    夜未眠 凡事绕心尖 故而在简书上翻看简书各位志同道合者的文 偶然间翻开一老师文章 连看数篇深觉惭愧 总是高呼我爱...

  • 夜未眠

    月下未眠闻犬吠, 夜深不知晨几许。 开阁欲觅流水音, 忽闻儿啼母亦抚。

  • 夜未眠

    寒风微过夜微光, 步于江岸颔首望。 辗转难眠泪浸衣, 只因居外非故乡。

  • 夜未眠

    文/一土 从前喜欢早睡,现在总是熬夜。即使不忙,有闲暇时间,也还是到深夜才睡。熬夜,成了习惯。这样的习惯很难改变,...

网友评论

      本文标题:第1章、重构、夜未眠

      本文链接:https://www.haomeiwen.com/subject/plsasttx.html