安卓记事本开发设计报告_第1页
安卓记事本开发设计报告_第2页
安卓记事本开发设计报告_第3页
安卓记事本开发设计报告_第4页
安卓记事本开发设计报告_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

却京信息工经天滨江学院《移动通信程序设计》课程设计二0一四年五月二十九日目录 1.1Android背景 3 2.1开发包及其工具的介绍 42.2Android开发平台搭建 4 42.2.2软件安装 4三、软件功能规划 3.1软件功能 52.2界面设计 4.1记事本组件的设计 4.3记事本存储实现 6 64.3.2数据存储之files 64.3.3数据存储之network 7 84.3.5数据存储之ContentProviders 5.3删除记事 5.4程序执行流程 六、程序截图 窦同庆Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布继续进行对Android系统开发运营,它采用了软件堆层(softwarestack,又名软件叠层)的开发,部分程序以Java编写。2011年初数据显示,仅正式上市两年的操作系统Android已Android平台首先就是其开放性,开发的平台允许任何移动终端厂商加入到Android联盟中运营商的制约减少。随着EDGE、HSDPA这些2G至3G移动网络的逐步过渡和提升,手机风格手机一下改用苹果iPhone,同时还可将Symbian中优秀的软件带到iPhone上使用、联留给Android难题之一。无缝结合的Google应用:如今叱咤互联网的Google已经走过10年度历史。从搜索巨人到全面的互联网渗透,Google服务如地图、邮件、搜索连接用户和互联网的重要纽带,而Android平台手机将无缝结合这些优秀的Google服务。1.2可行性分析(1)技术可行性-----本项目仅需要一台装有Eclipse及配置好Android开发环境的计算机即可,对计算机本身有一定的要求,它可以使用windowsxp及其以上版本,macos,linux等操作系统。(2)经济可行性-----由于本软件开发只有一个单个人,一台电脑就行,基本不需要太大的成本.在经济上完全可行。(3)操作可行性-----界面设计时充分考虑用户的习惯以及手机方面的局限性,程序必须要很简单;本程序只涉及到开发环境配置,安卓组件的熟悉,以及安卓平台上的数据存储。并没有太大的难度,所以,该项目完全有可操作性.Android以java作为开发语言,jdk是进行java开发时必需的开发包,Eclipse是一款非常优秀的开源IDE,在大量插件的配合下,完全可以满足从企业级java应用到手机终端java游戏的开发。Google官方也提供了基于Eclipse的Android开发插件ADT,所以本软件开发选择Eclipse作为开发IDE。进入/javase/downloads/index.jsp选择DownloadJDK只下载JDK,无需下载jre。进入/downloads我们选择第一个,即EclipseIDEforjavaEE说明:AndroidSDK两种下载版本,一种是包含具体版本的SDK的,一种是只有升级工具,而不包含具体的SDK版本。完全版下载(Androidsdk2.1r01)。(1)安装JDK安装完成即可。(2)解压EclipseEclipse无需安装,解压后,直接打开就行。(3)解压AndroidSDK这个也无需安装,解压后供后面使。(4)配置Eclipse打开Eclipse,,在菜单栏上选择help->InstallNewSoftWare点击Add按钮,出现如下界面,输入网址:/android/eclipse/(如果出错,请将https改成http),名称:Android(这里可以自定义),点击OK,点击Next按钮,点击Next按钮,出现如下界面:选择Iacceptthetermsofthelicenseagreements,点击Next,进入安装插件界面安装完成后,点击Yes按钮,重启Eclips。点击菜单window->preferences选择你的AndroidSDK解压后的目录,选错了就会报错,这个是升级工具,目前还没有一个版本的SDK升级SDK版本,选择菜单window>Androidsdkandavdmanager选择updateall按钮,出现如下界面选择左边的某一项,点击accept表示安装,点击reject表示不安装,我这里只选了SDK2.1和samplesforapi7,自己可以任意自定义,确定后,选择install按钮,进入安装界面:安装完成。(6)新建AVD(Androidvituraldevice)和上面一样,进入Androidsdkandavdmanager,选中VituralDevices在点击New按钮显示创建AVD完毕。选择菜单file->new->other进入如下界面:选择新建AndroidProject项目,点击Next按钮,进入如下界面名称自定义,应用程序名自定义,报名必须包含一个点以上,minSDKversion里面必须输入整数(8)配置运行右键项目->Runas->RunConfiguration该界面,点击Browse按钮,选择你要运行的项目选择Target切换到以下界面该界面选择运行的AVD,将AVD前面的方框设置为选择状(9)测试项目运行右键项目名称->runas->AndroidApplication即可启动运行该Android程3软件功能规划能够提示用户是否有已写记事本,能够进行记事本的标题填写和内容填写,确定后保3.2界面设计进入程序提示“您还没有开始写日记呢!点击下边的Menu按钮开始写日记吧!”,点击menu菜单后进入标题和内容的填写界面。4程序设计本项目涉及到以下组件:4.2记事本逻辑设计(1)添加新记事如果当前没有记事,点击“menu”后只有一个菜单选项“添加新记事”,写完记事之后,点击“确定”进行保存。(2)编辑内容选中要编辑的那一个记事,然后点击“menu”菜单,会出现三个选项“新建记事”,“编辑内容”,“删除当前记事”,点击“编辑内容”对被选中的记事进行编辑,然后点击“确定”加以保存。(3)删除记事点击上下键,选中要删除的记事,然后点击“menu”菜单,然后点击“删除当前记事”,对选中的记事加以删除。4.3记事本存储实现Android中一共提供了5种数据存储方式,但是由于存储的这些数据都是其应用程序私有的,所以如果需要在其他应用程序中使用这些数据,就要使用Android提供的ContentContentProviders:Android提供的一个特殊的存储数据的类型,它提供了一套标准的接口来获取,操作数据。SharedPreference:用来存储“key-valuepaires”格式的数据,它是一个轻量级的键值存储机制,只可以存储基本数据类型。Files:它通过FileInputStream和FileOutputStream对文件进行操作,但是在Android中,文件是一个应用程序私有的,一个应用程序无法读写其他应用程序的文件。SQLite:Android提供的一个标准的数据库,支持SQL语句。Network:通过网络来存储和获得数据。4.3.1数据存储之SharedPreferences方法来保存数据。4.3.2数据存储之Files我们可以通过自定义的save()方法来保存数据,同时也可以通过load()方法来获取文件了Propertiesproperties/*将数据打包成Properties*/properties.put("bmusic",String.valueOf(mbM{FileOutputStreamstream=this.o/*将打包好的数据写入文件中*/properties.store(stream,}jjj}}/*装载、读取数据*/{/*构建Properties对对象*/Propertiesproperties{/*开发文件*/FileInputStreamstream=this.op/*读取文件内容*/properties.load(stre入catch(FileNotFoundj人j}/*取得数据*/mbMusic=Boolean.valueOf(properties.get("bmusic")}{/*定义我们要访问的地址url*//*打开这个url连接*/URLConnectionucon=uri.openConn/*从上面的链接中取得InputStream*/InputStreamis=uconBufferedInputStreambis=newBuffeByteArrayBufferbaf=newByteA/*一直读到文件结束*/while((current=bis.read了baf.append((byte)curre}myString=newString(baf.toBy}{}<uses-permissiionAndroidname="Android.permission.INTERNET">享数据.mSQLiteDatabase=this.openOrCreateDatabase(DATABASE_NAME,MOD/*删除数据库*/{}/*删除一个表*/publicvoidDeleteTa{mSQLiteDatabase.execSQL("DROPTABLE"+TABLE_NAME);}/*更新一条数据*/jcv.put(TABLE_DATA,"修改后的数据"+miCount);/*更新数据*/Integer.toString(miC}/*向表中添加一条数据*/了cv.put(TABLE_DATA,"测试数据库数据"+miCount);/*插入数据*/mSQLiteDatabase.insert(TABLE_NAM}/*从表中删除指定的一条数据*/publicvoidDeleteDj/*删除数据*/mSQLiteDatabase.execSQL("DELETEFROM"+TABLE_NAME+"WHERE_id="if(miCount<0){}}/*更行试图显示*/{//获取数据库Phones的CursorCursorcur=mSQLiteDatabase.query(TABLE_NAME,newString[]{TTABLE_NUM,TABLE_DATA},null,nul{ListAdapteradapter=newSimpleCursorAda//定义List中每一行的显示模板//表示每一行包含两个数据项//数据库的Cursor对象//从数据库的TABLE_NUM和TABLE_DATA两列中取数据newString[]{TABLE_NUM,TABLE_DATA},//与NAME和NUMBER对应的Views/*将adapter添加到m_ListView中*/m_ListView.setAdapter(}ContentProviders:Android提供的一个特殊的存储数据的类型,它提供了一套标准的接口来获取,操作数据。查询数据:可以使用ContentProvider.query0或者Activity.managedQuery(方法。修改数据:通过ContentResolver.update()方法可以用来修改数据。添加数据:通过ContentResolver.insert(方法来增加一条数据。删除数据:通过ContentResolver.delete()方法来删除一条记录。5程序开发publicbooleanonOptionsItemSelected(MenuItemitem){//插入一条数据caseMENU_ITEM_INSERIntentintent0=newIntent(this,ActivityDiaryEditor.class);intent0.setAction(ActivityDiaryEditor.INintent0.setData(getInt//编辑当前数据内容Intentintent=newIntent(this,ActivityDintent.setData(item.getIintent.setAction(ActivityDiaryEditor.//删除当前数据Uriuri=ContentUris.withAppendedId(getIntent().ggetContentResolver().delet}j5.2编辑内容mTitleText=(EditText)findViewById(mBodyText=(EditText)findViewById(RconfirmButton=(Button)findViewif(EDIT_DIARY_ACTION.equals(action)){//编辑记事本mCursor=managedQuery(mUri,PROJECTION,null,setResult(RESULT_OK,(newIntent()).ssetTitle("编辑记事");}elseif(INSERT_DIARY_ACTION.eqsetTitle("新建记事");rgetContentResolver().insert(Diary.DiaryColumnsStringbody=mBodyText.getText().toString);ContentValuesvalues=newvalues.put(Diary.DiaryColumns.TITgetContentResolver().up}privatevoidrenderLiCursorcursor=managedQuery(getIntent().getData(),PROJECTION,null,null,DiaryColumns.DEFAULT_SORTR.layout.diary_row,cursor,newString[]{DiaryColumns.TITLE,DiaryColumns.CREATED},newint[]{R.id.text1,}5.4程序执行流程importAndroid.app.Activity;importAndroid.os.Bundle;importAndroid.widget.Button;EditTexteditTextl=EditTexteditText2=null;publicvoidonCreate(BundlesavedInstaneditTextl=(EditText)findeditText2=(EditText)findVbuttonl=(Button)findViewById(R.id.butbuttonl.setOnClickListener(newView.OnClickListener(){service=newFileServicej了了}}packagecom.zxl.serv}publicvoidsave(Stringfilename}}<?xmlversion="1.0"enc<LinearLayoutxmlns:Android="http://schemas.AAndroid:orientation="vAndroid:layout_width="fillAndroid:layout_height="fillAndroid:background="@drawabl>Android:layout_width="wrap_Android:layout_height="wrapAndroid:text="@strinAndroid:layout_gravity="center_hoAndroid:paddingTop="20dip"Android:textColor="#FFaa00">Android:layout_width="wrap_Android:text="@string/Android:textColor="#>Android:layout_height="wrap_>Android:layout_width="fillAndroid:layou

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论