关闭

易看板程序设计

207人阅读 评论(0) 收藏 举报

程序的架构(模式)设计

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

这里写图片描述

包设计

公共子包

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

包说明

包名 描述
com.ircloud.core 核心包,该包的内容可以无缝迁移到别的工程,与业务无关
com.ircloud.core.cache 缓存包,放缓存相关的代码
com.ircloud.core.json json包,放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文件夹
乐视手机乐2 1920x1080 3px values-xxhdpi-1920x1080
乐视电视X50 1920x1080 2px values-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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:29518次
    • 积分:667
    • 等级:
    • 排名:千里之外
    • 原创:31篇
    • 转载:0篇
    • 译文:0篇
    • 评论:7条
    最新评论