赞
踩
由于小米便签项目是用eclipse开发的,与Android studio的工程结构不同,所以需要将其转化为gradle项目,才能在AS中运行。
点击Import Project:
然后一直默认选择,下一步就可以。
可能会出现以下错误(由于再配置的时候没有截图,以下引用别人的图)
根据搜索的资料,我的方法是用手机流量进行下载或者多尝试几次。
还有可能会出现报错乱码,则需要在项目的build.gradle文件中添加以下代码
还有会出现以下报错,这是因为小米便签依赖于一个httpcomponents-client组件,用来执行网络服务
所以需要到网站Index of /apache/httpcomponents/httpclient/binary (tsinghua.edu.cn)下载组件,并导入到项目中
有时候会出现超时的报错,需要在项目的build.gradle文件中添加以下两行google()代码
并在build.gradle(:app)中添加以下依赖
以上是遇到的大部分问题。解决完即可运行:
克隆dev分支到本地:
验证:
7.具体开发流程是:组长和组员分别在各自的本地dev分支开发,有阶段性成果后push到远程dev【若有冲突,解决冲突再合并】
当开发完成、结果稳定后,组长将本地的master和dev分支merge,再把master分支push上去
将本地的master和dev分支merge:
把master分支push上去:
在gitee的结果:
1.小米便签功能介绍
1)应用入口
第一次进入系统时,应用会自动创建一个便签
2)便签-编辑
3) 便签 -菜单-删除
菜单功能-删除
4)便签-菜单-设置文本大小
5)便签-菜单-提醒我-闹钟
6)便签-更换便签背景,只有5种颜色
7) 便签-列表
8) 便签-清单模式
9) 右键菜单-gtask设置和同步
同步数据到gtask,需要输入账号和密码,但是这个功能好像用不了。
10) 右键菜单-导出到文本,这个功能我也觉得好像用不了
11) 右键菜单-搜索便签
12) 右键菜单-新建文件夹
13) 便签-菜单-添加注释
14) 便签-菜单-分享,可以分享到email或messaging
15) 便签-菜单-发送到主页,成功后,便签就能直接在主页查看了
16) 右键菜单-设置
在完整阅读完小米便签代码后,分析并掌握小米便签系统的功能,进一步学习理解UML图的绘制
项目目录
小米便签系统Java代码分为data,gtask,model,tool,ui,widget六个模块
BackupUtils提供备份工具的功能
DataUtils处理便签数据的工具
GTaskStringUtils定义了很多的静态字符串,目的就是为了提供jsonObject中相应字符串的"key"。把这些静态的定义单独写到了一个类里面,这是非常好的编程规范
ResourceParser字面意义是资源分析器,实际上就是获取资源并且在程序中使用,比如颜色图片等
Note管理便签的数据和操作
WorkingNote管理工作中的便签包含各种相关属性和方法
Contact获取联系人信息
Notes定义一些常量和标识符
NotesDatabaseHelper用于管理便签应用的数据库
NotesProvider用于向数据库提供各种功能(增,删,改,查)
gtask.data包
MetaData用于管理任务的元数据 (?)
abstract class Node抽象类Node,用于表示各种数据对象
SqlData用于处理数据库的数据
SqlNote用于处理数据库的便签数据,和sqlnote的关系上是子集关系,即data是note的子集(节点)。
Task用于表示任务对象
TaskList用于表示任务列表对象,包括获得任务数量、添加删除移动任务等方法
gtask.exception包
ActionFailureException支持小米便签运行过程中的运行异常处理。
NetworkFailureException支持小米便签运行过程中的网络异常处理。
gtask.remote包
GTaskASyncTask实现GTask的异步操作过程
GTaskClient实现GTASK的登录操作,进行GTASK任务的创建,创建任务列表,从网络上获取任务和任务列表的内容
GTaskManager可以实现本地同步和远端同步等方法
GTaskSyncService是在一段不定的时间运行在后台,不和用户交互的应用组件
通过绘制类之间的调用关系图来掌握小米便签的具体设计;
要绘制一个项目中各类的关系图,首先必须了解类间关系的种类,它分为六个分类:继承(泛化)、实现、关联、聚合、组合、依赖;
ui里的继承类间关系
ui里的实现类间关系
data的类之间的调用关系图:
gtask的类之间的调用关系图:
我认为核心类有两个,一个是model包下的Note类,还有一个是data包下的NotesProvider类。
Note类表示应用中的单个便签的实体对象,它主要通过两个成员变量mNoteDiffValues和mNoteData储存和管理便签信息和数据(如便签的创建日期、修改日期、类型等),通过与用户的交互,处理文本和通话数据、执行批量操作、处理异常以及记录日志等功能,确保应用能够高效地存储、搜索和更新便签数据。
NotesProvider类,它继承自Android的ContentProvider类。ContentProvider是Android四大组件之一,用于在不同的应用之间共享数据。NotesProvider类通过UriMatcher,根据不同的URI请求执行不同的操作,用于向数据库提供各种功能(增,删,改,查)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。