基于Android的移动终端应用程序开发与研究.pdf

上传人:qwe****56 文档编号:74646874 上传时间:2023-02-27 格式:PDF 页数:5 大小:445.49KB
返回 下载 相关 举报
基于Android的移动终端应用程序开发与研究.pdf_第1页
第1页 / 共5页
基于Android的移动终端应用程序开发与研究.pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《基于Android的移动终端应用程序开发与研究.pdf》由会员分享,可在线阅读,更多相关《基于Android的移动终端应用程序开发与研究.pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、计算机与现代化2008年第8期J ISUANJ I YU XI ANDA IHUA总第156期文章编号:100622475(2008)0820085205收稿日期:2008203217作者简介:公磊(19842),男,江西南昌人,南昌大学计算机应用专业硕士研究生,研究方向:嵌入式系统;周聪(19622),男,副教授,研究方向:嵌入式系统。基于Android的移动终端应用程序开发与研究公 磊,周 聪(南昌大学信息工程学院,江西 南昌330031)摘要:主要介绍了Google新近推出的移动设备软件平台Android以及基于此平台的移动终端应用程序开发。关键词:移动设备;Android;应用程序中图

2、分类号:TP311 文献标识码:ADevelopment and Research ofM obile Term ination Application Based on AndroidGONGLei,ZHOU Cong(Information Engineering School ofNanchangUniversity,Nanchang 330031,China)Abstract:The primary coverage is theMobile equipment soft ware platform of Google named Android and the development

3、 ofMo2bile termination application based on Android1Key words:Mobile equipment;Android;application0 引 言经过多年的发展,第三代数字通信(3G)技术获得了广泛的接受1,它为移动终端用户带来了更快的数据传输速率。随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Google为此于2007年11月推出了一个专为移动设备设计的软件平台 Android。Android是一套真正意义上的开放性移动设备综合平台,它包括操作系统

4、、中间件和一些关键的平台应用。Android最大特点在于它是一个开放的体系架构,具有非常好的开发和调试环境,而且还支持各种可扩展的用户体验,Android里面具有非常丰富的图形系统,对多媒体的支持功能和非常强大的浏览器3。Android平台的开放性等特点既能促进技术(包括平台自身)的创新,又有助于降低开发成本,还可以使运营商能非常方便地制定特色化的产品,因此,它具有很大的市场发展潜力。1Android软件平台的构成 2Android软件平台主要由五部分构成,它们分别是:关键应用程序、应用程序框架和组件、C/C+函数库、Java程序运行环境、优化了的Linux内核。1.关键应用程序。Androi

5、d平台内包含一些关键应用程序,如邮件收发客户端程序、短信收发程序、日历、网页浏览器等,而更多有特色的Android应用程序还有待于广大开发者共同参与开发。2.应用程序框架及组件。Android应用程序开发基于框架和组件。An2droid本身已在其框架中提供了许多组件供应用程序调用,开发者也可在开发应用程序时顺带开发新的组件,并将该组件放入应用程序框架中,以供自己和其它应用程序调用。3.C/C+函数库。Android应用程序框架之下是一套C/C+函数库,它们服务于Android应用程序组件,其功能通过组件间接提供给开发者。这些函数库包括:标准C函数库、媒体功能库、浏览器引擎、2D和3D图形库及8

6、6计 算 机 与 现 代 化2008年第8期SQLite引擎等。4.Java程序运行环境。Android的Java程序运行环境包含一组Java核心函数库及Dalvik虚拟机,它们有效地优化了Java程序的运行过程。5.Linux内核。Android系统平台基于优化了的Linux内核,它提供诸如内存管理、进程管理、设备驱动等服务,同时也是手机软硬件的连接层。2Android开发平台的配置和程序开发的基本组件Android平台为开发者提供了源码开放的软件开发包(SDK),它包含了使用Java语言开发Android平台应用的必要工具和组件(API)。进行开发前先要建立合适的开发环境,其中基于Java

7、的整合型可扩展平台Eclipse是我们的首选。2.1搭建Eclipse开发环境 5Eclipse的运行建立在JRE之上,因此必须先安装JRE。可以从http:/下载JDK5或JDK6,然后按提示进行JDK的安装;安装完成后,再配置环境变量:如在W indows XP或W indows 2000的操作系统中,可右键单击“我的电脑”,然后依次选择“属性”“高级”“环境变量”,在弹出的窗口的“系统变量”中找到“Path”环境变量,点击“编辑”按钮,在弹出的对话框中的“变量值”一栏输入JDK的安装路径即可,最后用同样的方法设置环境变量“Class2path”,至此便完成了JDK的安装。有了Java运行

8、环境,就可以下载Eclipse ZIP包,解压后就能直接运行Eclipse.exe。在Eclipse中安装一个名为ADT的Android开发工具插件,就可以使用SDK进行Android应用开发。ADT安装步骤:在Eclipse中依次选择Help SoftwareUpdates Find and Install,在弹出的对话框中选择Search for new features to install并点击Next,选择NewRemote Site,在结果对话框中为远端站点命名(如ADT),并在URL栏中输入https:/dl- Eclipse Integration Android Develo

9、p2ment Tools,单击Next,接受协议,点击Next和Finish;选择InstallAll,并重启Eclipse,ADT安装完成。ADT安装完毕后,还要配置Eclipse参数,使其指向SDK根目录,过程如下:在Eclipse中选择W indow Preferences打开参数设置面板,选择Android选项;在SDK路径中填入Android的安装路径,单击Apply和ok,完成参数设置。至此,就能在Eclipse环境下进行Android应用的开发了。2.2 Android应用程序组件的使用Android应用程序以各种组件(API)为基础,API是Android软件平台的重要组成部分

10、,也是开发An2droid应用的关键所在。下面介绍几种主要的An2droid API。(1)当前活动程序Activity:作为最常用的应用程序组件,几乎所有Activity都会通过创建UI窗口与用户进行交流。Activity具有生命周期,它包含运行、暂停、停止等几个状态,状态间的转换可通过调用onCreate()、on2Start()、onRestart()、onResume()、onFreeze()、onPause()、onStop()、onDestory()等方法来实现。要开启新的activity,可以调用start Activity(Intent),或调用startSub2Activit

11、y(Intent,int),后者通常和onActivityResult(int,int,String,Bundle)联合使用,以从一个activity获取某结果并返回给打开它的activity。(2)图像显示View:View是最基本的U I构件,它在屏幕中占据一个矩形区域可用来显示文本、图像等内容,还可完成图像事件处理。常用的View方法有:inflate()(由XML文件生成View)、onDraw(Canvas)(对View进行填充)、onMeasure(int,int)(测量View的高度和宽度)、onLayout()(完成View的布局)、on2KeyDown(int,KeyEven

12、t)(View中有按键操作时被调用)、onFocusChanged(boolean,int)(当View得到或失去关注时被调用)、setOnClilckListener()(设置View点击事件监听器)。View也包含一些子类,如:Text2View(布局文件中的文本显示)、EditText(布局文件中的文本编辑)、Button(按钮)、ListView(显示列表)。(3)事件Intent:Intent抽象描述了想要执行的某种操作,它与startActivity一起使用可以开启新的ac2tivity,与startService一起使用可以开启后台服务。Intent最重要的作用还是加载activ

13、ity,它是不同activ2ity间的桥梁。Intent也可以被认为是一种概括操作行为的数据结构,它主要包括action(动作)和data(数据)两部分,此外它还具有一些附加属性如cate2gory(intent种类)、type(数据类型)等。常用的Intent方法有intent()(构造intent)、addcategory()(添加in2tent类型)、getAction()(获取intent动作)、getData()(获取intent数据)等。(4)数据存取与共享机制ContentProvider:Cont22008年第8期公磊等:基于Android的移动终端应用程序开发与研究87ent

14、Provider可实现应用程序的数据存取及不同应用程序间的数据共享。ContentProvider为应用程序提供一些访问方法,包括:Query(Uri,String,String,String,String,String,String)(数据信息的查询),insert(Uri,Contentvalues)(在Contentprovider中添加新数据),updata(Uri,Contentvalues,String,String)(更新Conntprovider中的数据),delect(Uri,String,String)(删除数据),Gettype(Uri)(获取数据类型)。其中,Uri标明

15、了ContentProvider存储的数据类型,在执行访问方法时都需依据Uri作为路径标识来确定要访问哪个ContentProvider。(5)后台服务Service:Service是运行在后台的应用程序组件,不直接与用户交互。当前活动程序可以使用Context.StartService()开启一项后台服务,还可以通过Context.bindService()与后台服务通信。3Android应用程序开发例程电话薄是一项必不可少的手机终端应用,本文以此为例来说明基于Android应用程序开发的基本过程。3.1项目的创建首先,在Eclipse中依次选择File New AndroidProject

16、,在弹出的“New Android Project”对话框的Contents部分选择Create new project in workspace,在“Project name”后输入工程名Contactnote,在“Packagename”后输入com.google.android.contactnote,在“Ac2tivity name”后输入Contactlist,在“Application name”后输入Contact,最后点击Finish,完成电话簿项目的创建。3.2项目源程序开发电话簿源程序主要功能模块框架如下:图1 电话簿功能模块框架(1)构建数据存取和共享机制Contactn

17、otePro2vider。ContactnoteProvider是电话簿的数据存储及访问组件,作为ContentProvider的子类,它必须定义一个唯一的字符串标识Uri来指明自身存储的数据类型。ContactnoteProvider的Uri可以这样定义:public staticfinal Uri CONTENT_UR I=Uri.parse(content:/com.google.provider.Contactnote/contactnotes)。ContentProvider可使用文件存储方式或SQLite2Database来存储数据。本文选用了SQLiteDatabase并借助基于

18、SQLite的类SQLiteOpenHelper来构建电话簿存储系统:private static classDatabaseHelper extends SQLiteOpenHelp2er public void onCreate(SQLiteDatabase db)db.execSQL(CREATE TABLE contactnotes(_ id I NTE2GER PR I MARY KEY,+peoplename TEXT,+phonen2umber TEXT,+modified I NTEGER+););/创建基于SQLiteDatabase的电话簿数据表格phonen2umbers

19、Android平台内置了一套SQLite数据存储机制,并包含了一系列管理SQLite Database的相关方法,如创建、打开数据库以及执行SQL命令等,应用程序可直接使用这些方法来构建私有存储系统,在创建ContentProvider时也可以借用这些方法。上面的代码中,ContactnoteProvider就使用了基于SQlite的ex2ecSQL()方法来构建电话簿的数据存储系统。本文之所以使用ContentProvider来存储数据是因为只有它能实现数据共享,而其他存储系统的访问仅限于单个应用之内。ContactnoteProvider实现数据共享的前提是能被所有应用程序访问,因此它提供

20、了一些公开的访问接口,应用程序调用这些访问接口时用Uri标识确定访问路径。Uri有两种形式,一种对应的是ContentPro2vider中的所有数据内容,另一种对应了具体的某条(行)数据。以ContactnoteProvider为例,com.google.provider.Contactnote/contactnotes代表整个Contact2noteProvider数据的访问路径,而com.google.provid2er.Contactnote/contactnotes/#则代表了具体某条(行)数据的访问路径,其中#指明行地址标号。ContactnoteProvider访问接口的实现也可以

21、借助相关的SQLiteDatabase方法,以下是实现Contact2noteProvider数据更新接口的部分代码,它直接调用了SQLiteDatabase的update方法:public int update(Uri url,ContentValues values,Stringwhere,String whereArgs)int count;switch(URL_MATCHER.match(url)case NOTES:88计 算 机 与 现 代 化2008年第8期count=mDB.update(notes,values,where,where2Args);break;.调用时只需通过

22、Uri Matcher.match(uri)将数据更新接口Uri类型的路径参数解析为SQLite Database方法能识别的数据库表格形式。(2)Activity程序的创建与编辑。当前活动程序Activity通常可实现应用程序与用户的交互,本实例包含两个当前活动程序:电话本列表显示程序Contactlist和电话本编辑程序Contacte2dit。Contactlist是电话簿应用程序的入口,程序加载时将它开启。打开电话簿后首先看到的是按某种布局显示的联系人列表,列表内容和后台数据相对应。如果并未向后台数据库中添加任何信息,则列表显示内容为空,但列表的构架仍然存在。下面的代码部分实现了后台数

23、据与列表内容显示的映射:protected void onCreate(Bundle icicle)super.onCreate(icicle);.mCursor=managedQuery(getIntent().getData(),PRO2JECTI ON,null,null);ListAdapter adapter=new SimpleCursorAdapter(this,R.layout.contactlist_item,mCursor,new String Contactnote.contactnotes.PEPOPLENAME,new int android.R.id.text1);

24、setListAdapter(adapter);首先通过managedQuery(getIntent().get Data(),PROJECTI ON,null,null)来获取指向后台数据的指针mCursor,getIntent().getData()和PROJEC2TI ON共同决定了哪部分后台数据将被显示;然后,使用SimpleCursorAdapter()来定义后台数据到前台显示的映射方式,其中R.layout.contactlist_item定义了列表的布局,Contactnote.contactnotes.PEOPLENAME指明显示内容为联系人姓名,android.R.id.te

25、xt指明姓名显示为文本;最后,通过setListAdapter(adapter)来激活映射。光有列表显示还不足以实现Contactlist与用户的交流,真正的交互是通过创建可选菜单来完成的,而每个菜单选项都对应于用户的某种操作。Con2tactlist使用onCreateOptions Menu()来创建菜单:public boolean onCreateOptions Menu(Menu menu)super.onCreateOptions Menu(menu);menu.add(0,I NSERT_ I D,R.string.menu_ insert).set2Shortcut(3,a);

26、Intent intent=new Intent(null,getIntent().getData();intent.addCategory(Intent.ALTERNATI VE_CATEGORY);menu.addIntentOptions(Menu.ALTERNATI VE,0,newComponentName(this,ContactList.class),null,intent,0,null);return true;可选菜单中,“添加”菜单项Insert是被静态创建的,不管显示内容是否为空,该菜单项都存在。而对于那些在显示内容非空时才有意义的菜单项,可以用方法menu.addInt

27、entOptions()来创建,这是一种动态创建方式,它创建的菜单项对应了某种事件intent。使用前先用intent.addCategory(Intent.ALTERNA2TI VE_CATEGORY)将intent的类型设为ALTERNA2TI VE_CATEGORY或SELECT_ALTERNATI VE_CAT2EGORY,以表明这些intent及其对应的action是可以变化的。电话簿程序应该具备响应内外事件的能力,如电话拔打程序或短信发送程序向电话簿索取号码时引发的事件。Contactlist必须先获取事件的action和data,然后依据action进行分类处理。action包括

28、V IEW_ACTI ON(向用户显示数据)、MA I N _ACTI ON(开启入口程序)、ED IT_ACTI ON(提供编辑入口)、PICK_ACTI ON(获取数据并返回)等不同类型。假如短信发送程序想从电话簿中获取号码,那么它会发出一个action类型为PI CK_ACTI ON的intent,Con2tactlist接收并确认后执行setResult(RESULT_OK,url.toString()将号码返回。如果是程序内部菜单触发的编辑事件,那么Contactlist会使用startActivity(new Intent(Intent.ED IT_ACTI ON,uri)开启Co

29、n2tactedit完成编辑工作。Contactedit是电话簿中另一个交互程序,由Con2tactlist的添加或编辑事件引发,它为用户提供了联系人姓名和号码编辑窗口,用户完成编辑并确认后,Contactedit调用ContactnoteProvider的insert()或up2data()方法将用户输入的值保存到电话簿数据库中去,然后返回Contactlist,这时Contactlist显示的是更新后内容。3.3代码的运行完成工程的创建和源代码的编辑后就开始运行程序。在Eclipse平台中选择Run Open Run Dialog选项,打开运行对话框。然后,在对话框左边的typefilte

30、r text下选择Android Application contactnote,再2008年第8期公磊等:基于Android的移动终端应用程序开发与研究89点击对话框中的Run按钮,应用程序就会被加载到仿真器上并开始运行(如图2)。图2 电话簿程序仿真运行4 结束语Android手机应用程序开发需要着眼于它的整个体系构架,是一项复杂的工程。本文分析了Android体系的层次架构,并在此基础上介绍了Android应用程序开发的相关技术和基本的开发流程。Android平台具有极大的开放性和兼容性,相信广大开发者可以借助Android SDK提供的强大技术支持,开发出丰富多彩、极具个性的移动应用。

31、参考文献:13G继续稳步快行J.中国电信业,2007(2):50251.2Code Home.Android2An Open Handset Alliance Project EB/OL.http:/ 邸烁.Android揭秘和未来发展趋势 EB/OL.http:/ 百度空间.Google Android里头到底有什么?EB/OL.http:/ wc81/blog/item/12777c0754bcb8c97b8947c3.ht ml,2008201228.5 叶达峰.Eclipse编程技术与实例M.北京:人民邮电出版社,2006.6 张超,王阿川,王智.基于J2ME和J2EE的手机软件的研究

32、J.黑龙江科技信息,2007(3):21,201.7 刁扣锁.短信息在嵌入式Linux系统中的设计与实现D.东南大学硕士学位论文,2005.8 刘向辉.基于Java的移动终端中间件的研究与设计D.华东师范大学硕士学位论文,2005.9 高博.基于J2ME的移动通信技术的研究与应用D.沈阳工业大学硕士学位论文,2006.(上接第84页)LoginBean.closeStmt();/关闭Stmt对象LoginBean.closeConn();/关闭Conn对象/使用session对象的putValue()方法,把用户名name1赋给变量usernamesession.putValue(userna

33、me,name1);%/如果登录成功,使用javascript语句直接进入index_ok.jsp文件中window.location=index_ok.jsp?mark=成功登录alert(用户或者密码错误!);5 结束语随着Web技术的发展,人们生活水平的提高,人们生活方式也发生了巨大的改变。网上购物的出现使人们可以足不出户,看遍世界,消费者可以用自我服务的方式来完成交易,而企业通过网站可以展示产品,与用户进行交流沟通,从而吸引顾客,扩大客户群。网上购物将对社会的生产和管理、人们的生活方式、法律制度和教育文化带来巨大的影响。参考文献:1 杨学瑜,王志军,刘同利.JSP入门与提高M.北京:清华大学出版社,2004.2 刘荣华,张扬,聂颂,等.Oracle数据库管理与应用系统开发M.北京:人民邮电出版社,2005.3 鲁晓东,李育龙,杨健.JSP软件工程案例精解M.北京:电子工业出版社,2005.4豆腐.JSP,ASP+,ASP,PHP运行速度测试报告 EB/OL.http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁