美文网首页
阅读代码有感

阅读代码有感

作者: ZZZ_Hero | 来源:发表于2017-03-24 10:53 被阅读15次

最近在做项目的功能优化,其中遇到一些小的bug,虽然很小,但是也花了不少的时间解决
持续的更新中。。。。。
这次的工作是接手原本的项目,因此大体的代码都是别的工程师写好的,在改动的过程中,需要整理清楚之前的逻辑了解之前的代码风格。

阅读代码建议:

1、看别人的代码,首先要先把App放在手机上测测,了解大体上的功能和界面框架,在慢慢的深入功能的实现
2、在此之后的修改中,要保证之前的功能逻辑,包括界面之前的跳转方式,网络请求方式,数据存储方式等

阅读后感:

针对上面的几个方面进行本次项目的介绍:
页面中底层是acticity继承与FragmentActivity,在activity之上嵌套多个fragment,可以在activity中管理碎片的生命周期,不用在单独对每个碎片管理。
当碎片不可见时,把碎片加入到回退栈中。fragment通过addfragment存在与宿主activity,也可通过传入不同的flag在activity中生成fragmen,每个fragment都是单列。
针对Fragment多层嵌套所遇到的坑,参考-----fragment嵌套
在fragment的嵌套中,生成fragment的方式都是单例,这样减少出现fragment之间的重叠
参考-------单例模式

网咯请求方式:

网络请求采用的是HttpClient
通过一个接口封装的网络请求方法,再创建接口的实现类,实现每个网络请求方法。网络请求的方式通过异步任务实现,创建每个网络请求的异步任务,并在任务中实现异步的监听,通过监听回调数据

封装异步任务代码展示:
 public class SendDeviceServiceJsonTask extends AsyncTask<String, Void, MessageForSendDevice> {
   private AsyncTaskListener<MessageForSendDevice> mListener;
    private String content;

public SendDeviceServiceJsonTask(AsyncTaskListener<MessageForSendDevice> listener) {
    // TODO Auto-generated constructor stub
    mListener = listener;
}
@Override
protected MessageForSendDevice doInBackground(String... params) {
    // TODO Auto-generated method stub
    String orderno = params[0];
    String deliverycompany = params[1];
    String deliveryni = params[2];
    String mdtid = params[3];
    SettingServiceImpl service = (SettingServiceImpl) ServicesFactory.getServices(ServicesName.SettingService);
    MessageForSendDevice result = service.sendDevice(orderno, deliverycompany, deliveryni, mdtid);
    return result;
}
@Override
protected void onPostExecute(MessageForSendDevice result) {
    // TODO Auto-generated method stub
    try {
        mListener.onPostExecute(result);
    } catch (Exception e) {
        // TODO: handle exception
    }
}}
数据存储方式:

传值主要发生在fragment之间,
参考---------fragment传值的三种方式
除了fragment之见需要相互传值以外,各组件之间也需相互传值,这里给出一个发布订阅的事件总线,用于各组件之间传值,参考---------EventBus
1、可通过在Activity中设置公共的setData(),getData()方法
2、可通过在Activity中设置公共变量传值
3、可通过广播传值,不过稍显得有些浪费
**

相关文章

  • 阅读代码有感

    最近在做项目的功能优化,其中遇到一些小的bug,虽然很小,但是也花了不少的时间解决持续的更新中。。。。。这次的工作...

  • 2018  5.30  雨  周三

    阅读有感

  • 阅读代码

    2018-05-06 阅读代码 通读代码,做好标记: 函数以及函数的功能。 每个变量的初始赋值。 每个在程序的各个...

  • 阅读代码

    今天想准备3D实验的训练数据集,但是之前看过的代码已经记不清了。这样的问题一直存在,别人的代码啃过之后以为懂了,过...

  • 阅读代码

    看代码是很让人头大的事情,尤其是篇幅很长,依赖关系复杂的时候。一般来说,编译器会通过各种方式理清代码的逻辑,比如不...

  • Mantle 源代码阅读笔记 一

    Mantle 源代码阅读笔记 一 Mantle 源代码阅读笔记 一

  • 自我成长带动学生阅读

    —— 听《白老师谈阅读》有感 王霞 阅读——就目前...

  • 阅读散记(1)

    《代码阅读方法与实践》(中文版)——第一章 导论 为什么要阅读代码? 将代码作为文献 了解代码的工作方式 维护代码...

  • Vue2源码阅读(一):响应式原理

    一、阅读准备 阅读Vue.js代码前,需要准备: 仓库代码,方便加注释和多段关键代码可以同时阅读 打包后未压缩的代...

  • flag 代码阅读

    读 mapillary 的 street viewer 代码。 读 sfm pipeline 的 viewer 代...

网友评论

      本文标题:阅读代码有感

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