一、需求分析

一个记事本,能够输入标题和内容,创建日期、最新修改日期等信息。

如果没有输入标题则使用内容的第一句话作为标题,创建日期和修改日期均由系统自动生成,无需用户干预。

提供笔记列表,列表中笔记展示位标题、创建日期/修改日期

高级的可以给笔记添加照片或视频,这既可以自己拍摄也可以添加手机中已有的视频。

二、可行性分析

技术可行,经济可行,作为练习使用

技术方面主要用到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实现记事本项目完整实例,附源代码相关推荐

  1. android程序开发实例,Android示例程序剖析之LunarLander游戏

    前面有几篇文章写的是对Android示例程序贪吃蛇Snake程序的剖析,本文继续分析Android自带的另一个小游戏LunarLander的程序.在贪吃蛇Snake程序中采用了"定时器+系统 ...

  2. (微信小程序毕业设计)小学生语文学习打卡项目开发实例(附源码+论文)

    大家好!我是岛上程序猿,感谢您阅读本文,欢迎一键三连哦.

  3. lazarus开发android应用程序指南,Lazarus开发Android应用程序指南(2)

    本指南版权由delphicn所有,QQ:1339838080(tom),转载请保留版权信息.文中难免有错,欢迎指正. 2. 编译运行lazarus中的Android示例程序. lazarus安装包中自 ...

  4. 【程序人生】卡塔尔世界杯元素python海龟绘图(附源代码),世界杯主题前端特效5个(附源码)

    卡塔尔世界杯元素python海龟绘图(附源代码) 世界杯主题前端特效5个(附源码)程序人生 本文目录: 一.python turtle海龟绘图卡塔尔世界杯元素 (1).绘制效果图 (2).代码演示方法 ...

  5. android应用程序的生命周期,Android应用程序的生命周期.doc

    Android应用程序的生命周期.doc Android应用程序的生命周期 描述:程序的生命周期是在Android系统中进程从启动到终止的所有阶段,也就是Android从启动到停止的全过程.==程序的 ...

  6. 如何在2019年开发Android应用程序:拥抱“新” Android

    或Bitotsav '19应用程序如何成为现实 (or how the Bitotsav '19 app became a reality) 背景:万神殿'17 (Background: Panthe ...

  7. web加android开发程序吗,Web与Android真正的结合

    "纸飞机",刚开始只是一个简单的想法- "能从一个屏幕扔个纸飞机到另一个屏幕" 提出这个想法人的核心理念是利用网络的力量(即时通讯)把到世界各地所有人连接到一起 ...

  8. 物联网APP:使用android studio实现阿里云物联网平台数字签名(Signature)(附源代码)

    摘要:本文讲解如何在安卓移动端实现阿里云物联网平台数字签名,使用的是android studio编写apk的方式进行,win7 x64系统下实现,文中提供了如何配置android studio的国内镜 ...

  9. android 应用程序分析之settings,Android 应用程序分析之Settings

    由于需要修改Setting默认设定的需要,需要分析下Setting的源码,以及数据存储与读取. Android自带的应用程序存储在packages/apps目录下 主要目录和文件如下: 其中resou ...

  10. android记事本项目案例,Android实现记事本项目完整实例源代码

    [实例简介] 记事本项目源码,我的博客有详细描述. 一个记事本,能够输入标题和内容,创建日期.最新修改日期等信息. 如果没有输入标题则使用内容的第一句话作为标题,创建日期和修改日期均由系统自动生成,无 ...

最新文章

  1. TIDB,面向未来的数据库到底是什么?
  2. 联发科首发台积电4nm,新旗舰多核跑分与苹果A15不相上下,网友:MTK也要Yes了?...
  3. 根据class名 赋值_匿名内部类 类名规则
  4. c++容器共性机制研究
  5. 在Delphi7中调试COM
  6. 操作系统原理之进程调度与死锁(三)
  7. 微服务统计,分析,图表,监控一体化的HttpReports项目在.Net Core 中的使用
  8. java运行环境jdk的安装和环境变量的配置
  9. AD放置过孔按TAB键使过孔大小为设置值0.6/0.3
  10. Ubuntu配置Wine教程
  11. 【解决】当前操作环境不支持支付宝控件/一直处于“正在安装证书“中
  12. macOS配置使用ODB
  13. Netty网络编程实战2,使用Netty开发聊天室功能
  14. MCE公司:M525-针对混合谱系白血病(MLL)的新型抑制剂
  15. 标记复制法、标记清除法和标记整理法的区别
  16. 关于Arcinfo运行AML脚本无法正确生成DHSVM河道文件的问题的解决方法
  17. java redis geo_Redis GEO
  18. 香港手机号、固话、身份证正则表达式校验
  19. 公网IP是什么(Public IP)
  20. 人生苦短我爱python英文_人生苦短,我爱Python001——Python简介

热门文章

  1. Maven最佳实践:管理依赖
  2. Cortex-M0详解(2)--寄存器
  3. Java模版引擎velocity的使用
  4. Unity OnPostprocessTexture 和 OnPreprocessTexture 使用注意事项
  5. java call.invoke_java invoke 以及 webservice详解,求助
  6. 普中28335开发攻略_带你了解TI的DSP入门芯片TMS320F28335
  7. python下载完是什么样的图片_[宅男福利]用Python下载页面中所有的图片
  8. login组件的两种用法_Vue.js 组件该如何正确的复用和扩展
  9. [vue-router] Duplicate named routes definition: { name: “XXX“, path: “XXX“ }
  10. 注解的引入以及注解的使用