【www.scfx8.com--专业技术个人总结】

通信与电子信息专业实训报告 项目名称:基于Android的游戏开发 班 级 通信班 姓 名 学 号 指导教师 成 绩 实训时间:2013年 X 月 17 日—2013年X月 28 日 目录 一、实训目的及其意义 3 1.1、目的及意义 3 1.2、研究现状 3 二、实训主要任务、重点及难点 4 2.1、任务 4 2.2、重点内容及实现途径 4 实训具体内容及完成的主要工作 5 3.1、认识基础开发 6 3.2、了解数据存储 6 3.3、总体实训过程 7 四、实际遇到的困难,解决问题的方法和措施 8 (一)、所遇问题 8 (二)、解决方法与措施 9 五、 9 一、实训目的及其意义 1.1、目的及意义 了解现阶段互联网发展主流,了解移动互联网,认识移动互联网的发展与展望,认识Android,了解基于Android的应用软件开发方法及其商业流程。把理论与实际结合,通过对理论知识的理解,领悟从而运用到生活实际巩固所学的知识,提高对实际生活的认识,积累经验。使学生在此期间能够初次体会到实际生产中的种种技能与经验,完成一项项目锻炼独立思考及团队合作能力。使学生们进一步加深对所学知识的理解,理论联系实际,巩固所学有关计算机基础理论知识和基本技能,学习有关计算机最新技术方面的应用,增强学生对计算机在社会生活,社会生产中应用的感性认识,深入了解计算机在各个领域中的应用状况。生产实习是学校的重要补充部分,是区别于普通学校教育的一个显著特征,是教育教学体系中的一个不可缺少的重要组成部分和不可替代的重要环节。它是与今后的职业生活最直接联系的,学生在生产实习过程中将完成学习到就业的过渡,因此生产实习是培养技能型人才,实现培养目标的主要途径。它不仅是校内教学的延续,而且是校内教学的。生产实习一方面巩固了书本上学到的理论知识,另一方面,可获得在书本上不易了解和不易学到的生产现场的实际知识,使我们在实践中得到提高实训环节对于提高学生的综合能力和全面素质具有重要意义。

1.2、研究现状 Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序 —— 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。Google与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。

Android主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。

2012年11月数据显示,Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。目前基于Android的移动终端上的软件应用开发很火热,Android平台的开发已越来越强大。

Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。Android操作系统最初由Andy Rubin创办,最初只支持手机。2005年由Google收购注资,并拉拢多家制造商组成开放手机联盟(Open Handset Alliance)开发改良,逐渐扩展到到平板电脑及其他领域上。

二、实训主要任务、重点及难点 2.1、任务 认识移动互联网,了解移动互联网的开发,认识及了解Android,在给定时间内完成基于Android平台的游戏项目的开发,实现预想游戏效果,熟悉项目开发的商业流程,给出游戏全套文档及代码。

2.2、重点内容及实现途径 2.2.1、重点内容:熟悉游戏开发代码,了解项目流程,对Android游戏开发有基本了解。

2.2.2、实现途径:

所需运行硬件环境:

安卓系统2.2以上 3.5寸以上移动设备 软件开发环境的配置:

(1)

配置Java程序开发环境 (2)

安装并汉化Eclipse(JDK)

(3)

Android SDK的安装 (4)

ADT的安装及配置 (5)

Android模拟器的配置 (6)

Office2003以上版本的软件(绘图Visio) 然后运用Eclipse完成项目代码的编写,运行与调试;

最终在实体终端上进行测试,最终完成项目 三、实训具体内容及完成的主要工作 实训前期,有老师给我们讲解了现阶段移动互联网的发展,了解移动互联网的发展主流,说明了现阶段移动互联的发展重要性。老师着重给我们讲解了Android的发展,以及现阶段移动互联中Android所扮演的角色。接下来我们将针对基于Android的游戏开发进行学习,由于时间的原因,我们主要了解了一下游戏开发的基本项目流程,具体的操作将在实训过程中一一讲解验证。

接下来老师为我们讲解了实训的具体内容,对于一个游戏开发项目,首先我们需要进行游戏开发的前期准备,主要是游戏开发环境的配置,以及团队开发过程中的任务分配,之后紧张的游戏项目开发拉开了帷幕。在第一天我们主要学习了Eclipse软件的使用,包括游戏工程的创建等等。并且针对Eclipse中的Android项目结构进行了讲解:Android项目结构:src/ java原代码存放目录 gen/ 自动生成目录 gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。

这个文件由Android开发工具自动产生的。res/ 资源(Resource)目录 在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。assets资源目录Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件。AndroidManifest.xml 项目清单文件 。

3.1、认识基础开发 一、Activity:是Android系统中的四大组件之一。2.Activity生命周期:void onCreate(Bundle savedInstanceState) void onStart() void onRestart() void onResume() void onPause() void onStop() void onDestroy() 这七个方法定义了Activity的完整生命周期 二、Intent: Intent对他要完成操作的一种抽象描述,我们可以用intent来启动一个activity,发起一个broadcast和启动或绑定一个service。Intent使应用程序代码在运行时动态绑定成为可能,这也降低了不同代码之间的耦合性。Intent最常使用的方法是用来启动一个activity。Intent封装了他要执行动作的属性,这些属性最常见的是action和data Intent主要有以下四个重要属性:dssAction:Action属性的值为一个字符串,它代表了系统中已经定义了一系列常用的动作。通过setAction()方法或在清单文件AndroidManifest.xml中设置。

3.2、了解数据存储 一、Sqlite 自定义一个数据库的操作类,该类要extends SQLiteOpenHelper类 public class MyHelper extends SQLiteOpenHelper { //类没有实例化,是不能用作父类构造器的参数,必须声明为静态 private static final String name = “china“; //数据库名称 private static final int version = 1; //数据库版本 public MyHelper (Context context) { //第三个参数CursorFactory指定在执行查询时获得一个游标实例的工厂类,设置为null,代表使用系统默认的工厂类 super(context, name, null, version); } public void onCreate(SQLiteDatabase db) { //该方法是在第一次实例化数据库操作对象的时候被调用 //可以在其中做一些初始化的工作,比如创建数据库表等 } public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //在数据库的版本发生改变的时候会被调用 } } 二、 Xml格式数据解析:

Dom解析:dom解析一般是把xml文档转换成一棵文档节点树,存储在内存中 优点:xml文档树在内存中完整存储,可以直接对该文档树的数据和结构进行修改;

可以通过解析器去访问节点树上的任何一个节点;

Dom解析的API使用简单方便。

缺点:当xml文档比较大的时候,该解析方式消耗内存资源 3.3、总体实训过程 接下来我们开始了正式的学习,以下是实训过程中所学习的内容:

1、学习了怎样使活动之间相互转换,按键的监听,以及它们之间怎样联系综合使用:

1>不同的“活动“ 显示不同的“布局“ 2>清单中对所有“活动“进行注册 3>切换时使用startActivity(Intent intent)方法 4>使用private OnClickListener listener = new OnClickListener() {}对所需的按钮进行监听 2、学习了怎样实现菜单,对话窗口,以及通过返回键退出应用,对于返回键的使用则通过监听等实现。

3、 学习了对话窗口实现游戏设置,开关控件的使用方法,以及动画的使用4、 4、 学习了怎样使用SimpleAdaper适配器创建列表,并且对这些天来所学到的基础知识做了一个综合使用。

5、 学习了怎样使用自定义UI,以及游戏框架的使用 6、 学习了游戏框架的使用,实现游戏内部的操作 7、 学习了游戏内效果的简单实现,包括背景中云的实现 8、学习了游戏内鸭子效果的实现,鸭子的动画中各个部分 9、学习了游戏内音乐效果的实现,鸭子的速度,鸭子的动画中各个部分 10、学习了游戏内碰撞区的实现 11、学习了游戏内动画速度与得分绘制,学习了游戏内得分规则 12、学习了游戏内得分的存储、游戏的暂停 13、解决了一些程序中的问题,并且针对老师的要求和自己的想法对程序进行了一系列的改动,使游戏愈加完善。

在此次实训中,我主要负责编程方面的问题,我们同一个小组共有三个编程,分别负责不同模块的问题。在实训开始时,老师给我们进行了项目开发的主要流程,让我们熟悉项目开发的规范步骤,以便在项目进行时操作顺利。之后的每一天老师都会讲解项目中需要应用到的程序基础。与此同时,每天讲解时的内容老师也会进行录像供我们进行复习,每当有不明白的地方,我都会翻看一遍录像,熟悉一下。代码方面,老师会与我们同时进行,将各个步骤在软件上进行演示。平时有自己无法解决的问题老师也会详细的一一解答。

四、实际遇到的困难,解决问题的方法和措施 (一)、所遇问题 在整个游戏的设计过程中不是一帆风顺的,所遇到的问题也很多,其中主要是分布在以下几点:一、基础欠缺;

二、人员分配;

三、团队配合 这些问题是在整个游戏制作中所遇都的较大的问题,但是组员每天还有许许多多的其他问题,这些问题都是通过指导老师的讲解,以及小组内的成员之间的相互讨论,突破重重难关,最终得以解决。

(二)、解决方法与措施 因为是第一次做android项目的开发,所以在本次实训中所遇到的问题的样式有很多,对于一些基本的问题,我们都是通过小组内的讨论来解决的。还有一些其他的小问题,对于这些问题,我们都是通过网上搜索解答。除去以上一些基本的问题小组内成员可以解决的问题,还有一些涉及到一些专业的知识的任容,对于这些,我们都没有接触到的问题,最终小组都是将问题汇总最后上报给指导教师,由老师来进行解决。

五、心得体会 为期一个月的Android实训已经结束,在这一个月中我学习了很多,也得到了很多。实训是把理论与实际结合,通过对理论知识的理解,领悟从而运用到生活实际巩固所学的知识,提高对实际生活的认识,积累经验。在此期间学生能够初次体会到实际生产中的种种技能与经验。完成一项项项目能体现出独立思考能力。Android生产实习对目前应用现状进行了分析与比较,进而研究分析Android平台的系统架构和组件模型。在此基础上,基于Android平台设计和开发,实现对android编程的理解与应用,特别是在对于控件的应用产生很深的理解。

通过这近一个月的android实习,基本掌握了Android应用程序开发的一般流程。对常用控件基本掌握其用法,对其事件的监听方法也基本掌握。学习Android不仅是对前沿开发技术的了解,也是对编程知识的一次提升。

经过对Android的控件、布局、Activity、Service等一系列基础知识的学习,我对整个Android的开发有了大致的了解。因为我们都是第一次接触android,所以老师先给我们讲了一个基本上每个程序语言都要编的,经典的程序,helloworld。通过这个小程序,我们知道了如何去创建一个android的项目,了解了android项目里的每个文件夹和文件的作用。教了一些常用的控件的使用,如:TextView,Button等等。然后老师又教我们如何布局,认识了linearlayout,tablelayout, AbsoluteLayout, RelativeLayout四种布局,分别为线型布局,表格布局,绝对布局和相对布局,并知道了如何通过这四种布局的相互嵌套来使程序的界面更加的友好,更加的让用户接受。例如: 要的布局(或者控件) ,在学习界面中,我发现Android为我们提供了很好的类似反射机制,通过Layout文件夹下的配置文件,可以快速的形成界面,在配置文件可以设置属性或者样式都是很快捷方便。对比较特殊的界面也可以通过处理嵌入到指定的界面,同样也可以通过java代码直接创建View进行添加,不过这种方式比较复杂。对一些点击、选中、按键等处理的事件,界面之间的跳转Intent管理.在Android编程过程中巩固熟悉了Java的编程。由于Android应用程序的开发离不开Java的支持,所以基础的Java知识是必须的。由于我们刚刚结束了java课程,马上展开了android实训,而android和java之间又有很大的联系,所以,我们学习android也比较容易入门。最终得到的成效也很好。

这次的实训再让我们认识到Android的同时,更加让我们认识到团队合作的重要性,在团队开发过程中,我们都有自己的分工,在老师的指导下,我们很好地完成了项目,团队的重要毋庸置疑,认识到团队的重要性,对我们在未来的工作中能够更加的适应,我们也会在未来的日子里更加深刻的认识到这次实训带给我们的,让我们能受益的体会与思考。

本文来源:http://www.scfx8.com/gerengongzuozongjie/75038.html