计算机专业论文:基于Google android 平台的软件设计.doc_第1页
计算机专业论文:基于Google android 平台的软件设计.doc_第2页
计算机专业论文:基于Google android 平台的软件设计.doc_第3页
计算机专业论文:基于Google android 平台的软件设计.doc_第4页
计算机专业论文:基于Google android 平台的软件设计.doc_第5页
免费预览已结束,剩余34页可下载查看

下载本文档

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

文档简介

网络工程大作业基于google android 平台的软件设计目录1认识google android41.1什么是google android41.2google android 的发展历程41.3google android 的优势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.2andriod listview 常用方法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 认识google android1.1 什么是google androidandroid是一个基于linux 核心的开源手机平台作业系统。与windows mobile、symbian 等手机作业系统处在同一级别。该平台由操作系统、中间件、用户界面和应用软件等组成,号称是首个为移动终端打造的真正开放的移动开发平台。从不同角度来说,android 代表着一个崭新的开放原始码作业系统平台、一个友善的免费应用程式开发环境、一个与世界各地的程式开发者,站在相同起跑点上的公平竞争机会。1.2 google android 的发展历程google于2007年11月5日发布了基于linux平台的开源手机操作系统android;2008年9月22日,美国运营商t-mobile usa 在纽约正式发布第一款使用android 操作系统的google 手机t-mobile g1;google 与开放手机联盟合作开发了android 移动开发平台;google android 平台演变出的oms 是一种更适合中国手机用户群的智能手机操作系统,相信它的市场前景会相当乐观。1.3 google android 的优势开放性在优势方面,android平台首先就是其开发性,开发的平台允许任何移动终端厂商加入到android联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。开放性对于android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,随大的受益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。挣脱运营商的束缚在过去很长的一段时间,特别是在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。自从iphone上市,用户可以更加方便地连接网络,运营商的制约减少。随着edge、hsdpa这些2g至3g移动网络的逐步过渡和提升,手机随意接入网络已不是运营商口中的笑谈,互联网巨头google推动的android终端天生就有网络特色,将让用户离互联网更近。丰富的硬件选择这一点还是与android平台的开放性相关,由于android的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容。不受任何限制的开发商android平台提供给第三方开发商一个十分宽泛、自由的环境,不会受到各种条条框框的阻扰,可想而知,会有多少新颖别致的软件会诞生。无缝结合的google应用如今叱咤互联网的google已经走过10年度历史,从搜索巨人到全面的互联网渗透,google服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而android平台手机将无缝结合这些优秀的google服务。2 开发环境的搭建我们从校园网技术支持平台/计算机及软件知识/android 入门与实战中获得到了搭建android开发环境所需要的软件(java 6 update 16、eclipse java、adt 0.9.3、android sdk),完成了环境的搭建工作。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选择helpinstall new software ,在弹出的对话框上选择add ,再在弹出的对话框中选择archive ,浏览选择adt-0.9.3.zip ,在返回到的install 对话框中勾选developer tools 点击next至finish。这时弹出“是否重启eclipse 的对话框”,选择yes。2.4 添加sdksdk(software development kit, 即软件开发工具包 )一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。先将sdk包解压,在重启后的eclipse 中选择重启后选择window preferencesandroid ,这时会弹出警告。这是因为我们还没有设置sdk的原因,点击ok。选择browse 指定到sdk的所在路径,点击apply。这里需要等待sdk 列表的出现才可点击ok,否则会报错。2.5 创建模拟器在eclipse 里选择windowandroid sdk and avd manager。图2-4点击new 。图2-5输入相关参数,点击create avd 来完成模拟器的创建。回到上一个界面之后选中创建的模拟器,点击start 来运行模拟器。此时会出现如下模拟界面。图2-6模拟器的启动时间较长,启动完全之后模拟界面如下图:图2-73 android 系统构架android作为移动设备的开发平台,其软件层次结构包括了一个操作系统,中间件和应用程序。android平台由应用程序、应用程序框架、android运行时、库以及linux内核共5部分组成,如下图所示:图3-13.1 android平台的核心应用程序android的发布时会协同一些应用程序发布,诸如home、联系人、电话、浏览器等等,这些应用程序都是以java程序语言编写,也可以用自己编写的程序来替代。3.2 应用程序框架图3-2该应用程序架构是为简化元件重用而设计,应用程序可以发布它的功能块并可以被其他任何应用程序所使用,使用者用同样的机制来置换元件。3.3 系统库android 包含一组系统元件使用的c/c+函数库,使用者透过应用程序框架使用这些功能。部分函数库如下:图3-33.3.1 android运行时android运行时由核心库和dalvik虚拟机两部分组成。每一个android应用程序执行独立的dalvik虚拟机。3.3.2 linux内核图3-44 创建新工程以及对android相关组件的了解4.1 .工程结构介绍为了更清楚各个部分的命名,做了如下试验,工程文件的配置如下:project name 设置为project nameapplication name 设置为applicationnamepackage name 设置为 create activity 设置为createactivity这样设置的目的在于跟踪各个配置的去向。图4-1由上图可见package name分属于src和gen文件之下,分别包含createactivity.java文件和r.java文件。r.java文件下文会对其内容作出讲解,而createactivity.java文件是用户自己创建的文件,它是activity的activity子类,用户可以在其中添加或修改代码。另外我们创建的applicationname文件可以在模拟器视图中找到。如下图所示:图4-2同样用户所创建的新的activity子类名称也会出现在新的应用程序之中。图4-34.2 对相关组件的了解4.2.1 androidmanifest文件androidmanifest.xml是每个android程序中所必需的,它位于android工程的根目录中,描述了package中的全局数据,包括package中的组件(activities、services等)以及他们各自的实现类,各种能被处理的数据和启动位置等。manifest文件的主要功能是声明应用程序的组件。例如:一个activity必须要有一个标记对应,无论它是供外部使用还是只是用于自己的包中。如果一个activity没有标记对应,它将不能运行。上述两个语句就是activity声明。name属性指定了实现这个activity的activity子类。label属性值指向此activity要展示给用户的标签资源。注意事项:几乎所有的androidmanifest.xml文件都会在其第一个元素中包含一个命名空间的声明xmlns:android=/apk/res/android。该声明使标准android属性在文件中可用,这些属性为文件中的xml元素提供了大部分数据。4.2.2 res文件夹res文件夹包含的是整个应用可以使用的资源,它包含3个子文件夹,分别为drawable、layout和values。drawable文件夹包括本应用所需的图片文件和所需图片文件的引用。layout文件夹下目前仅仅有一个xml文件(main.xml),再编写应用界面的布局时引用此文件的内容。根据应用程序的需要还可以在layout中加入各种view。values文件夹下存储了一个xml文件(srings.xml),这个文件的作用是存储本工程使用的string类型全局变量。4.2.3 assets文件夹用来存放音频、视频等多媒体资源文件。我们希望能在以后对它有更多的了解。4.2.4 src和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.2 andriod listview 常用方法5.2.1 核心代码xml代码 定义listview每个条目的layout,用relativelayout实现在activity里面调用和加入listener,具体见注释:java部分代码list.setadapter(listitemadapter); /添加并且显示list.setonitemclicklistener(new onitemclicklistener() public void onitemclick(adapterview arg0, view arg1, int arg2, long arg3) settitle(点击第+arg2+个项目); );/添加点击 /添加长按点击 list.setoncreatecontextmenulistener(new oncreatecontextmenulistener() public void oncreatecontextmenu(contextmenu menu, view v,contextmenuinfo menuinfo) 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 核心代码public class bmi extends activity public void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate);setcontentview(r.layout.main); /按钮监听者button = (button)findviewbyid(r.id.submit);button.setonclicklistener(calcbmi); /强制将取得的资源型别设成button型别 private onclicklistener calcbmi = new onclicklistener()public void onclick(view v) decimalformat nf = new decimalformat(0.00); edittext fieldheight = (edittext)findviewbyid(r.id.height); edittext fieldweight = (edittext)findviewbyid(r.id.weight); /透过findviewbyid 方法,从资源档中取得对应的文字栏位元件double bmi = weight / (height * height);/计算bmi值textview result = (textview)findviewbyid(r.id.result);/将结果显示到屏幕上result.settext(your bmi is +nf.format(bmi);textview fieldsuggest = (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这个类里面intent intent1 =new intent(activitymain.this,activityrelativelayout.class); startactivity(intent1); public void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.main); button0 = (button) findviewbyid(r.id.button0); button0.setonclicklistener(listener0); /新建一个跳转到的activity public class activityrelativelayout extends activity public void oncreate(bundle savedinstancestate) 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文件中添加新建项的相关内容。这些工作都完成之后就可以在需要音效的地方“开启服务”。语言如下:private intent intent = new intent(com.angel.android.music);startservice(intent);6.6 核心功能技术实现总结6.6.1 不同activity之间的切换intent intent = new intent(); 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();在需要调用音乐的地方添加如下代码:private intent intent = new intent(com.angel.android.music);startservice(intent);6.6.3 游戏实现用到的其他函数switch-case在游戏的实现中主要用了点击监听的函数,并用switch-case语句判断点击的目标。switch (v.getid() case r.id.mimage11:setimage(0,imagebutton1);break;case r.id.mimage12:setimage(1,imagebutton2);break;case r.id.mimage13:setimage(2,imagebutton3);break;default:break;setimagesetimage()函数则是一个响应函数,主要利用if语句来判断响应的方式。if(myimagetemp=r.drawable.d14)/是否与预定值相同myimageview4.setimageresource(frame); /相同,装载笑脸并提示正确toast.maketext(game_1.this,恭喜你猜對了,toast.length_short).show();myimageview4.setalpha(255);elsemyimageview4.setimageresource(frame1); /不相同,装载哭脸并提示错误toast.maketext(game_1.this,對不起你猜錯了,toast.length_short).show();myimageview4.setalpha(255);randon()函数randon()函数用来随机变换牌的位置的。private void randon() for(int i=0;i3;i+) int temp=myimagei;/记录当前myimagei的值 int s=(int)(math.random()*2);/在myimage中产生随机数 myimagei=myimages; myimages=temp; /将产生的随机数对应的值与原值交换本随机函数并不是我们平常想象的产生随机数,得到随机牌的思路。而是利用产生的随机数,交换牌,让每次猜牌之前都不是之前的牌序的思路。androidmanifest.xml文件配置最后不要忘记在androidmanifest.xml文件中添加如下代码:/添加musicserver的内容/添加第一关游戏的类的内容/添加第二关游戏的类的内容7 体会感受上文所展示的是我们组的学习过程,从不同的方面对android的研究,最终形成了我们的小游戏。游戏虽小,但是凝聚了我们六个人不懈的学习与探索的精神。由于时间的限制,对于android的学习,我们还不是很深入,但是在这个学习过程中,我们学到的不仅是android的知识本身,更认识到团队合作的重要性,同时每个人解决问题的能力也提高了。下面是我们每一个人的收获体会。一个多月的合作即将进入尾声,老实说心中有些不舍,也有些不甘。索性的是我们达到了既定的目标,可喜的是不管在google android 的探索方面,还是在团队合作方面我们都有了很大的进步。接下来我想就这两个方面说说我的体会。在刚拿到这个题目的时候,我们有些茫然。因为在这之前根本没有听说过这个词,当然这只能说我们的信息太闭塞了。于是我开始从三个渠道去慢慢接近android :1、网络。我从网络中了解到android 的发布是在2007年底,而现在已是2010年底。它的发展已经有了近3年的时间,想必有很多的资料,再一次感到自己消息的闭塞。2、书籍。我到学校的图书馆转了一圈,令我很诧异的是关于android 的书籍还属于新书区,借阅相当麻烦。3、学长、学姐们的论文。在了解了android 近些年来的发展之后,我们开始着手平台的搭建。由于学长、学姐们论文的帮助,我们的平台搭建并没有遇到太大的困难。然后我们开始进一步地去了解 android 的系统框架和他的文件构成,为后面的开发打好基础。我们使用的方法是通过不同的命名方式跟踪文件命名去向,借助资料了解它的工作机制。在这些工作完成之后,我们就开始动手添加代码,更改界面,去实现一个个小的功能。准备工作结束之后,我们就着手开始实际的设计。围绕我们设计的主题,我们将一个个小的功能进行糅合、修改,达到了我们既定的设计目标。很抱歉,啰啰嗦嗦说了很多,但是这就是我们真实得开发过程。然后我想说说我们这个团队。从一开始组队,就注定了队里没有一个人是可以躲避任务的。所有的人都从零开始,把学到的与大家一起交流,把不懂的与大家一起讨论。在合作的过程中有摩擦、有不快,这都是再正常不过的事儿。但我们却从中学会了反思,学会了体谅。首先我想说说在这段时间里我发现的自己的缺点。1、一开始有些亲力亲为,会让对方产生失落感。开始的阶段论文,我是让组员们写,然后我再从头到尾改。往往改出的论文已经没有了当初的模样,这样会让他们觉得没有被认同,会有失落。2、交流的目的不明确,白费功夫。在交代任务时,有些含糊不清,导致结果的不正确,浪费了大家的时间。3、三分钟热情。这是最不能有的,但是在一小段时间里我确实失去了兴趣,还好有组员们的督促。总结完我的缺点之后我还有夸夸我的组员们。他们非常的努力,非常的有合作意识。就像我之前在文档中写的一样:“我有这么努力、这么不分你我的组员,我真的很高兴,也很幸福。也许我们做出来的东西很稚嫩,也许我们还有很多需要改进的地方,但是作为一个临时成立的团队,我们做到了团队协作,做到了共同进步。没有比这个更加可贵的了。”最后感谢这段时间来大家的配合,感谢这段时间来大家的不离不弃,感谢最后一次说话,说得有点儿多,但都是真心话。李玲经过七周的google android的学习,我收获了很多。首先是知识上的学习。对于google android,最初对它很陌生,甚至不知道该从何处开始研究。但是,通过在网上查找的资料以及借阅的图书,使我发现,它就在我们的生活中,而且是未来发展前景很不错的一个领域。人只有不断探索未知领域,才能提高自己的能力。所以,从零开始,脚踏实地,逐步研究。从搭建实验环境到添加一个按钮、一个文本框再到最终可以实现我们小组的小游戏,这七周的学习在我的脑海里留下的不仅仅是关于google android的知识,更多的是对新知识的研究与思考的这个过程。只有自己解决的问题才印象深刻,这句话说得很对,这次的学习中,虽然遇到了些困难,但是,只要自己肯仔细思考,多花些时间研究,就一定能解决问题,并且对这样的问题会随时留意。在android的学习中,除了知识的丰富,眼界的拓宽,也使我对团队合作有了更深的体会。在一个团队中,要学会站在他人的角度上看问题,进而才能从多方面理解问题;在一个团队中,成员要多沟通,才能合作的更融洽,更有利于项目的进展。再大的困难,除以一个团队,也是小问题;在小的成就,乘以一个团队,就是大进步。团队的合作不仅可以使自己看到他人身上的闪光点,进行学习,而且还能看到自己的不足,在比较中学习,才能取得更大的进步。总之,这次的学习,不但充实了新知识,同时也激发了自己对新事物的兴趣,以及提高了自己对新东西的学习研究能力。陈艳玲从确定题目,到现在的成果展示,我历经了七周时间的开发过程。在这个过程中我遇到了很多的困难和问题,现在回想起来感觉这是一个成长的过程,当问题解决时的那种成就感让人难忘。在这个过程中我不断的发现问题,不断的解决问题,随时对项目进行规划和设计,和同组人交流合作,使我迅速的成长。做google android代码开发,我是从零开始起步的,由最开始的了解google android具体是什么,到安装软件,搭建平台,再到后来的下载视频进行开发的前期准备,然后是开发的总体规划,实践规划的目标,我们每一步都稳扎稳打,对开发中的方法有了一个具体的框架和结构。做开发设计和构思很重要,要有友好的人机界面,这样对于使用者来说更方便更快捷。在开发的过程中经常要使用到按钮和文本框等的结合使用。我在做关卡连接时遇到的问题我至今还印象深刻,最后通过在activity中调用另一个activity,将欲传递的数据或参数,通过bundle来传递不同intent之间的数据来实现。还有一些经常使用的方法例如:textview,drawable,activity layou,button,edittext等。他们的应用能够是开发效果的界面更成熟。通过做这个项目我不仅仅是扩展了知识,更重要的是我对自己有了新的认识,我看到了另外的一个自己,同时做事情更有信心了,我想这对我今后的发展是尤为重要的。陈卓一学期的课程已经结束了,通过这学期的学习,让我有很多感慨。我觉得,与其说网络工程是一门课,倒不如说是一个实践的战场,把我们从理论层次带到了实践的列车,让我们看到了实实在在的东西。在项目没有开始做之前,因为我是学java的,所以我信心满满,觉得会轻松一些,但开始做后,我发现,完全不是那么回事,一切都要从头学起,做起来也很吃力,从一开始的界面搭建,到学习系统框架的建立,到尝试添加一些小的组件(一个按钮或一个文本框或一段话),再到后来的项目开发。这些都是基于代码的阅读,在阅读完代码后,对代码进行部分修改、调试,真是让我体会到牵一发动全身的感觉了。为了代码的实现,我不断的摸索,不断的查阅资料,不断的修改、调试,有时甚至会因为一个小小的错误而把程序改得面目全非。可以说,为了这个游戏的实现,我们是历尽了千辛万苦。为了这个开发项目,我们每周都会拿出一天多的时间学习探究关于android的知识,在不断的学习探究中进行实践。终于黄天不负有心人,我和我们组令一名同学一起完成了游戏的第一关的开发,在这一关中我们实现了游戏整体背景和牌面背景的设置、选牌功能、按钮确定功能、根据相应答案显示不同图片的功能、键盘绑定功能。我觉得在这些功能的实现中,最让我觉得有困难的就是键盘绑定功能,查阅很多资料发现,都是给每个按键添加监听者,但我又决定那样很麻烦,而且那些代码读起来也很难理解,当时我感到绝望,对自己没有了信息。但是,在我一次调试过程中,偶然发现按钮是可以被键盘控制的,我便想到了奖牌面放到按钮上的想法,我便这样做了,结果真的让我很是兴奋,键盘绑定功能真的实现了,那是我体会到了绝处逢生的感觉。这几周的开发过程,真是让我的心情跌宕起伏。在学这门课之前,我没料想到自己会在这门课上花这么多心思,但我现在觉得,之前所做的一切都是值得的。因为我不仅学到了很多知识,充实了自己,还深刻体会到团队精神,团队的力量。在这里,我要感谢这门课,是这门课让我了解到,原来逆境是可以帮助我们成长的;感谢小组里的每一位成员,是当家的共同努力,才有了今天的成果!陈艳艳为期几周的google android应用编程终于完成了!通过这几周对google android 编程的接触,虽说没能对其有全面细致的了解,但是对于大致的开发框架还是有了初步的了解。包括开发环境、文件结构、程序运行模式、java语言等,相信这些在以后的学习和工作中对我会有帮助。其实,我认为对于完成的这个小的项目来说,重点并不是我学到了多少知识,因为以我的技术水平和客观条件讲,想要短期掌握一个相对比较新奇的编程技术是很难的;重点是我以这个机会为平台,开阔了自身的眼界,了解了当下最新的技术,不再拘泥于课本上的知识,另外,通过这次机会,也锻炼了我的自学能力。因为google android 应用开发是近两年才出现的编程技术,图书馆里关于这方面的书几乎没有,只能到网上去寻找,过滤掉大量无用的文章,提炼到有价值的信息。此外,由于我本身学的是c+,所以还要抓紧学习java编程,这对于时间紧迫的我来说是个不小的挑战。最后,当我和同组的组员一起编写出能够流畅运行的程序时,自己很有成就感,这也算是一次小小的成功吧。通过这次自主学习,我认识到了一个人能力的大小不在于有多少知识,而在于坚忍不拔的意志和对知识的渴望,自身的努力是最重要的。在网上对android编程的大量搜索,我发现android的编程有着相当光明的前景,应用的范围也很广,觉得这是一个不错的发展方向。以后打算对android编程再进行更细致深入的研究,争取能成为自己的熟练技能。吴雄飞时间总是在不经意间溜走,不知不觉,这个学期已经快要结束了,网络工程实践这门课也要结束了,而这份总结也是我们最后一次上交的个人总结了。一个多月的时间不算是长,却给我留下了非常深刻的记忆。在这一个多月的时间里,我们小组成员之间共同协作,共同讨论,互相鼓励,对android进行了深入的探索,并且完成了我们设计的手机游戏的开发。我们最初对android的认识只是知道开发语言是java语言,等到安装好开发环境之后才发现和我们以前用到的java还是有很大的差别的,最主要的是布局文件并不写到java类中,而是通过id进行连接的,在开发阶段最常间的错误就是两个文件不能连接成功,导致整个程序都不能运行,其次就是android中大量的源文件给我们的设计带来了很大的困难,我们查阅书籍,找了很多相关资料才弄明白每种文件的作用。通过查阅书籍我也发现,android目前还算是一种比较新的知识,包括图书馆里的资料也都是属于新书范围。所以我们能供我们研究的资料并不是特别多,而且很多的资料都是介绍性的,并没有对android进行深入的研究。为此,我们只有自己探索,每周,小组人员都要开会,共同讨论总结,每个人都在这个题目上付出了很多心血。终于我们的辛苦得到了回报,我们成功的完成了一个有两个个关卡的手机游戏,我小组的另外一名同学通过对android的基础知识学习,阅读验证了很多源代码之后完成了第一个关卡的设计。简简单单的一关,却花费了我们大量的心血,点击按钮根据选择的对错显示笑脸或哭脸,显示不同的图案,键盘绑定功能。而在这其中给我印象最深刻的就是键盘绑定,查阅了大量的资料,发现给每个按钮添加监听着会出现大量的冗余代码,程序的可读性大大降低了,当我们愁眉不展时却发现android自带的功能是可以实现自动选择的功能,于是我毅然更改了整个程序,把图片都添加到了按钮上,这样既不会更改太多的源代码又能实现键盘控制游戏的动能,通过这次添加监听者的经历,我深刻的体会到了柳暗花明的意思,而这一切也源于我们前边扎实稳定的基本知识学习,使我们熟悉了解android每个组建的特性。网络工程这门课不仅仅让我学到了知识,还让我学到了学习研究问题的方法,更让我体会到了团队的合作,小组的成员共同学习、共同努力才有了我们最后的成功。付佳丽398 附录:阶段总结第一阶段总结这周我开始着手进行google android 平台上的应用程序

温馨提示

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

评论

0/150

提交评论