继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

AndroidDesign框架解析

繁华开满天机
关注TA
已关注
手记 134
粉丝 15
获赞 68

一.AndroidDesign框架特点:

自动化高,层级分明;窗口职责化,查错效率高;各级结构标准化,混乱代码易优化;勿须重构智能化,各司其职模块化。

二.AndroidDesign框架包含的主要模块

1.中转站(网络+数据库+其它)

  

  框架核心模块,重要级别为最高。外异内同方式搭建。自动输出网络信息[url,param,status]到手机日志,点击url可查看原Json数据,点击Json中的url[如图片链接]即可查看原图。错误自动定位[错误信息自动定位到异常窗口-->异常网络method并输出]。

2.标题栏函数化

  使用静态布局[仅编辑内容栏]+动态布局[核心]方式搭建。框架自动注入标题栏与进度栏,免include引用。

3.中转站进度条自动化

  中转站自动处理进度[网络进度,数据库进度,耗时进度]的显示与隐藏。也可手动控制,适合在网络子层首句重置进度文本。

  eg.[**Service:query**:functionView.setProgressBar("正在查询圈子")]。

4.内容栏include公用简化

  常用的AdapterView布局,刷新布局,空间布局,分界线布局,搜索布局,组合布局等均公用化,并以common_***.xml规范命名。

5.ids文件公用化常用id

  重用需要自动化控制的id,常用的id。包含框架所需的id。

6.值(尺寸,颜色)级别公用化

  颜色值与尺寸值统一到独立文件中修改。具体布局中不出现具体的颜色值,尺寸值。设计图初始分析各值,统一修改,清晰呈现资源。

7.事件处理逐层化

  中转站事件:聚合分发式。先统一聚合到中转站按照不同状态预处理,之后分发到子窗口Activity或子碎片窗口Fragment中。按需实现。不实现时由(碎片)窗口上层默认处理(Toast显示数据或定位错误)。

  窗口事件:由窗口自动传递到functionView中。选择性分发到functionView,adapter,listener中职责化处理,最大程度减少窗口冗余。

8.上下拉刷新分页

  框架集成了开源的PullToRefresh源码。修缮了分页显示问题。刷新头尾智能化提示页数信息。增加了左滑删除控件的刷新分页。增加了获取两种adapter的函数[分别用于通知刷新数据与获取item数据]。

9.异步图片加载

  使用免配置的Picasso库。公用工具包ImageUtils类中封装了使用Picasso加载矩形,圆角,圆形等图片的重载函数。工具包中也包含了TimeFormatUtils[时间友好化工具]等等种种实用的工具。

10.对象关系映射

  框架使用ormlite对象关系映射框架。分别用dao包,daoimpl包,db包,table包来深化sqlite的层级结构。并包含示范写法。basetable包一般装入需要与后台同步数据的表实体。

11.登录过程安全认证

  当使用session+token方式开发登录模块时,需配合MemberService,UserMethod与BaseService中的数据失效处理协作开发。

12.错误处理

  使用后台发送邮件方式通知错误。handler包CrashHandler类中发送邮件函数中,可以配置多个接收者邮箱。日志管理中可以配置邮箱并发送完整日志。  

13.json解析

  使用FastJson解析接口数据。引用的FastJson库是修缮过源码的库。主要是当解析时在FastJson层将null容器转为了非null的0大小容器。避免解析后容器null判断的烦扰操作,以应对C#作后台时将Json数据转为字符串时不方便根据数据类型进行配置的问题。

14.adapter处理逐层化

  上层adapter充分分担子adapter共有的处理。使子adapter仅需重写getView函数。并进一步将ViewHolder机制简化,减少适配层冗余。

15.界面配置

  在不修改代码的前提下,支持在软件内部通过系统菜单键进入基本设置页面中重新配置界面。配置对应constant包BasicSettingConstant类。配置包括:是否显示左,右侧滑菜单;是否显示顶部,底部导航栏;是否显示通知栏,系统标题栏;屏幕方向是否固定为竖直等等。

16.调试模式配置

  软件中间出现的蜜蜂图标为调试所用,调试模式下可见,为可滑动的悬浮窗,包含日志,内存,进程三大调试模块。在公用工具包Log类中统一配置应用程序的调试/上线模式,手机/控制台模式。Log类使用开源Log4j库将日志持久化输出到本地文件,并在手机中即时显示。各种状态使用不同的颜色。如日志中出现了红色段落则代表程序出现了异常。此时,测试人员或其他持有终端的人员可以将完整日志发送到任意指定的邮箱。进程列表通过listitem上下文菜单可进入进程详情。

  除了可见的蜜蜂调试外,另包括默认不可见的控件调试模块。控件调试暂兼容TextView,Button与EditText,需要使用commonview中对应的自定义widget控件。通过长按某个控件弹出控件调试窗,可查看和实时改变当前的尺寸和颜色,以方便设计人员检查,修改和实时查看效果。后期会细化此调试功能,如手机端建立自己的颜色,尺寸库;修改之后保存本地并将要改的控件尺寸颜色和改变成的尺寸颜色发送给开发者修改等等。

17.下期修改计划

  框架三分[工程分离为框架工程,资源工程,项目工程];深化控件调试模块;兼容AndroidStudio开发环境

原文链接:http://www.apkbus.com/blog-784139-61039.html

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP