易看板程序设计

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

使用看板进行敏捷开发

今天想与大家分享一款敏捷开发工具“看板”,该词汇来自于岛国,当我看到看板的英文时,我真的惊呆了,看板竟然就是 Kanban?! 我们可以结合 Scrum 与 Kanban,让项目管理更加有效,让资源...
  • rdhj5566
  • rdhj5566
  • 2016年10月18日 21:09
  • 450

看板管理与Scrum的比较

看板开发方式是近年引起很多讨论和注目的一种敏捷开发实施,有不少人问到「看板开发方式如何跟Scrum比较?」,Henrik Kniberg就尝试回应这问题。 Henrik Kniberg最新发表 比...
  • iamdll
  • iamdll
  • 2014年01月20日 13:44
  • 3003

敏捷开发 如何设计好看板?:敏捷看板成功实施的关键?如何通过看板实现项目可视化?

敏捷开发的看板不仅仅只是看板?在敏捷开发中为什么要采用看板?如何设计好的看板?任务条是改进的关键?   在我的理解中,敏捷开发中最先需要实施的三项重要工作需求用户故事化,沟通站会制以及进度看板化,...
  • ETIpiero
  • ETIpiero
  • 2017年11月21日 11:24
  • 173

什么是看板?

现在很多软件开发都流行使用看板。就如下图。多数人觉得看板KanBan应该是日语里恰好表达的中文原意,看(白)板,或者什么其它板。其实看板是卡片,是表示出某工序何时需要何数量的某种物料的卡片,又称为传票...
  • IBelieve1974
  • IBelieve1974
  • 2017年03月30日 15:19
  • 307

敏捷其实很简单(4)--初识看板

今天我们来介绍一下敏捷开发中常用的第二个实践,看板方法。其实,看板方法实际上可以说是精益产品开发的重要实践,与其他敏捷方法相比,它具有更强的可实施性,提升端到端价值交付能力,更好支持系统的改进。而且它...
  • superkunkun
  • superkunkun
  • 2016年11月04日 23:01
  • 2374

敏捷看板管理实践——Trello篇

Trello,是免费的在线多人协作看板系统。操作体验非常好,加之看板管理的理念简洁易懂,使trello是个分分钟上手的东西。在实践Trello之前,参考了《精益开发实战——用看板管理大型项目》。结合自...
  • lostaway
  • lostaway
  • 2015年02月21日 17:44
  • 10226

带你感受小而美的看板协作工具leangoo的魅力

Leangoo是一款永久免费且非常简洁的团队的协作工具,它的设计理念是围绕看板进行团队协作,它更是融入了先进的scrum敏捷管理思想......
  • Agile_zhanglao
  • Agile_zhanglao
  • 2016年06月20日 10:00
  • 822

一键免费部署看板管理应用——Wekan

很多同学可能不明白看板管理究竟是什么,别急,下面这两个场景你肯定看到过: 什么是看板管理?     没错,这其实就是KanBan(看...
  • goodrain2016
  • goodrain2016
  • 2016年10月20日 16:36
  • 2285

说说看板在项目中的应用

1. 关于项目1.1. 概述在任何组织中,项目其实就是一件需要大家共同努力配合完成的事情,且最后生产出的事物,是可以供他人长期使用的。好比一个蚁群,有蚁后,也有默默无闻的蚁兵们。蚁后负责命令大家搬食物...
  • tkchen
  • tkchen
  • 2016年06月11日 19:07
  • 3966

带你感受小而美的看板协作工具leangoo的魅力

Leangoo工具2015年5月正式上线,上线6个月已经拥有十万注册用户,日UV10000以上。...
  • leangoo
  • leangoo
  • 2016年01月11日 13:54
  • 2117
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:易看板程序设计
举报原因:
原因补充:

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