****毕业实习报告毕业实习报告学生姓名****学号**********专业计算机科学与技术指导教师*******I达内时代科技集团有限公司毕业实习报告系别:信息工程学院年级:2012级专业:计算机科学与技术姓名:韩温玉学号:201252383前言为期三个月的认识实习即将结束,三个月的实习时间虽然不长,但是我从中学到了很多知识,关于做人、做事、做学问。这次实习丰富了我在这方面的知识,使我向更深的层次迈进,对我在今后的社会当中立足有一定的促进作用,但我也认识到,要想做好这方面的工作单靠这短短的实习是不行的,还需要我在平时的学习和工作中一点一点的积累,不断丰富自己的经验才行。我面前的路还是很漫长的,需要不断的努力和奋斗才能真正地走好。实习这三个月期间,我拓宽了视野,增长了见识,体验到社会竞争的残酷,在设计知识方面、技能、与人沟通和交流等方面都有了不少的收获。不但认识到自己在理论知识方面的欠缺,而且还意识到只有与实践结合起来,才能使自己的知识水平和自身素质有较大的提高。以便在以后能以更加积极的姿态面对今后的学习和工作中面临的挑战。为我今后在工作上能力的提高起到了促进的作用,增强了的竞争力,为以后立足增添了一块基石2一.达内时代科技集团有限公司介绍1.实习目的毕业实习是学生大学本科教学实践的主要环节,对学生的实践能力的培养具有十分重要的意义。学生通过本次实习,能够了解计算机专业的相关新技术,了解理论知识在实际应用中的作用,了解计算机技术的新发展,体验计算机专业的工作内容和工作特点,拓宽知识面,增强人际沟通能力,加强团队协作精神,为走向社会打下基础。Android以Linux为核心的Android行动平台,使用Java作为编程语言。本实训是在学习java语言程序设计的基础上进行的一次综合实践。通过综合训练,要求学生掌握java语言程序设计的基本技能和Android编程的应用,并较系统地掌握JAVA语言程序设计开发方法以及帮助文件的使用等,使学生通过本次实训,能够进行独立的Android应用程序开发,能够在实际操作中得到进一步的提高,为以后的学习和工作打下良好的基础。2.公司简介达内全称达内时代科技集团有限公司,是中国高端IT培训的领先品牌,致力于培养面向电信和金融领域的Java、C++、C#/.Net、软件测试、嵌入式、PHP、android等方面的中高端软件人才。由于达内优秀的教学效果和行业领先的经营模式赢得了社会各界的广泛赞誉和好评,荣获了各界权威机构的颁奖:达内成为业界唯一的一家2006、2007、2008、2009连续4年入选德勤评选的“中国高科技高成长50强公司”、“亚太地区高科技高成长500强公司”,获得首届中国留学人才归国创业“腾飞”奖、中关村管理委员会指定的“软件人才培养示范基地”、被《计算机世界》评选的“就业服务杰出贡献奖”、被《中国计算机报》评选的“最具影响力培训机构奖”、被搜狐评为“中国十大教育集团”、被腾讯评为“中国大学生心目中最具影响力的IT品牌”。二.Android开发实习内容及过程此次实习是对android的简单的应用与开发,也是对android各个控件的学习与实践。在java的环境中对界面,应用进行编程。本次实习重点完成了安卓开发计算器、安卓开发学生注册界面、安卓开发音乐播放器和安卓开发游戏连连3看这四个项目。做学生时学习了linearlayout,tablelayout,AbsoluteLayout,RelativeLayout四种布局,分别为线型布局,表格布局,绝对布局和相对布局,并知道了如何通过这四种布局的相互嵌套来使程序的界面更加的友好,更加的让用户接受。并简单的了解了安卓目录下SRC,gen,res等文件夹中的文件在项目中的作用,学习了切换界面的类Intent。然后学习了Button,TextView,Seekbar等android开发的控件,并且将这些控件都运用到了所作的学生注册界面中。做音乐播放器时学习了关于音乐文件的调用,也学习了在主文件Main.java中先创建多媒体对象后,然后通过SD卡的文件路径来创建一个播放资源,然后在创建按钮对象,同时添加6个按钮对象创造各自的侦听方法,我们用ListActivity来布局播放界面,用ImageButton来实现播放器的开始,暂停的操作。最后在开发连连看游戏时,将前面所学的知识进行综合与加深,也学习到了新的函数与控件,该游戏主要包括classGameView(游戏视类,处理游戏中出现的情况,包括界面生成,算法等)classGameActivity(处理游戏中的消息提示),classStartActivity(游戏菜单设计),classSetActivity(菜单中游戏难度设定)这些类。比如用random函数来对连连看进行重排列,还有用menu对游戏里的功能进行操作,还有用之前学到关于多媒体对象的调用将连连看游戏进行配乐。并且选用了网格对游戏界面进行了规划,以及对于相同图片的的消去,必须满足情况:1,图片相同;2,两个图片之间必须没有障碍物,可以用若干个垂直的直线连接起来;3,连接两个图片的直线线段的转折点不超过两个(连接线由X轴和Y轴的平行线组成,即无拐点,一个拐点,两个拐点)此次对android应用与开发的实习分为以下几个阶段。首先,由老师带领我们对android以及开发软件eclimpse进行了一个大概的了解与操作,并且对开发语言基础java的基础知识和编程思想进行了一次简单的复习与加深。然后老师开始带领我们学习android界面的开发,并且告诉我们如何可以将4界面尽量做得美观与方便,告诉我们作为程序的开发人员要为用户考虑,在这一阶段,我们开始试着学习和操作android的简单控件,包括TextView,Button等。接着我们开始自己开发计算器,第一次将自己学到的控件进行组合搭配,并且开始学会怎么去监听按钮,通过对安卓常用类的学习,我们完成了计算器的常用功能。然而,对于计算机功能的实现,我感觉自己还没有办法做到自己想到的所有功能这让我对android更加满兴趣的学习下去。当初步接触到了控件的开发与搭配后,我们开始开发学生注册界面,并且将所输入的信息反应到下一个界面中,在做这个的时候,我们又新学习了Seekbar,CheckBox等控件,让我们进一步学习了android中的常用控件。然后是对音乐播放器的开发,此阶段我开始真正的接触到了生活中自己经常用到的软件的开发,并且也让我第一次感觉到需要将自己开发的软件做的美观,于是我们开始学会调用背景图片,调用歌曲,并且学习了RadioButton控件,以及播放器中对音乐的下跳,循环播放等功能的学习与实现。最后是开发游戏“连连看”,在此之前老师先向我们介绍了对于图片的处理等相关知识。对于连连看,我们很熟悉,也明白其中的游戏规则;然而把它们用计算机语言展示出来却比用文字语言展示出来要难上很多。因此这个项目也是用时最多的一个项目,期间融合了算法设计以及之前几个项目所学的知识。虽然在参考资料下,完成了项目;但是也存在很多不足。当然也有自己特点的地方,比如添加了成功几步就奖励时间,比如游戏的配备音乐,以及音乐的开关按钮。Android主要有四大组件,分别为:Activity活动、Service服务、Broadcastreceivers广播接受者、ContentProvider内容提供者。还有上激活组件Intent。Activity就是一个用户可以直接接触并看到的窗口,当新建一个AndroidProject后可以看到在工程文件下的src中有一个已建好的java类FirstActivity,系统5也会自动为他配备一个布局文件main.xml,并在AndroidManifest中对此Activity进行注册。用户想要自己创建一个Activity,首先创建一个java类继承自Activity,可以为他配备一个布局文件用来显示Activity创建后的布局。最后在主配置文件manifest.xml中对创建的Activity进行注册,这一步是必不可少的,没有注册Activity无法运行。在manifest.xml中会有许多的Activity,但系统一次只能运行一个Activity,因此必须修选定一个最先运行的Activity。在注册Activity是加入可指定当前的Activity为主Activity最先被执行。其他Activity可借助激活组件Intent进行启动。通过Intent还可实现来了两个Activity之间传递数据Activity具有生命周期,他有三种状态:运行状态、暂停信息和停止状态。运行态是在屏幕台前位于当前任务堆栈的顶部,即获取焦点的Activity。暂停信息是指失去了焦点但对于用户仍可见,此状态下当程序处于低内存是仍有可能被消除。停止状态是指完全被另一个Activity覆盖,但他仍然保留所有的信息与状态。Android图形设计UIAndroidUI控件一般写在布局文件中,此次实习所学控件主要有:TextView,EditTextButton、AlertDialog、RadioButton、CheckBox、Spinner和TableRow等。将这些控件及相应的属性写在layout下的布局文件中就可在与其绑定的Activity中显示相应的对话框,文本框,按钮等。Android的界面布局是为了使控件能够更友好的呈现在用户的眼中。主要有:绝对布局Absolutelayout、线形布局LinearLayout、框架布局FramLayout、相对布局RelativeLayout和表格布局TableLayout。其中框架布局适合于单张图片的显示。3.Service服务Service事实运行在后台的一段代码。他与Activity一样有相似的生命周期,但不同的是他不能自己运行,必须通过某一个Activity或者其他的Context对象来调用。Service可通过调用Context.StartService()启动,还可以通过ServiceConnection来访问Service。可以将其他的组件绑定到Service上。4.数据存储Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在6J2SE环境中保存数据到文件中是一样的。openFileOutput()方法的第一参数用于指定文件名称,不能包含路径分隔符“/”,如果文件不存在,Android会自动创建它。创建的文件保存在/data/data/packagename/files目录,如:/data/data/cn.itcast.action/files/itcast.txt,通过点击Eclipse菜单“Window”-“ShowView”-“Other”,在对话窗口中展开android文件夹,选择下面的FileExplorer视图,然后在FileExplorer视图中展开/data/data/packagename/files目录就可以看到该文件。openFileOutput()方法的第二参数用于指定操作模式,有四种模式android有一套自己的安全模型,当应用程序(.apk)在安装时系统就会分配给他一个userid,当该应用要去访问其他资源比如文件的时候,就需要userid匹配。默认情况下,任何应用创建的文件,sharedpreferences,数据库都应该是私有的(位于/data/data/packagename/files),其他程序无法访问。除非在创建时指定了Context.MODE_WORLD_READABLE或者Context.MODE_WORLD_WRITEABLE,只有这样其他程序才能正确访问。结语为期四个月的Android实训已经结束,在这一个月中我学习了很多,也得到了很多。实训是把理论与实际结合,通过对理论知识的理解,领悟从而运用到生活实际巩固所学的知识,提高对实际生活的认识,积累经验。在此期间学生能够初次体会到实际生产中的种种技能与经验。完成一项项项目能体现出独立思考能力。