android示例程序剖析之记事本,Android实现记事本项目完整实例,附源代码
一、需求分析
一个记事本,能够输入标题和内容,创建日期、最新修改日期等信息。
如果没有输入标题则使用内容的第一句话作为标题,创建日期和修改日期均由系统自动生成,无需用户干预。
提供笔记列表,列表中笔记展示位标题、创建日期/修改日期
高级的可以给笔记添加照片或视频,这既可以自己拍摄也可以添加手机中已有的视频。
二、可行性分析
技术可行,经济可行,作为练习使用
技术方面主要用到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
android示例程序剖析之记事本,Android实现记事本项目完整实例,附源代码相关推荐
- android程序开发实例,Android示例程序剖析之LunarLander游戏
前面有几篇文章写的是对Android示例程序贪吃蛇Snake程序的剖析,本文继续分析Android自带的另一个小游戏LunarLander的程序.在贪吃蛇Snake程序中采用了"定时器+系统 ...
- (微信小程序毕业设计)小学生语文学习打卡项目开发实例(附源码+论文)
大家好!我是岛上程序猿,感谢您阅读本文,欢迎一键三连哦.
- lazarus开发android应用程序指南,Lazarus开发Android应用程序指南(2)
本指南版权由delphicn所有,QQ:1339838080(tom),转载请保留版权信息.文中难免有错,欢迎指正. 2. 编译运行lazarus中的Android示例程序. lazarus安装包中自 ...
- 【程序人生】卡塔尔世界杯元素python海龟绘图(附源代码),世界杯主题前端特效5个(附源码)
卡塔尔世界杯元素python海龟绘图(附源代码) 世界杯主题前端特效5个(附源码)程序人生 本文目录: 一.python turtle海龟绘图卡塔尔世界杯元素 (1).绘制效果图 (2).代码演示方法 ...
- android应用程序的生命周期,Android应用程序的生命周期.doc
Android应用程序的生命周期.doc Android应用程序的生命周期 描述:程序的生命周期是在Android系统中进程从启动到终止的所有阶段,也就是Android从启动到停止的全过程.==程序的 ...
- 如何在2019年开发Android应用程序:拥抱“新” Android
或Bitotsav '19应用程序如何成为现实 (or how the Bitotsav '19 app became a reality) 背景:万神殿'17 (Background: Panthe ...
- web加android开发程序吗,Web与Android真正的结合
"纸飞机",刚开始只是一个简单的想法- "能从一个屏幕扔个纸飞机到另一个屏幕" 提出这个想法人的核心理念是利用网络的力量(即时通讯)把到世界各地所有人连接到一起 ...
- 物联网APP:使用android studio实现阿里云物联网平台数字签名(Signature)(附源代码)
摘要:本文讲解如何在安卓移动端实现阿里云物联网平台数字签名,使用的是android studio编写apk的方式进行,win7 x64系统下实现,文中提供了如何配置android studio的国内镜 ...
- android 应用程序分析之settings,Android 应用程序分析之Settings
由于需要修改Setting默认设定的需要,需要分析下Setting的源码,以及数据存储与读取. Android自带的应用程序存储在packages/apps目录下 主要目录和文件如下: 其中resou ...
- android记事本项目案例,Android实现记事本项目完整实例源代码
[实例简介] 记事本项目源码,我的博客有详细描述. 一个记事本,能够输入标题和内容,创建日期.最新修改日期等信息. 如果没有输入标题则使用内容的第一句话作为标题,创建日期和修改日期均由系统自动生成,无 ...
最新文章
- TIDB,面向未来的数据库到底是什么?
- 联发科首发台积电4nm,新旗舰多核跑分与苹果A15不相上下,网友:MTK也要Yes了?...
- 根据class名 赋值_匿名内部类 类名规则
- c++容器共性机制研究
- 在Delphi7中调试COM
- 操作系统原理之进程调度与死锁(三)
- 微服务统计,分析,图表,监控一体化的HttpReports项目在.Net Core 中的使用
- java运行环境jdk的安装和环境变量的配置
- AD放置过孔按TAB键使过孔大小为设置值0.6/0.3
- Ubuntu配置Wine教程
- 【解决】当前操作环境不支持支付宝控件/一直处于“正在安装证书“中
- macOS配置使用ODB
- Netty网络编程实战2,使用Netty开发聊天室功能
- MCE公司:M525-针对混合谱系白血病(MLL)的新型抑制剂
- 标记复制法、标记清除法和标记整理法的区别
- 关于Arcinfo运行AML脚本无法正确生成DHSVM河道文件的问题的解决方法
- java redis geo_Redis GEO
- 香港手机号、固话、身份证正则表达式校验
- 公网IP是什么(Public IP)
- 人生苦短我爱python英文_人生苦短,我爱Python001——Python简介
热门文章
- Maven最佳实践:管理依赖
- Cortex-M0详解(2)--寄存器
- Java模版引擎velocity的使用
- Unity OnPostprocessTexture 和 OnPreprocessTexture 使用注意事项
- java call.invoke_java invoke 以及 webservice详解,求助
- 普中28335开发攻略_带你了解TI的DSP入门芯片TMS320F28335
- python下载完是什么样的图片_[宅男福利]用Python下载页面中所有的图片
- login组件的两种用法_Vue.js 组件该如何正确的复用和扩展
- [vue-router] Duplicate named routes definition: { name: “XXX“, path: “XXX“ }
- 注解的引入以及注解的使用