美文网首页
安卓App项目开发的几点认识

安卓App项目开发的几点认识

作者: sugaryaruan | 来源:发表于2016-11-20 17:39 被阅读101次

    项目收获:

    1. 团队多人开发下

    项目第一级目录按功能模块划分,二级分类按控件划分。这个原则对res目录下的values目录同样适用。也即:colors,strings,dimens,atrr,style文件要创建多个,用功能模块分类,这样提交代码时,方便审核,较少提交冲突。对需要相互依赖的文件,统一放在一个目录下集中体现

    2. 跳转逻辑

    一部分放在Navigator静态类里,一部分逻辑封装到BaseActivity的Protect方法(如果所有逻辑都封装在父类,增加了父类负担,代码可读性降低)

    3. 约定 思维

    接口定义,泛型的使用位置,方法入参,返回数据这些都体现着约定思想,谁调用我,就要按我的约定规则来。约定规则怎么写才能表示约定人的意图呢?这要用到约定规则的规则Java语法和使用。学好Java才能让程序员充分表达自己的逻辑和意图。

    4. RxJava操作符:

    创建型:

    • create,just,from,
    • range,interval
    • combineLatest
    • concat(多个流按顺序串行发射),merge(多个流交叉合并成一个流发射),zip(多个流合并成一个流后统一发射)

    处理型:

    • map,flatMap(交叉发射),concatMap(串行发射)
    • repeat,take,takeLast
    • first(只发射满足条件的第一个),single(只发射顺序为第一个的数据源)
    • debounce(发射最后一次)
    • concatWith
    • skip(N) 抑制Observable发射的前N项数据
    • merge(count,skip)每接收到count个数据后,将该count的个数据打包,并跳过第skip个数据,发送给订阅者
    RxLifecycle使用

    Github主页

    RxJava 中 merge, contact,compose 区别

    RxJava操作符之takeUntil

    带你学开源项目:RxLifecycle-当Activity被destory时自动暂停网络请求

    5. Java中,父类和子类如何配合,以实现一个完整逻辑?

    父类盛放共有的,具体的,稳定的的变量和方法
    子类相对于父类具有拓展能力和行为,不同子类有不同方法。

    明确谁是导演类(Director Class,顶层的导演类也称为客户端类,用这样的方式划分体现类与类的调用关系)。

    如果是父类是子类的导演,父类调用子类,则子类实现父类的抽象方法或者重写Protected方法。此时,站在父类角度看:模块逻辑的执行顺序在父类里规划,站在子类的角度看:子类是具体逻辑的战场,父类是援军,父类在调用是,把自己的变量(援军)通过方法参数传给子类,具体逻辑的实施(战场)在子类方法里。

    如果子类是父类的导演,子类新的方法里调用父类的方法。

    相关文章

      网友评论

          本文标题:安卓App项目开发的几点认识

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