基于Android的简单记事本.doc
《基于Android的简单记事本.doc》由会员分享,可在线阅读,更多相关《基于Android的简单记事本.doc(15页珍藏版)》请在冰豆网上搜索。
![基于Android的简单记事本.doc](https://file1.bdocx.com/fileroot1/2022-10/7/e6e251b4-00f7-4444-9d2f-01f8a8d5c780/e6e251b4-00f7-4444-9d2f-01f8a8d5c7801.gif)
摘要:
本文主要阐述了基于Android的简单记事本的设计与实现,较为系统的介绍了用户通过点击add按钮编辑事件、通过save按钮添加事件,以及在主界面查看事件列表、单击列表查看单个事件的详细内容,和通过长按列表弹出对话框,选择修改事件、删除事件等。
本文主要介绍的是运用eclipse软件进行Android应用的设计,如使用Activity类、运用Intent技术实现页面的跳转、通过数据存储实现标题、时间、内容的保存以及取出查看的功能。
通过以上技术使应用中的各项操作简便易懂并且有明确的提示,让用户可以更清晰快捷地掌握该记事本的使用,为用户节省了时间,为用户提供了便利,随时随地都能记录生活。
关键词:
Android、记事本、Intent、Activity
目录
绪论 1
1需求分析和概要设计 3
1.1需求分析 3
1.2整体要求 3
1.3开发工具和环境 3
2系统设计 4
2.1系统设计架构 4
2.2界面概述 4
2.3模块概述 5
3系统详细设计 6
3.1NotepadActivity类 6
3.1.1add按钮监听 6
3.1.2ListView监听 6
3.1.3initListView方法() 7
3.2EditTextActivity类 7
3.2,.1save按钮监听 7
3.3CheckListActivity类 8
3.4DatabaseHelper类 8
3.5DatabaseManager类 8
3.6ListViewAdapeter类 18
4系统的不足及展望 9
4.1不足 9
4.1.1没有特色 9
4.1.2支持的形式太少 9
4.2展望 9
4.2.1实现备忘录提醒 9
总结 10
参考文献 11
致谢 12
绪论
一、开发背景及意义
近年来,随着媒体和信息技术的快速发展,国内外的智能手机发展趋势越来越好,随着人们生活水平的提高,人们对于智能手机功能的需求量也相对增加,智能手机的涉及范围已经布满全世界,因为智能手机具有优秀的操作系统、可自由安装各类软件、完全大屏的全触屏式操作感这三大特性,所以完全终结了前几年的键盘式手机。
随着智能手机的发展,Android系统也广泛发展起来,收到用户普遍欢迎。
Android系统作为智能手机系统,因其自由及开放源代码使得它具有极强的竞争力。
2014第一季度Android平台已占所有移动广告流量来源的42.8%,首度超越IOS。
然而随着现在人们的生活水平和质量的提高、人们的压力也越来越大,而且压力来源也是多元化的,更多的人希望靠电子工具来帮自己记录一些重要的事件,避免自己忘记而造成不良后果,该简单的记事本应用将会很好的帮助用户们,使他们生活更轻松。
二、国内外研究现状
目前国内外有4款比较火的记事本软件。
分别是Evernote,小米便签,NoteEverything,麦库记事。
Evernote在软件界面方面界面清爽,需注册登录后才可使用,图标布局比较协调;记事方面可编写内容,添加标签,支持上传图片、音频、视频、文件等附件;特色功能方面具有搜索笔记和发送笔记、定位服务、同步等功能;资源占用方面内存占最多,CPU占用适中。
小米便签在软件界面方面界面功能简单,可查看和新建便签,菜单功能相对丰富;记事方面只支持文字内容,可以选择桌面Widget颜色,字体大小等;特色功能方面可以移进文件夹和分享、备份、还原和设置保护密码;资源占用方面内存占用较中,CPU占用最少。
NoteEverything界面简洁,上方有新建记事和搜索等按钮,菜单功能非常丰富;支持文本、绘图、语音、图片、清单、图库、视频、条形码等形式,可固定显示记事;特色是单个记事加密,数据备份、还原、导入、到处,创建快捷方式;内存占用最少,CPU占用较中。
麦库记事界面比较精美,菜单功能相对简单;可选分类、加标签、附件,支持拍照和实时录音。
特色是笔记搜索和分类,网络同步和笔记分享;内存占用适中,CPU占用最多。
三、主要研究内容
在学习了一期的Android应用开发后,介于此,本项目开发了简单记事本应用系统用于完成期末项目。
本项目开发过程主要有程序设计、代码编写、系统测试、文档编写等,目标是实现提供Android记事本应用,使用户能够方便快捷地记录下重要事件,为用户们带来便利的服务。
1需求分析和概要设计
1.1需求分析
记事本主要作为日常生活记录重要事件的工具成为了当今智能手机自带的重要功能。
其功能包括:
添加事件
查看事件
修改事件
删除事件
1.2整体要求
本应用是用于实现为Android用户提供记事本功能的简单项目,其目标是实现添加、编辑并保存事件,以及对已添加事件的操作,如查看、修改、删除。
在该应用的构建中的重点就在数据储存方面,通过设计该应用熟练掌握了数据储存的技术。
由于其技术含量不是非常高,所以需要在交互界面方面下功夫,重点在于操作方便快捷,提示清晰易懂,使用户不需要更多说明就可以熟练地操作,整个系统也不繁琐,使用户在操作中保持轻松的心情,从而赢得大家喜欢,为其发展做铺垫。
1.3开发工具和环境
Android运行环境由两部分组成:
Android核心库集和Dalvik虚拟机。
其中核心库集提供了Java语言核心库所能使用的绝大部分功能,而虚拟机负责运行Android应用程序。
每个Android应用程序都运行在单独的一个Dalvik虚拟机内,因此Dalvik专门针对同时高效地运行多个虚拟机进行了优化,因此Android系统可以方便地实现对应用程序进行隔离。
Dalvik虚拟机非常适合在移动终端上使用,相对于在PC或服务器上运行的虚拟机而言,Dalvik虚拟机不需要很快的CPU计算速度和大量的内存空间,它主要有如下两个优点:
运行专有的.dex文件。
专有的.dex文件减少了.class文件中的冗余信息,而且会把所有.class文件整合到一个文件中,从而提高运行性能;而且DX工具还会对.dex文件进行一些性能的优化。
基于寄存器实现。
大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于寄存器的。
2系统设计
2.1系统设计架构
该应用是由三个页面组成的,分别是主页面(NotepadActivity)、编辑页面(EditTextActivity)、查看页面(CheckListActivity),整个系统架构如下图2-1所示。
图2-1应用系统架构图
2.2界面概述
该系统共有3个主要的页面,分别是主页面、编辑页面以及查看页面,如下图2-2、2-3、2-4所示:
图2-2主页面视图图2-3编辑页面视图
图2-4查看页面视图
2.3模块概述
主页模块:
已经添加过的事件通过主页中的列表显示出来,还可以点击添加按钮add新建模块;
编辑模块:
可以新建事件并对其标题和内容进行编辑,以及把编辑好的事件保存并显示到列表中,已经添加过的事件也可以通过该模块进行修改;
查看模块:
通过该模块可以查到事件的详细信息,如创建时间、标题和内容等;
删除模块:
该模块可以将已添加的事件删除,删除后的事件不会再出现在列表中。
3系统详细设计
该项目运用了Activity、Intent以及数据存储等Android的核心技术,详细介绍如下:
3.1NotepadActivity类
此Activity为主界面,显示了事件列表以及添加按钮add。
3.1.1add按钮监听
从主界面跳转到编辑界面
publicclassAddButtonListenerimplementsOnClickListener{
publicvoidonClick(Viewv){
Intentintent=newIntent();
intent.putExtra("state",EDIT_STATE);
intent.setClass(NotepadActivity.this,EditTextActivity.class);
NotepadActivity.this.startActivity(intent);
}
}
3.1.2ListView监听
publicclassMenuCreateListenerimplementsOnCreateContextMenuListener{
publicvoidonCreateContextMenu(ContextMenumenu,Viewv,
ContextMenuInfomenuInfo){
finalAdapterView.AdapterContextMenuInfoinfo=
(AdapterView.AdapterContextMenuInfo)menuInfo;
menu.setHeaderTitle("");
menu.add(0,0,0,"删除");
menu.add(0,1,0,"修改");
}
}
3.1.3initListView()方法
遍历了数据库,方便获取数据
3.2EditTextActivity类
此Activity为编辑界面,显示了可编辑的标题和内容以及保存按钮save。
3.2.1save按钮监听
单击时将数据保存到SQLite并跳转到主页面
publicclassSaveButtonListenerimplementsOnClickListener{
publicvoidonClick(Viewv){
titleText=title.getText().toString();
contentText=content.getText().toString();
try{
dm.open();
if(state==EDIT_STATE){
dm.insert(titleText,contentText);
}
if(state==ALERT_STATE){
dm.update(Integer.parseInt(id),titleText,contentText); }
dm.close();
}
catch(Exceptione){
e.printStackTrace();
}
Intentintent=newIntent();
intent.setClass(EditTextActivity.this,NotepadActivity.class);
EditTextActivity.this.startActivity(intent);
}
}
3.3CheckListActivity类
此Activity为查看界面,显示了单个事件的标题内容和时间。
3.4DatabaseHelper类
此类封装了数据库管理方法
publicclassDatabaseHelperextendsSQLiteOpenHelper{
privateStringtableName="record";
privateStri