安卓记事本开发设计报告Word文件下载.docx

上传人:b****5 文档编号:19002341 上传时间:2023-01-02 格式:DOCX 页数:22 大小:321.52KB
下载 相关 举报
安卓记事本开发设计报告Word文件下载.docx_第1页
第1页 / 共22页
安卓记事本开发设计报告Word文件下载.docx_第2页
第2页 / 共22页
安卓记事本开发设计报告Word文件下载.docx_第3页
第3页 / 共22页
安卓记事本开发设计报告Word文件下载.docx_第4页
第4页 / 共22页
安卓记事本开发设计报告Word文件下载.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

安卓记事本开发设计报告Word文件下载.docx

《安卓记事本开发设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《安卓记事本开发设计报告Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。

安卓记事本开发设计报告Word文件下载.docx

七、总结15

Android记事本

窦同庆

南京信息工程大学计算机系,南京210044

摘要:

随着3G技术的成熟和智能手机的不断普及,移动应用的需求与日俱增,移动应用开发成为当下最热门的技术之一。

在Google和Android手机联盟的共同推动下,Android在众多移动应用开发平台中脱颖而出。

关键词:

android记事本eclipse

1概要

1.1Android背景

Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。

早期由原名为"

Android"

的公司开发,谷歌在2005年收购"

Android.Inc"

后,继续进行对Android系统开发运营,它采用了软件堆层(software 

stack,又名软件叠层)的架构,主要分为三部分。

底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。

2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。

开放性:

在优势方面,Android平台首先就是其开放性,开发的平台允许任何移动终端厂商加入到Android联盟中来。

显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。

开放性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。

开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。

挣脱运营商的束缚:

在过去很长的一段时间,特别是在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。

自从iPhone上市,用户可以更加方便地连接网络,运营商的制约减少。

随着EDGE、HSDPA这些2G至3G移动网络的逐步过渡和提升,手机随意接入网络已不是运营商口中的笑谈。

丰富的硬件选择:

这一点还是与Android平台的开放性相关,由于Android的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。

功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容。

好比你从诺基亚Symbian风格手机一下改用苹果iPhone,同时还可将Symbian中优秀的软件带到iPhone上使用、联系人等资料更是可以方便地转移。

不受任何限制的开发商:

Android平台提供给第三方开发商一个十分宽泛、自由的环境。

因此不会受到各种条条框框的阻挠,可想而知,会有多少新颖别致的软件会诞生。

但也有其两面性,血腥、暴力、情色方面的程序和游戏如何控制正是留给Android难题之一。

无缝结合的Google应用:

如今叱咤互联网的Google已经走过10年度历史。

从搜索巨人到全面的互联网渗透,Google服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而Android平台手机将无缝结合这些优秀的Google服务。

1.2可行性分析

(1)技术可行性-----本项目仅需要一台装有Eclipse及配置好Android开发环境的计算机即可,对计算机本身有一定的要求,它可以使用windowsxp及其以上版本,macos,linux等操作系统。

(2)经济可行性-----由于本软件开发只有一个单个人,一台电脑就行,基本不需要太大的成本.在经济上完全可行。

(3)操作可行性-----界面设计时充分考虑用户的习惯以及手机方面的局限性,程序必须要很简单;

本程序只涉及到开发环境配置,安卓组件的熟悉,以及安卓平台上的数据存储。

并没有太大的难度,所以,该项目完全有可操作性.

2开发环境的安装和配置

2.1开发包及其工具的介绍

Android以java作为开发语言,jdk是进行java开发时必需的开发包,Eclipse是一款非常优秀的开源IDE,在大量插件的配合下,完全可以满足从企业级java应用到手机终端java游戏的开发。

Google官方也提供了基于Eclipse的Android开发插件ADT,所以本软件开发选择Eclipse作为开发IDE。

2.2Android开发平台搭建

2.2.1安装包下载

(1)java 

JDK下载

进入 

JDK只下载JDK,无需下载jre。

(2)Eclipse下载

进入http:

//www.eclipse.org/downloads我们选择第一个,即EclipseIDEforjavaEEDevelopers。

(3)Android 

SDK下载

说明:

Android 

SDK两种下载版本,一种是包含具体版本的SDK的,一种是只有升级工具,而不包含具体的SDK版本。

完全版下载 

(Android 

sdk 

2.1 

r01)。

2.2.2软件安装 

(1)安装JDK

安装完成即可。

(2)解压Eclipse

Eclipse无需安装,解压后,直接打开就行。

(3)解压Android 

SDK

这个也无需安装,解压后供后面使。

(4)配置Eclipse

打开Eclipse,,在菜单栏上选择 

help->

Install 

New 

SoftWare点击 

Add按钮,出现如下界面,输入网址:

https:

//dl- 

(如果出错,请将https改成http) 

,名称:

(这里可以自定义),点击OK, 

点击 

Next按钮 

,点击Next按钮,出现如下界面:

选择 

accept 

the 

terms 

of 

license 

agreements,点击Next,进入安装插件界面安装完成后, 

点击Yes按钮,重启Eclips。

(5) 

配置Android 

SDK

点击菜单window->

preferences 

选择你的Android 

SDK解压后的目录,选错了就会报错,这个是升级工具,目前还没有一个版本的SDK

升级SDK版本,选择菜单 

window->

and 

avd 

manager 

选择update 

all按钮,出现如下界面选择左边的某一项,点击accept表示安装,点击reject表示不安装,我这里只选了SDK 

和samples 

for 

api 

,自己可以任意自定义,确定后,选择install按钮,进入安装界面:

安装完成。

(6)新建AVD(Android 

vitural 

device)

和上面一样,进入Android 

manager,选中VituralDevices 

在点击New按钮后, 

名称可以随便取,target选择你需要的SDK版本,SD卡大小自定义,点击 

Create 

AVD,显示创建AVD完毕。

(7) 

新建Android项目

选择菜单file->

new->

other 

进入如下界面:

选择新建Android 

Project项目,点击Next按钮,进入如下界面名称自定义,应用程序名自定义,报名必须包含一个点以上,min 

SDK 

version里面必须输入整数

(8)配置运行

右键项目->

Run 

as 

->

Configuration该界面,点击Browse 

按钮,选择你要运行的项目选择Target切换到以下界面该界面选择运行的AVD,将AVD前面的方框设置为选择状态。

(9)测试项目运行右键项目名称->

run 

Application 

即可启动运行该Android程序。

3软件功能规划

3.1软件功能 

能够提示用户是否有已写记事本,能够进行记事本的标题填写和内容填写,确定后保存。

3.2界面设计 

进入程序提示“您还没有开始写日记呢!

点击下边的Menu按钮开始写日记吧!

”,点击menu菜单后进入标题和内容的填写界面。

4程序设计

4.1记事本组件的设计

本项目涉及到以下组件:

TextView:

“记事本”,“新建记事”,“编辑记事”等标题。

EditView:

“记事本的标题”,“内容”等。

Button:

“确定”按钮。

Menu:

“添加新记事”,“编译内容”,“删除当前记事”等。

4.2记事本逻辑设计

(1)添加新记事

如果当前没有记事,点击“menu”后只有一个菜单选项“添加新记事”,写完记事之后,点击“确定”进行保存。

(2)编辑内容

选中要编辑的那一个记事,然后点击“menu”菜单,会出现三个选项“新建记事”,“编辑内容”,“删除当前记事”,点击“编辑内容”对被选中的记事进行编辑,然后点击“确定”加以保存。

(3)删除记事

点击上下键,选中要删除的记事,然后点击“menu”菜单,然后点击“删除当前记事”,对选中的记事加以删除。

4.3记事本存储实现

Android中一共提供了5种数据存储方式,但是由于存储的这些数据都是其应用程序私有的,所以如果需要在其他应用程序中使用这些数据,就要使用Android提供的ContentProviders。

ContentProviders:

Android提供的一个特殊的存储数据的类型,它提供了一套标准的接口来获取,操作数据。

SharedPreference:

用来存储“key-valuepaires”格式的数据,它是一个轻量级的键值存储机制,只可以存储基本数据类型。

Files:

它通过FileInputStream和FileOutputStream对文件进行操作,但是在Android中,文件是一个应用程序私有的,一个应用程序无法读写其他应用程序的文件。

SQLite:

Android提供的一个标准的数据库,支持SQL语句。

Network:

通过网络来存储和获得数据。

4.3.1数据存储之SharedPreferences

通过getpreferences()方法来获得Preference对象,通过SharePreferences.Editoreditor=uiState.edit;

取得编辑对象,然后通过editor.put……()方法添加数据,最后通过commit()方法来保存数据。

4.3.2数据存储之Files

我们可以通过自定义的save()方法来保存数据,同时也可以通过load()方法来获取文件中的数据。

booleansave()

{

Propertiesproperties=newProperties();

/*将数据打包成Properties*/

properties.put("

bmusic"

String.valueOf(mbMusic));

try

{

FileOutputStreamstream=this.openFileOutput("

music.cfg"

Context.MODE_WORLD_WRITEABLE);

/*将打包好的数据写入文件中*/

properties.store(stream,"

"

);

}

catch(FileNotFoundExceptione)

returnfalse;

catch(IOExceptione)

returntrue;

}

/*装载、读取数据*/

voidload()

/*构建Properties对对象*/

/*开发文件*/

FileInputStreamstream=this.openFileInput("

/*读取文件内容*/

properties.load(stream);

return;

/*取得数据*/

mbMusic=Boolean.valueOf(properties.get("

).toString());

4.3.3数据存储之Network

通过网络来获取和保存数据资源,将数据存储到网络上的方法很多,比如将要保存的数据以文件的方式上传到服务器,发送邮件等。

下面我们看下如何实现读取网络文件

StringmyString=null;

/*定义我们要访问的地址url*/

URLuri=newURL("

http:

//192.168.1.110:

8080/Android.txt"

/*打开这个url连接*/

URLConnectionucon=uri.openConnection();

/*从上面的链接中取得InputStream*/

InputStreamis=ucon.getInputStream();

BufferedInputStreambis=newBufferedInputStream(is);

ByteArrayBufferbaf=newByteArrayBuffer(100);

intcurrent=0;

/*一直读到文件结束*/

while((current=bis.read())!

=-1)

{

baf.append((byte)current);

}

myString=newString(baf.toByteArray());

catch(Exceptione)

myString=e.getMessage();

另外由于在程序中访问了外部网络,我们需要在AndroidManifest.xml文件中给予权限,代码如下:

<

uses-permissiionAndroid:

name=”Android.permission.INTERNET”/>

4.3.4数据存储之SQLite

这个方法在数据保存中非常常用.只是它只会被一个程序读取数据,不能在不同程序间共享数据.

/*创建和打开数据库*/

mSQLiteDatabase=this.openOrCreateDatabase(DATABASE_NAME,MODE_PRIVATE,null);

/*创建表*/

mSQLiteDatabase.execSQL(CREATE_TABLE);

/*删除数据库*/

publicvoidDeleteDataBase()

this.deleteDatabase(DATABASE_NAME);

this.finish();

/*删除一个表*/

publicvoidDeleteTable()

mSQLiteDatabase.execSQL("

DROPTABLE"

+TABLE_NAME);

/*更新一条数据*/

publicvoidUpData()

ContentValuescv=newContentValues();

cv.put(TABLE_NUM,miCount);

cv.put(TABLE_DATA,"

修改后的数据"

+miCount);

/*更新数据*/

mSQLiteDatabase.update(TABLE_NAME,cv,TABLE_NUM+"

="

+Integer.toString(miCount-1),null);

UpdataAdapter();

/*向表中添加一条数据*/

publicvoidAddData()

测试数据库数据"

/*插入数据*/

mSQLiteDatabase.insert(TABLE_NAME,null,cv);

miCount++;

/*从表中删除指定的一条数据*/

publicvoidDeleteData()

/*删除数据*/

DELETEFROM"

+TABLE_NAME+"

WHERE_id="

+Integer.toString(miCount));

miCount--;

if(miCount<

0)

miCount=0;

/*更行试图显示*/

publicvoidUpdataAdapter()

//获取数据库Phones的Cursor

Cursorcur=mSQLiteDatabase.query(TABLE_NAME,newString[]{TABLE_ID,TABLE_NUM,TABLE_DATA},null,null,null,null,null);

miCount=cur.getCount();

if(cur!

=null&

&

cur.getCount()>

=0)

//ListAdapter是ListView和后台数据的桥梁

ListAdapteradapter=newSimpleCursorAdapter(this,

//定义List中每一行的显示模板

//表示每一行包含两个数据项

Android.R.layout.simple_list_item_2,

//数据库的Cursor对象

cur,

//从数据库的TABLE_NUM和TABLE_DATA两列中取数据

newString[]{TABLE_NUM,TABLE_DATA},

//与NAME和NUMBER对应的Views

newint[]{Android.R.id.text1,Android.R.id.text2});

/*将adapter添加到m_ListView中*/

m_ListView.setAdapter(adapter);

4.3.5数据存储之ContentProviders

ContentProviders:

Android提供的一个特殊的存储数据的类型,它提供了一套标准的接口来获取,操作数据。

  查询数据:

可以使用ContentProvider.query()或者Activity.managedQuery()方法。

  修改数据:

通过ContentResolver.update()方法可以用来修改数据。

  添加数据:

通过ContentResolver.insert()方法来增加一条数据。

  删除数据:

通过ContentResolver.delete()方法来删除一条记录。

5程序开发

5.1主activity的设计

  当选择“新建记事本”,“编辑内容”,“删除当前记事”等菜单选项时对应的操作。

  publicbooleanonOptionsItemSelected(MenuItemitem){

switch(item.getItemId()){

//插入一条数据

caseMENU_ITEM_INSERT:

Intentintent0=newIntent(this,ActivityDiaryEditor.class);

intent0.setAction(ActivityDiaryEditor.INSERT_DIARY_ACTION);

intent0.setData(getIntent().getData());

startActivity(intent0);

returntrue;

//编辑当前数据内容

caseMENU_ITEM_EDIT:

Intentintent=newIntent(this,ActivityDiaryEditor.class);

intent.setData(item.getIntent().getData());

intent.setAction(ActivityDiaryEditor.EDIT_DIARY_ACTION);

startActivity(intent);

//删除当前数据

caseMENU_ITEM_DELETE:

Uriuri=ContentUris.withAppendedId(getIntent().getData(),

getListView().getSelectedItemId());

getContentResolver().delete(uri,null,null);

renderListView();

returnsuper.onOptionsItemSelected(item);

5.2编辑内容

protectedvoidonCreate(BundlesavedInstanceState){

su

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1