一、需求分析
一个记事本,能够输入标题和内容,创建日期、最新修改日期等信息。
如果没有输入标题则使用内容的第一句话作为标题,创建日期和修改日期均由系统自动生成,无需用户干预。
提供笔记列表,列表中笔记展示位标题、创建日期/修改日期
高级的可以给笔记添加照片或视频,这既可以自己拍摄也可以添加手机中已有的视频。
二、可行性分析
技术可行,经济可行,作为练习使用
技术方面主要用到SQLite,listview、Intent等知识点。
三、编写项目计划书
项目功能模块划分
打开应用的第一个页面用于展示已有的笔记列表,列表中的每一个笔记条目都可以点击,点击之后呈现此笔记的完整内容/编辑页面,列表下方有一个添加笔记的按钮,
开发周期
开发人员安排及工作分配
四、系统设计-功能结构设计,业务流程设计
uml建模工具的使用
新建笔记
点击添加笔记按钮→打开编辑笔记页面
→
用户分别在标题栏和内容栏输入内容;
点击添加视频时,打开系统录像拍摄视频并保存,然后在多媒体列表
中显示视频图片、文件名称、路径;
点击添加图像时,打开照相机拍摄图片并保存,
然后在多媒体列表
中显示图像图片、文件名称、路径;
→点击保存按钮,将笔记和多媒体信息保存到数据库;
→点击取消按钮,关闭当前页面,返回主页面/笔记列表页面。
修改笔记
点击笔记列表中的笔记时,打开编辑笔记页面,并传入当前笔记的信息,在编辑页面有用户对笔记操作,跟新建笔记的操作相同
删除笔记
选择已有笔记,进行数据库删除操作。
保存笔记
将编辑页面里的笔记信息存入到笔记数据库表中,多媒体信息存入到多媒体数据库表中
五、数据库设计
笔记表-notes
id- Integer型、主键、自动增加
INTEGER PRIMARY KEY AUTOINCREMENT,
name- text型,不为空,默认为“”
TEXT NOT NULL DEFAULT \"\",
content,
text型,不为空,默认为“”
TEXT NOT NULL DEFAULT \"\",
date,
text型,不为空,默认为“”
TEXT NOT NULL DEFAULT \"\",
多媒体信息表-media
id-
Integer型、主键、自动增加
INTEGER PRIMARY KEY AUTOINCREMENT,
path- text型,不为空,默认为“”
TEXT NOT NULL DEFAULT \"\",
note_id-
Integer型,不为空,默认为0
INTEGER NOT NULL DEFAULT 0
六、架构设计
模块与模块之间的通信机制,MVC、
视图层,使用LinearLayout,列表使用ListView
项目工程结构:
七、代码开发及工作分配
主页面/笔记列表显示页面的布局代码:
/Notes/res/layout/activity_main.xml
八、测试
列出要测试的功能、记录测试时间及操作方式、记录造成BUg出现的操作步骤
发布给提交给客户
测试功能和操作方式:
应用的功能是否达到需求,达到了。
数据库创建是否成功,成功了,两个理由:查看目录知道有数据库文件;关闭应用重新打开时笔记不会消失。
运行截图:
查看照片
播放视频
后记:
这因为只是学习实践,为了练习Android使用SQLite,listview、Intent等知识点所做,但是功能还是太简单、界面太简陋、需要慢慢优化,比较好的学习对象是随笔记/gnote。
源码下载:http://download.csdn.net/detail/huolangge/8221669