易看板程序设计

原创 2016年08月29日 14:01:19

程序的架构(模式)设计

程序使用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 生产
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

网易云课堂程序设计入门--C语言第七周:指针与字符串学习笔记

第七周:指针与字符串学习笔记 网易云课堂 程序设计入门--C语言

网易云课堂程序设计入门—C语言第五周 函数学习笔记

第五周 函数标签(空格分隔):程序设计入门—C语言5.1函数#include void sum ( int begin, int end ){ int i, sum = 0; for...

对S3C2440裸板程序设计(无操作系统)的抽象

对S3C2440裸板程序设计(无操作系统)的抽象           在嵌入式领域中,几乎所有的设备控制和各种协议控制都在同一个嵌入式CPU当中,非常有利于对CPU Core和设备进行抽象。如果能对C...
  • ce123
  • ce123
  • 2012-02-10 21:22
  • 4247

网易云课堂程序设计入门—Java语言(第三周)

奇偶个数 题目内容: 你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。程序输出读到的数据中的奇数和偶数的个数。 输入格式: 一系列正整数,整数的范围是(0,1...

【网易云课堂】Java语言程序设计进阶第一次作业总结

Java 入门作业总结

网易云课堂程序设计入门—Java语言(第五周)

井字棋 题目内容: 嗯,就是视频里说的那个井字棋。视频里说了它的基本思路,现在,需要你把它全部实现出来啦。 你的程序先要读入一个整数n,范围是[3,100],这表示井字棋棋盘的边长。比如n=3就...

动态网页程序设计报告(留言板)

留言板  摘要:   本课程设计的对象是一个留言板。本留言板有两个方向,五大模块,七大功能。五大模块:显示留言,删除留言,添加留言,版主登陆,用户登陆留言。七大功能:显示留言,删除留言,添加留言,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)