安卓记事本实习报告.docx
《安卓记事本实习报告.docx》由会员分享,可在线阅读,更多相关《安卓记事本实习报告.docx(9页珍藏版)》请在冰豆网上搜索。
![安卓记事本实习报告.docx](https://file1.bdocx.com/fileroot1/2023-2/1/efda39fc-2fe4-4af6-918b-9f7151d756b1/efda39fc-2fe4-4af6-918b-9f7151d756b11.gif)
安卓记事本实习报告
ThedocumentwaspreparedonJanuary2,2021
安卓记事本实习报告
Android记事本的设计与实现
——SQLite数据库的设计和操作
学生姓名:
指导老师:
摘要:
随着智能手机的快速普及,智能手机操作系统市场风生水起。
Android的最大特点是其开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图形组件、多媒体支持功能以及强大的浏览器。
本文主要介绍了一款Android记事本SQLite数据库模块的设计与实现。
根据人们日常生活的需要,该记事本的内容包括运用SQLite封装好的方法对数据进行添加、删除、修改、更新和密码进入等功能,并且将查询到的数据传递给activity,具有一定的实用性。
关键词:
记事本;Android;手势密码;SQLite;Activity
DesignandimplementationofAndroid
notepad
—DesignandoperationoftheSQLitedatabase
Studentname:
Advisor:
AbstractWiththerapidproliferationofsmartphones,smartphoneoperatingsystemmarketburgeoned.Android'sbiggestfeatureisitsopenarchitecture,notonlyhasaverygooddevelopment,debuggingenvironment,butalsosupportsavarietyofscalableuserexperience,includingrichgraphicalcomponents,multimediasupportandpowerfulbrowser.
ThispaperdescribesthedesignandimplementationofanAndroidnotepadSQLitedatabasemodule.Accordingtotheneedsofdailylife,includingthecontentsofthenotepadgoodwaytouseSQLitepackagedatatoadd,delete,modify,updateandpasswordtoaccessotherfunctions,andquerythedataispassedtotheactivity,hasacertainpracticality.
KeywordsNotepad;Android;gesturepassword;SQLite;Activity
1.引言
项目背景
Window操作系统的诞生成就了微软帝国,同时也造就了PC时代的繁荣,然而如今,以Android和iPhone手机为代表的智能移动设备的发明与互联网云技术的兴起却敲响了PC时代的丧钟!
这也预示着移动互联网时代(3G)已经来临。
在这个互联网繁荣的时代,有一颗超新星,以它独特性能优势与人性化的UI设计使它在短短的几年迅速的占领了智能移动设备的市场份额,它就是Google的Android!
这也意味着Google在移动互联网时代开始抢跑并领跑。
通过调查显示,大部分消费者都会使用手机记事本功能。
随着手机记事本功能的不断加强与完善,手机记事本对于人们的意义,已不仅仅像一般记事簿一样简单记录,而是向着更个性化人性化的方向发展。
Android[1]系统是开源的,它以迅猛的姿势已经占领了全球一半多的市场。
记事本在生活和工作也日益凸显出它的重要性,它能更好地帮助人们更好地管理自己的工作和生活,极大的方便了人们的生活。
因其开源,我们可以在之上开发安卓记事本软件,同时这也符合广大的市场需求。
项目意义
近几年来随着3G技术成熟和智能手机的不断普及,移动应用的需求与日俱增,移动应用开发成为当下最热门的技术之一。
在Google和Android手机联盟的共同推动下,Android在众多移动应用开发平台中脱颖而出。
Android是一个真正意义上的开源智能手机操作系统,该系统一经推出立即受到全球移动设备厂商和开发者的热捧。
我们都知道,无论是产品还是技术,商业应用都是它最大的发展动力。
安卓如此受到厂商与开发者的青睐,它的前景是一片光明的。
国内对于安卓这方面的市场还没有完全开发出来。
只要我们努力学习安卓,对理想,对生活都会有很大的补益。
因此,开发这样一套很简单的记事本软件对我们来讲是一件很有必要的事情,在下面的各章中我们将以开发安卓记事本软件为例,谈谈其开发过程和所涉及到的问题及解决方法。
系统可行性分析
课题调研
(1)与实践活动和相关的文件和资料由作者本人网络查找,以及老师帮助。
(2)具有遇到问题,具有独立思考,耐心钻研,向老师虚心求教的良好态度。
(3)关于技术方面的难题,跟指导老师面谈。
可行性分析
(1)技术可行性:
本项目仅需要一台装有Eclipse及配置好Android开发环境的计算机即可,对计算机本身有一定的要求,它可以使用WindowsXp及其以上版本,Macos,Linux等操作系统。
(2)经济可行性:
由于本软件开发只有三个人,三台电脑就行,基本不需要太大的成本.在经济上完全可行。
(3)操作可行性:
界面设计时充分考虑用户的习惯以及手机方面的局限性,程序必须要很简单;本程序只涉及到开发环境配置,安卓组件的熟悉,以及安卓平台上的数据存储。
并没有太大的难度,所以,该项目完全有可操作性。
系统主要任务
(1)设计实现”添加新记事”,”编辑内容”,”删除当前记事”这三个主要的功能模块。
(2)分析并解决实现中的若干技术问题,像组件的选择以及保存方式的选择。
(3)进行测试并分析结果。
当然记事本的基本功能,建立新文件、修改现有文件、删除文件、查看已建立文件等功能是首先必须完成的。
可以编写内容,编辑及删除,让记事的方式多样化。
记事本软件的界面设计力求简洁,给人清爽的感觉,让图标及按钮以协调的布局呈现出了,菜单功能要相对简单,让用户操作方便,从而让用户体会到此款软件的实用。
因为上述操作涉及到的数据量不大,所以将数据库定为安卓系统自带的SQLite数据库[3],所以这就要求我们要实现在SQLite数据库上面的增删改查。
不少人希望自己记事本上面的内容不被被人查看,所以要以设置密码的形式来实现保密。
鉴于各种各样的密码实现方式,我们选择了用户体验最好的手势解锁方式。
以及采用了更加友好的时间显示方式,让用户在使用过程中更加的舒服方便。
记事本软件要内存占用适中,CPU占用也是适中,这样让软件运行顺畅。
2.系统方案设计
搭建Android开发平台
安装包下载
(1)javaJDK下载
JDK只下载JDK,无需下载jre。
(2)Eclipse下载
,即EclipseIDEforjavaEEDevelopers。
(3)AndroidSDK下载
说明:
AndroidSDK两种下载版本,一种是包含具体版本的SDK的,一种是只有升级工具,而不包含具体的SDK版本,完全版下载(Androidsdk。
软件安装
(1)安装JDK
安装完成即可。
(2)解压Eclipse
Eclipse无需安装,解压后,直接打开就行。
(3)解压AndroidSDK
这个也无需安装,解压后供后面使。
(4)配置Eclipse
打开Eclipse,在菜单栏上选择help->InstallNew,请将https改成http),名称:
Android(这里可以自定义),点击OK,点击Next按钮,点击Next按钮,出现如下界面:
选择Iacceptthetermsofthelicenseagreements,点击Next,进入安装插件界面安装完成后,点击Yes按钮,重启Eclips。
(5)配置AndroidSDK
点击菜单window->preferences选择你的AndroidSDK解压后的目录,选错了就会报错,这个是升级工具,目前还没有一个版本的SDK。
升级SDK版本,选择菜单window->Androidsdkandavdmanager。
选择updateall按钮,出现如下界面选择左边的某一项,点击accept表示安装,点击reject表示不安装,我这里只选了SDK和samplesforapi7。
自己可以任意自定义,确定后,选择install按钮,进入安装界面:
安装完成。
(6)新建AVD(Androidvituraldevice)
和上面一样,进入Androidsdkandavdmanager,选中VituralDevices在点击New按钮后,名称可以随便取,target选择你需要的SDK版本,SD卡大小自定义,点击CreateAVD,显示创建AVD完毕。
(7)新建Android项目
选择菜单file->new->other进入如下界面:
选择新建AndroidProject项目,点击Next按钮,进入如下界面名称自定义,应用程序名自定义,报名必须包含一个点以上,minSDKversion里面必须输入整数
(8)配置运行
右键项目->Runas->RunConfiguration该界面,点击Browse按钮,选择你要运行的项目选择Target切换到以下界面该界面选择运行的AVD,将AVD前面的方框设置为选择状态。
(9)测试项目运行右键项目名称->runas->AndroidApplication即可启动运行该Android程序。
SQLite数据库简介
SQLite是一款轻型的数据库,是遵守的关系型,它包含在一个相对小的C库中。
它是建立的公有领域项目。
它的设计目标是的,而且目前已经在很多中使用了它,它占用资源非常的低,在中,可能只需要几百K的内存就够了。
它能够支持Windows/Linux/Unix等等主流的,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界着名来讲,它的处理速度比他们都快。
SQLite第一个诞生于2000年5月。
至2015年已经有15个年头,SQLite也迎来了一个版本SQLite3已经发布。
SQLite功能特性
1.ACID事务
2.零配置–无需安装和管理配置
3.在单一文件中的一个完整的数据库
4.可以在不同的机器间自由的共享
5.大小至2TB
6.足够小,大致13万行C代码,
7.比一些流行的数据库在大部分普通数据库操作要快
8.简单,轻松的API
9.包含TCL绑定,同时通过Wrapper支持其他语言的绑定
10.良好注释的,并且有着90%以上的测试覆盖率
11.独立:
没有额外依赖
12.源码完全的开源,你可以用于任何用途,包括出售它
13.支持多种开发语言,C,C++,PHP,Perl,Java,C#,Python,Ruby等
同时它还支持功能等等。
也有人说它象Microsoft的Access,有时候真的觉得有点象,但是事实上它们区别很大。
比如SQLite支持跨平台,操作简单,能够使用很多语言直接创建数据库,而不象Access一样需要Office的支持。
如果你是个很小型的应用,或者你想做,没有合适的,那么你可以考虑使用SQLite。
到2013年10月17日最新版本是。
能在上面获得和文档。
同时因为数据库结构简单,系统也不是很多,也适合想研究开发的专业人士.
Java连接SQLite数据库:
publicclassTestSQLite
{
publicstaticvoidmain(String[]args)
{
try
{
统软件开发环境
Windows开发环境
1.用户界面统一、友好、漂亮:
Windows程序大多符合IBM公司提出的CUA(CommonUserAcess)标准,所有的程序拥有相同的或相似的基本外观,包括窗口、菜单、工具条等。
用户只要掌握其中一个,就不难学会,从而降低了用户培训学习的费用。
2.丰富的设备无关的图形操作:
Windows的图形设备接口(GDI)提供了丰富的图形操作函数,可以绘制出诸如线、圆、框等的几何图形,并支持各种输出设备。
设备无关意味着在上和高分辨率的显示器上都能显示出相同效果的图形。
3.多任务:
Windows是一个多任务的操作环境,它允许用户同时运行多个应用程序,或在一个程序中同时做几件事情。
每个程序在屏幕上占据一块矩形区域,这个区域称为窗口,窗口是可以重叠的。
用户可以移动这些窗口,或在不同的应用程序之间进行切换,并可以在程序之间进行手工和自动的数据交换和通信。
虽然同一时刻计算机可以运行多个应用程序,但仅有一个是处于活动状态的,其标题栏呈现高亮颜色。
一个活动的程序是指当前能够接收用户键盘输入的程序。
JAVA集成开发环境eclipse
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。
虽然大多数用户很乐于将Eclipse当作Java集成开发环境(IDE)来使用,但Eclipse的目标却不仅限于此。
Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具[6]。
由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
这种平等和一致性并不仅限于Java开发工具[7]。
尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL、PHP等编程语言的插件已经可用,或预计将会推出。
Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础。
ADTPluginforEclipse
ADTPluginforEclipse[9]是Eclipse插件,作用是关联AndroidSDK,使Eclipse能够创建Android工程。
Android开发工具(ADT)是一个EclipseIDE,目的是给你一个强大的插件,集成环境中构建Android应用程序。
Eclipse的ADT延伸的能力,可以快速建立新的Android[10]项目,创建一个应用程序的用户界面,添加组件基于Android框架API,使用AndroidSDK工具调试程序,甚至出口签名(或无)APKs以分发你的应用。
4.程序设计
程序详细设计
图系统流程图
安卓记事本本人涉及到的是SQLite的设计与操作,主要设计到的文件有三个。
分别是:
(与数据库表相对应的实体类)、(对SQLite数据库进行增删改查的方法)、(建立数据库、建立表的方法)。
在SQLite上建数据库,建表主要要继承SQLiteOpenHelper这个类。
在构造方法中实现建数据库,在onCreate方法中进行建表。
实现数据的增删改查,先用dbOpenHelper获得WritableDatabase,再进行相应的操作。
还要用到cursor来移动游标,MemoItem返回每一条记录,List返回记录的list集合。
在设计SQLite数据库的同时,还进行了几个简单的Activity的编写。
Activity是Android开发的重点,它与XML一个负责界面,一个负责界面实现。
此外,在写Activity的时候充分利用JAVA的继承特性,将MainActivity作为基类,让其他Activity继承它,虽然整个项目比较小,但是这种利用JAVA特征的设计模式还是充分利用了。
程序运行及效果截图
图程序的首页
图绘制手势
图通过手势登录
图登录成功
图创建新笔记
图创建成功
图更新笔记
图更新成功
图所有笔记显示页面
对SQLite数据库增删改查代码实现
增删改查:
publicclassMemoService
{
privateDBOpenHelperdbOpenHelper;
privateSQLiteDatabasedb;
privateCursorcursor;
publicMemoService(Contextcontext)
{
=newDBOpenHelper(context);
}
publiclongsave(MemoItemitem)作总结与展望
整个过程中,我总结了一些经验:
1.体会感触最深的一点
事先必须制定计划。
这样即使出现问题,解决时也会像修改几个元素一样简单。
最简单的原因是,当真正开始项目后,毫无疑问自己将充分了解自己正在尝试着作什么。
通过前期的规划,会让自己的工作变得轻松。
2.选择合适的开发环境
好的工具可以给我们带来方便,减少工作量。
最好使用集成的开发环境,我使用ADT这个集成的开发环境对安卓记事本进行制作,它的功能强大,增强了功能并节省了应用开发的时间。
3.不可忽视界面的设计
从真正的使用方面来讲,一个系统的界面是十分重要的,好的界面可大大刺激顾客的购买欲,收到以像不到的效果,所以可千万不要设计得太单调乏味,而要尽量友好一些。
4.一定要做好调试工作
倘若像开发一个成功的安卓记事本,那么一定要设置好菜单,其原则是简单、美观和实用,最重要的是可靠。
在安卓记事本投入运行之前,一定要做大量的调试工作,除了在自己的机上调试外,还应在别的机上测试,保证万无一失
5.相互讨论,虚心求教
这是相互学习的好方法,也是节约开发时间的一个有力途径,同时我们可以利用网络这个有利的条件在网上求教。
6.本次实践的收获
由于实践的机会太少,对编程不够熟悉,这次实习设计给了我一个很好的动手机会。
通过自己的努力,我学会了如何构建一个安卓记事本,数据库的基本构架,基本掌握了Android的编程技术,了解一个系统的整个开发调试过程。
在这一次设计中,翻阅大量资料,虽然结果还未尽完美,但在设计过程中,亦使我专业技能上有了很大的提高,对系统开发过程、步骤有了比较深刻的认识。
开发的过程中,我遇到了不少疑难问题,除了向指导老师请教外,更多的时候是请教同学,共同探讨,一起寻找解决问题的方案。
这些宝贵的经验对于我今后走上工作岗位将有很大的帮助。
参考文献
[1]熊刚.基于Android的智能手机的设计与实现[D].武汉:
武汉理工大学,2010.
[2]周恒民译.JavaTCP/IPSocket编程(原书第2版)[M].北京:
机械工业出版,2009.
[3]张桂珠刘丽陈爱国Java面向对象程序设计(第2版)北京邮电大学出版社.
[4]:
SecondEdition[M].Addison-Wesley,2008.
[5]胡伟编着.Android系统架构及其驱动研究[J].广州.广州广播电视大学学报.2008
[6]余志龙.GoogleAndroidSDK开发范例大全[M].北京:
人民邮电出版社.2009-7-1
[7]靳岩,姚尚朗.GoogleAndroid开发入门与实战[M].北京:
人民邮电出版社.2009-7-1.
[8]毕广吉.Java程序设计实例教程[M].北京:
冶金工业出版社,2007年
[9]林邦杰,彻底研究java.北京:
电子工业出版社,2002年
[10]王保罗.Java面向对象程序设计[M].北京:
清华大学出版社,2003年