易看板程序设计

程序的架构(模式)设计

程序使用MVP模式进行开发。

这里写图片描述

包设计

公共子包

包名描述
impl放接口实现类
model放模型(JavaBean)类
util放工具类
exception放异常类

包说明

包名描述
com.ircloud.core核心包,该包的内容可以无缝迁移到别的工程,与业务无关
com.ircloud.core.cache缓存包,放缓存相关的代码
com.ircloud.core.jsonjson包,放json处理相关的代码
com.ircloud.core.log日志包,放log处理相关的代码
com.ircloud.dashboard易看板的根包,放易看板业务相关的代码
com.ircloud.dashboard.api放api代码
com.ircloud.dashboard.presenter放业务逻辑处理代码
com.ircloud.dashboard.view放视图代码
com.ircloud.dashboard.view.activity放Activity类
com.ircloud.dashboard.view.dialog放Dialog类

类设计

类说明

类名描述
com.ircloud.dashboard.AppContext应用上下文类
com.ircloud.dashboard.Constants应用公共常量类,包括Bugly的appId,日志标签,缓存的Key,清单文件的Meta key(前缀是MK_),时间常量等常量

数据库设计

暂无

Api设计

  1. api每一个接口都对应一个接口编码,编码均存放在ApiCode类
  2. 调用api出现的异常均抛出ApiException
  3. 外部调用api,只需要使用Api类和ApiFactory类
  4. api使用Retrofit库进行开发

Json处理设计

  1. 外部调用json处理使用com.ircloud.core.json.JsonUtils工具类
  2. Retrofit使用的json处理使用com.ircloud.core.json.ObjectMapperFactory工厂类
json字符串转java对象
GeoModel[] geoModels = JsonUtils.fromJson(geoJson, GeoModel[].class);
java对象转json字符串
String json = JsonUtils.toJson(data);

图片库设计

暂无

内存缓存设计

  1. 外部调用内存缓存,只需要使用ICache类和CacheFactory类
  2. 缓存的对象必须可序列化,即是实现Serializable接口
  3. 缓存可以设置创建时间和过期时间,以此判断缓存是否失效
  4. 缓存的key值存放在Constants类,前缀是CK_,如CK_USER_NAME
缓存数据
memoryCache.put("currentUser", currentUser);
缓存数据,数据5分钟后失效
memoryCache.put("currentUser", currentUser, new Date(), 5*60*1000);
获取缓存的数据
UserSo currentUser = memoryCache.get("currentUser", UserSo.class);
删除缓存的数据
memoryCache.del("currentUser");

视图设计

  1. BaseRxCordovaActivity是CordovaActivity与RxAndroid集成的基类
  2. activity布局文件的命名为activity_xxx
  3. dialog布局文件的命名为dialog_xxx
例子

DashboardActivity对应的布局文件是activity_dashboard.xml
TrendDialog对应的布局文件是dialog_trend.xml

屏幕适配设计

机型屏幕分辨率1dp/1sp的像素值对应的values文件夹
乐视手机乐21920x10803pxvalues-xxhdpi-1920x1080
乐视电视X501920x10802pxvalues-xhdpi-1920x1080

日志设计

  1. 外部调用内存缓存,只需要使用com.ircloud.core.log.Logger接口和com.ircloud.core.log.LoggerFactory类
获取日志接口
private static Logger logger = LoggerFactory.getLogger();
打印日志
logger.debug("Getting online user data is completed.");

外部库设计

  1. 时间库使用net.danlew:android.joda,能够更方便对时间进行操作

外部接口(第三方平台)设计

  1. 程序更新功能使用Bugly
  2. 崩溃日志收集功能使用Bugly

版本渠道设计

名称描述
dev开发
test测试
pro生产
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值