计算机专业论文基于googleandroid平台的软件设计.docx

上传人:b****8 文档编号:13173579 上传时间:2023-06-11 格式:DOCX 页数:14 大小:26.28KB
下载 相关 举报
计算机专业论文基于googleandroid平台的软件设计.docx_第1页
第1页 / 共14页
计算机专业论文基于googleandroid平台的软件设计.docx_第2页
第2页 / 共14页
计算机专业论文基于googleandroid平台的软件设计.docx_第3页
第3页 / 共14页
计算机专业论文基于googleandroid平台的软件设计.docx_第4页
第4页 / 共14页
计算机专业论文基于googleandroid平台的软件设计.docx_第5页
第5页 / 共14页
计算机专业论文基于googleandroid平台的软件设计.docx_第6页
第6页 / 共14页
计算机专业论文基于googleandroid平台的软件设计.docx_第7页
第7页 / 共14页
计算机专业论文基于googleandroid平台的软件设计.docx_第8页
第8页 / 共14页
计算机专业论文基于googleandroid平台的软件设计.docx_第9页
第9页 / 共14页
计算机专业论文基于googleandroid平台的软件设计.docx_第10页
第10页 / 共14页
计算机专业论文基于googleandroid平台的软件设计.docx_第11页
第11页 / 共14页
计算机专业论文基于googleandroid平台的软件设计.docx_第12页
第12页 / 共14页
计算机专业论文基于googleandroid平台的软件设计.docx_第13页
第13页 / 共14页
计算机专业论文基于googleandroid平台的软件设计.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算机专业论文基于googleandroid平台的软件设计.docx

《计算机专业论文基于googleandroid平台的软件设计.docx》由会员分享,可在线阅读,更多相关《计算机专业论文基于googleandroid平台的软件设计.docx(14页珍藏版)》请在冰点文库上搜索。

计算机专业论文基于googleandroid平台的软件设计.docx

计算机专业论文基于googleandroid平台的软件设计

计算机专业论文:

基于googleandroid平台的软件设计

计算机专业论文:

基于googleandroid平台的软件设计网络工程大作业基于Googleandroid平台的软件设计目录1认识GoogleAndroid41.1什么是GoogleAndroid41.2GoogleAndroid的发展历程41.3GoogleAndroid的优势42开发环境的搭建52.1安装JDK52.2安装Eclipse52.3加载ADT62.4添加SDK62.5创建模拟器73Android系统构架83.1Android平台的核心应用程序93.2应用程序框架93.3系统库93.3.1Android运行时103.3.2Linux内核104创建新工程以及对Android相关组件的了解104.1.工程结构介绍104.2对相关组件的了解124.2.1AndroidManifest文件124.2.2Res文件夹124.2.3Assets文件夹124.2.4Src和gen文件夹125界面以及相关组件的学习125.1文本框及按钮的显示125.1.1核心代码125.1.2运行结果135.2AndriodListView常用方法135.2.1核心代码135.2.2运行结果145.3在文本框中输入数据,点击按钮做出相应计算以及显示提示信息155.3.1核心代码155.3.2运行结果165.4实现多个activity的用户界面设计165.4.1核心代码165.4.2构建UI层175.4.3运行结果176游戏开发成果展示及相关技术说明186.1进入游戏界面186.2关卡的选择:

196.2.1功能描述:

196.2.2技术实现:

196.2.3成果展示:

196.3第一关206.3.1功能描述:

206.3.2技术实现(键盘绑定)206.3.3成果展示:

206.4第二关226.4.1功能描述:

226.4.2技术实现226.4.3成果展示226.5添加音效246.5.1技术实现246.6核心功能技术实现总结246.6.1不同activity之间的切换246.6.2添加背景音乐246.6.3游戏实现用到的其他函数257体会感受268附录:

阶段总结29首都师范大学信息工程学院08级1班【摘要】Android是Google公司于2007年11月5日发布的一个基于Linux核心的开源手机平台作业系统。

它包括操作系统、用户界面和应用程序,这些是移动电话工作所需的全部软件,是首个为移动终端打造的真正开发和完整的移动软件。

同时,Android在中国的前景十分广阔,行业需求量也很大。

此外,Android系统的高级编程语言是Java,对于我们并不陌生。

基于此,我们选择了对Android进行研究开发,包括以下几方面:

Android开发平台的搭建、其系统构架、工程组件以及界面设计的相关例子。

为了更好的介绍基于该平台的软件设计的原理和开发过程,我们设计了一个关于纸牌游戏的软件。

【关键词】Android、平台搭建、系统构架、纸牌游戏1认识GoogleAndroid1.1什么是GoogleAndroidAndroid是一个基于Linux核心的开源手机平台作业系统。

与WindowsMobile、Symbian等手机作业系统处在同一级别。

该平台由操作系统、中间件、用户界面和应用软件等组成,号称是首个为移动终端打造的真正开放的移动开发平台。

从不同角度来说,Android代表着一个崭新的开放原始码作业系统平台、一个友善的免费应用程式开发环境、一个与世界各地的程式开发者,站在相同起跑点上的公平竞争机会。

1.2GoogleAndroid的发展历程Google于2007年11月5日发布了基于Linux平台的开源手机操作系统——Android;2008年9月22日,美国运营商T-MobileUSA在纽约正式发布第一款使用Android操作系统的Google手机——T-MobileG1;Google与开放手机联盟合作开发了Android移动开发平台;GoogleAndroid平台演变出的OMS是一种更适合中国手机用户群的智能手机操作系统,相信它的市场前景会相当乐观。

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

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

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

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

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

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

随着EDGE、HSDPA这些2G至3G移动网络的逐步过渡和提升,手机随意接入网络已不是运营商口中的笑谈,互联网巨头Google推动的Android终端天生就有网络特色,将让用户离互联网更近。

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

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

不受任何限制的开发商Android平台提供给第三方开发商一个十分宽泛、自由的环境,不会受到各种条条框框的阻扰,可想而知,会有多少新颖别致的软件会诞生。

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

2开发环境的搭建我们从校园网技术支持平台ftp:

//入门与实战中获得到了搭建Android开发环境所需要的软件(Java6update16、eclipsejava、ADT0.9.3、AndroidSDK),完成了环境的搭建工作。

2.1安装JDKJDK是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。

JDK是学好Java的第一步。

有可能会有人用到JRE,这里使用的JDK是除了包括JRE的全部内容外,还包含编译、调试、文档生成等工具。

图2-1JDK的安装与普通软件的安装方式相同,这里不再赘述。

2.2安装EclipseEclipse是一个开放源代码的、基于Java的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

Eclipse是一个绿色软件,解压后可直接使用。

双击图标,进入Eclipse。

但要注意工作空间存储位置的选择。

图2-22.3加载ADTADT是Android在Eclipse上的开发工具。

图2-3选择Help→InstallNewSoftware,在弹出的对话框上选择ADD,再在弹出的对话框中选择Archive,浏览选择ADT-0.9.3.zip,在返回到的Install对话框中勾选DeveloperTools点击next至finish。

这时弹出“是否重启Eclipse的对话框”,选择YES。

2.4添加SDKSDK(SoftwareDevelopmentKit,即软件开发工具包)一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。

先将SDK包解压,在重启后的Eclipse中选择重启后选择Window→preferences→Android,这时会弹出警告。

这是因为我们还没有设置SDK的原因,点击OK。

选择Browse指定到SDK的所在路径,点击Apply。

这里需要等待SDK列表的出现才可点击OK,否则会报错。

2.5创建模拟器在Eclipse里选择Window→AndroidSDKandAVDManager。

图2-4点击New。

图2-5输入相关参数,点击CreateAVD来完成模拟器的创建。

回到上一个界面之后选中创建的模拟器,点击Start来运行模拟器。

此时会出现如下模拟界面。

图2-6模拟器的启动时间较长,启动完全之后模拟界面如下图:

图2-73Android系统构架Android作为移动设备的开发平台,其软件层次结构包括了一个操作系统,中间件和应用程序。

Android平台由应用程序、应用程序框架、Android运行时、库以及Linux内核共5部分组成,如下图所示:

图3-13.1Android平台的核心应用程序Android的发布时会协同一些应用程序发布,诸如Home、联系人、电话、浏览器等等,这些应用程序都是以java程序语言编写,也可以用自己编写的程序来替代。

3.2应用程序框架图3-2该应用程序架构是为简化元件重用而设计,应用程序可以发布它的功能块并可以被其他任何应用程序所使用,使用者用同样的机制来置换元件。

3.3系统库Android包含一组系统元件使用的C/C++函数库,使用者透过应用程序框架使用这些功能。

部分函数库如下:

图3-33.3.1Android运行时Android运行时由核心库和Dalvik虚拟机两部分组成。

每一个Android应用程序执行独立的Dalvik虚拟机。

3.3.2Linux内核图3-44创建新工程以及对Android相关组件的了解4.1.工程结构介绍为了更清楚各个部分的命名,做了如下试验,工程文件的配置如下:

Projectname设置为projectnameApplicationname设置为applicationnamePackagename设置为CreateActivity设置为createactivity这样设置的目的在于跟踪各个配置的去向。

图4-1由上图可见Packagename分属于src和gen文件之下,分别包含createactivity.java文件和R.java文件。

R.Java文件下文会对其内容作出讲解,而createactivity.java文件是用户自己创建的文件,它是Activity的Activity子类,用户可以在其中添加或修改代码。

另外我们创建的applicationname文件可以在模拟器视图中找到。

如下图所示:

图4-2同样用户所创建的新的activity子类名称也会出现在新的应用程序之中。

图4-34.2对相关组件的了解4.2.1AndroidManifest文件AndroidManifest.xml是每个Android程序中所必需的,它位于Android工程的根目录中,描述了package中的全局数据,包括package中的组件(Activities、Services等)以及他们各自的实现类,各种能被处理的数据和启动位置等。

Manifest文件的主要功能是声明应用程序的组件。

例如:

一个Activity必须要有一个标记对应,无论它是供外部使用还是只是用于自己的包中。

如果一个Activity没有标记对应,它将不能运行。

上述两个语句就是Activity声明。

Name属性指定了实现这个Activity的Activity子类。

Label属性值指向此Activity要展示给用户的标签资源。

注意事项:

几乎所有的AndroidManifest.xml文件都会在其第一个元素中包含一个命名空间的声明xmlns:

android=

该声明使标准Android属性在文件中可用,这些属性为文件中的xml元素提供了大部分数据。

4.2.2Res文件夹Res文件夹包含的是整个应用可以使用的资源,它包含3个子文件夹,分别为drawable、layout和values。

Drawable文件夹包括本应用所需的图片文件和所需图片文件的引用。

Layout文件夹下目前仅仅有一个xml文件(main.xml),再编写应用界面的布局时引用此文件的内容。

根据应用程序的需要还可以在layout中加入各种view。

Values文件夹下存储了一个xml文件(srings.xml),这个文件的作用是存储本工程使用的string类型全局变量。

4.2.3Assets文件夹用来存放音频、视频等多媒体资源文件。

我们希望能在以后对它有更多的了解。

4.2.4Src和gen文件夹图4-4这两个文件夹中包含了工程的所有java代码资源,至少要包含2个文件,一个是activity的java文件,另一个是R.java文件。

R.java是Android-Eclipse自动生成的。

这个文件包含了drawable、layout、values文件夹中的资源信息,以资源id的形式具体展现。

我们不能对它进行修改。

5界面以及相关组件的学习5.1文本框及按钮的显示5.1.1核心代码为按钮设置名称,屏幕上的确定按钮为按钮设置名称,屏幕上的取消按钮5.1.2运行结果图5-15.2AndriodListView常用方法5.2.1核心代码Xml代码定义ListView每个条目的Layout,用RelativeLayout实现在Activity里面调用和加入Listener,具体见注释:

Java部分代码list.setAdapter(listItemAdapter);//添加并且显示list.setOnItemClickListener(newOnItemClickListener(){publicvoidonItemClick(AdapterViewarg0,Viewarg1,intarg2,longarg3){setTitle(“点击第“+arg2+“个项目“);}});//添加点击//添加长按点击list.setOnCreateContextMenuListener(newOnCreateContextMenuListener(){publicvoidonCreateContextMenu(ContextMenumenu,Viewv,ContextMenuInfomenuInfo){menu.setHeaderTitle(“长按菜单-ContextMenu“);menu.add(0,0,0,“弹出长按菜单0“);menu.add(0,1,0,“弹出长按菜单1“);}});5.2.2运行结果图5-2图5-35.3在文本框中输入数据,点击按钮做出相应计算以及显示提示信息5.3.1核心代码publicclassBmiextendsActivity{publicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);//按钮监听者Button=(Button)findViewById(R.id.submit);button.setOnClickListener(calcBMI);}//强制将取得的资源型别设成“button“型别privateOnClickListenercalcBMI=newOnClickListener(){publicvoidonClick(Viewv){DecimalFormatnf=newDecimalFormat(“0.00“);EditTextfieldheight=(EditText)findViewById(R.id.height);EditTextfieldweight=(EditText)findViewById(R.id.weight);//透过findViewById方法,从资源档中取得对应的文字栏位元件doubleBMI=weight/(height*height);//计算BMI值TextViewresult=(TextView)findViewById(R.id.result);//将结果显示到屏幕上result.setText(“YourBMIis“+nf.format(BMI));TextViewfieldsuggest=(TextView)findViewById(R.id.suggest);//给出建议指定EditText界面元件预设显示的文字(数字)。

Strings.xml源程序BMI身高(cm)体重(kg)计算BMI值你的BMI值是在values下创建advice文件,气源程序为你该多吃点体型很棒喔你该节食了5.3.2运行结果图5-45.4实现多个activity的用户界面设计5.4.1核心代码通过Intent这个类能够使我们从本页面跳转到ActivityRelativeLayout这个类里面Intentintent1=newIntent(ActivityMain.this,ActivityRelativeLayout.class);startActivity(intent1);publicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);button0=(Button)findViewById(R.id.button0);button0.setOnClickListener(listener0);}//新建一个跳转到的activitypublicclassActivityRelativeLayoutextendsActivity{publicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);//通过这个方法显示:

relative_layout.xml配置的界面setContentView(R.layout.relative_layout);}}5.4.2构建UI层main.xml中配置效果是:

一个按钮,按钮上面文字是:

“我来了”配置需要转到的页面的xml配置文件将两个界面的Actity的java类都添加到android系统中配置一下默认的一个文件:

AndroidManifest.xml5.4.3运行结果图5-5图5-66游戏开发成果展示及相关技术说明6.1进入游戏界面图6-16.2关卡的选择:

6.2.1功能描述:

关卡选择为进入系统的主界面,在这个界面中用户可以进行关卡选择,系统共分为两关。

6.2.2技术实现:

在这个模块中界面上的两个按钮和另外的两个java文件进行连接。

6.2.3成果展示:

图6-2图6-36.3第一关6.3.1功能描述:

猜猜哪张是红桃A,每次游戏有三张纸牌,随机排列,用户点击纸牌进行翻牌,显示答案,对于用户选择的答案进行高亮显示,系统会提示用户选择正确或错误,当用户选择正确是,提示笑脸,错误提示哭脸。

6.3.2技术实现(键盘绑定)将牌面的图片用ImageButton.setImageResource()方法来实现,减少了代码的复杂性,增加了可读性。

6.3.3成果展示:

图6-4图6-5图6-66.4第二关6.4.1功能描述:

系统从牌库中随机抽取六张扑克牌,用户点击纸牌猜牌面大小。

对于答案用高亮现实,系统提示用户答案是否正确。

首先在界面设计时添加了一个静态文本视图,6个图片视图,1个按钮。

6.4.2技术实现对应于类中就有6个图片视图的私有成员和一个按钮的私有成员,另外还有一个int类型的图片管理集的私有成员和一个用于判断的int型变量a等。

然后通过onCreate函数将图片视图和按钮与界面变量进行结合。

其中调用了一个Randon()函数将纸牌顺序进行随机排列。

之后设置了一个界面监听函数,并通过一个switch对用户选择的所有可能情况进行设置。

6.4.3成果展示图6-7图6-8图6-96.5添加音效6.5.1技术实现先添加一个基于service的类,在该类内添加音效文件和开始、结束的条件预定。

然后注意在AndroidManifest.xml文件中添加新建项的相关内容。

这些工作都完成之后就可以在需要音效的地方“开启服务”。

语言如下:

privateIntentintent=newIntent(“com.angel.Android.MUSIC“);startService(intent);6.6核心功能技术实现总结6.6.1不同activity之间的切换Intentintent=newIntent();intent.setClass(CardGame.this,game_1.class);startActivity(intent);//调用一个新的ActivityCardGame.this.finish();//关闭原本的Activity6.6.2添加背景音乐定义一个基于服务的类,用于管理音乐文件。

//R.drawable.music是资源文件,MP3格式的mediaPlayer=MediaPlayer.create(this,R.drawable.music);mediaPlayer.setLooping(false);//是否循环播放mediaPlayer.start();在需要调用音乐的地方添加如下代码:

privateIntentintent=newIntent(“com.angel.Android.MUSIC“);startService(intent);6.6.3游戏实现用到的其他函数Switch-case在游戏的实现中主要用了点击监听的函数,并用switch-case语句判断点击的目标。

switch(v.getId()){caseR.id.mImage11:

SetImage(0,ImageButton1);break;caseR.id.mImage12:

SetImage(1,ImageButton2);break;caseR.id.mImage13:

SetImag

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

当前位置:首页 > 外语学习 > 英语学习

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2