Andriod毕业实习报告.doc_第1页
Andriod毕业实习报告.doc_第2页
Andriod毕业实习报告.doc_第3页
Andriod毕业实习报告.doc_第4页
Andriod毕业实习报告.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

毕业实习报告专 业 班 级学 号学 生 姓 名指 导 教 师实 习 时 间2011.2.20至2011.3. 9实 习 成 绩说明:1、 实习指导教师由学院校内教师担任,负责组织实习、学生管理、参加实习答辩、实习成绩评定、给出实习评语等工作。2、 实习报告由武汉工程大学计算机科学与工程学院提供基本格式(适用于学院各专业),各专业教研室和指导教师可根据本专业特点及实习内容做适当的调整,学生须按指导教师下达的实习报告格式认真进行填写。3、 实习成绩由指导教师根据学生的实习情况给出各项分值及总评成绩。4、 指导教师评语一栏由实习指导教师(校内教师)就学生在整个实习期间的表现给出客观、全面的评价,包括实习期间的表现、实习报告的质量、实习答辩的情况等。5、 学生必须参加实习答辩,凡不参加实习答辩者,实习成绩一律按不及格处理。实习答辩小组应由2人及以上教师组成,其中校内指导教师必须参加,否则视作无效答辩。6、 实习报告正文字数应不少于5000字,实习日记字数不少于200字/天。7、 实习报告正文中实习目的与任务、实习地点、实习内容和要求等项,可由指导教师统一给出(自主实习除外)。学生自主实习的,可根据实习的情况自行填写以上内容。8、 自主实习的学生还应提供由实习单位出具的实习鉴定表(复印件),与实习报告一起装订,作为参加实习答辩和评定成绩的依据。毕业实习成绩评定表学生姓名: 学号: 班级: 类别总分值各项分值评分标准实际得分总得分备注实习表现3010按时参加实习活动,无旷课、迟到、早退等情况。10遵守实习单位纪律和安排,无违反实习单位规定的情况;听从指导教师的安排,参加各项活动,无不服从教师管理的现象。10按期圆满完成规定的任务,工作量饱满;能运用所学知识和技能去发现与解决实际问题,工作中有创新意识。实习报告4015实习报告文字通顺,内容翔实,论述充分、完整,结构严谨合理。能运用所学专业知识对问题加以分析。15正确处理相关的数据,分析处理科学;具有收集、加工各种信息及获得新知识的能力。5实习报告字数符合相关要求,实习报告工整规范,整齐划一。5实习日记(笔记)次数及内容符合要求。实习答辩3015在规定时间内能就实习的内容进行全面完整的阐述,言简意明,重点突出,条理清晰。15在规定时间内能准确、完整、流利地回答教师所提出的问题。总评成绩: 分补充说明: 指导教师: (签字)日 期: 年 月 日毕业实习答辩记录表学生姓名: 学号: 班级: 答辩地点: 答辩内容记录:答辩成绩总分值各项分值评分标准实际得分总得分备注3015在规定时间内能就实习的内容进行全面完整的阐述,言简意明,重点突出,条理清晰。15在规定时间内能准确、完整、流利地回答教师所提出的问题。答辩小组成员(签字): 年 月 日指导教师评语指导教师: (签字)日 期: 年 月 日一、实习目的与任务毕业实习是计算机软件工程专业学生在完成基础课学习和部分专业课学习阶段后的一个极其重要的实践教学环节。其目的是通过实地参与项目开发和听取专业报告等多种方式,使学生进一步了解本专业及相关领域的发展现状,以及相关产品的研发过程和管理手段。具体的任务包括:1.实习方向:计算机软件2.主流Android安装3. Android的基本操作4.了解Android 的基础知识,这些包含了界面的布局,数据库的使用等;5.掌握Sqlite数据库和Eclipse等软件的安装方法6.学习体会IT企业规范化、专业化、标准化、规模化系统项目流程;7.学习体验课堂理论知识在实际工程项目中的应用,积累项目实战经验;8.感受IT企业对员工知识结构、技术技能、综合素质的要求,体验企业的文化氛围;9.加速由学生向员工的身份转变,增强同学的就业能力和信心。二、实习地点*三、实习内容和要求本次实习以开发给定的实训项目为主线,结合具体专业知识在IT企业系统集成过程中的实际运用,归纳出各种类型的“关键知识点”和技能要求,安排成系统的实习内容供学生们具体实践和练习。1.实习内容由针对各项“关键知识点”的讲座、案例分析和项目实践三部分内容构成。在时间安排上主要以项目实践为主。2.案例分析采用的内容全部来自IT企业多年来承担完成的实际计算机网络系统集成项目,学生将有机会体验真实IT项目的开发要求与各种规范。实习指导老师由经验丰富的技术管理人员、项目经理、资深技术人员担任。本次生产实习任务,是由我校与北大青鸟培训公司共同合作完成的。其间,要求同学们做到如下几点:(1)学生遵守学校教学纪律,按时参加生产实习的教学活动。在实习单位进行实习期间遵守实习单位的劳动纪律。(具体来讲,首先要遵守时间,即不要出现迟到、早退等现象。)(2)学生要主动阅读浏览技术书籍、资料,掌握各种操作技能,提高和培养解决问题的能力。(3)学生应对软件开发的过程进行系统的实践训练,包括需求分析、系统设计、程序语言(编码)、软件测试与管理。(4)听课笔记、实习日记齐全,并撰写认识实习报告。实习报告正文字数应不少于5000字,实习日记字数不少于200字/天。四、实习总结及分析4.1 课题意义毕业实习是为了培养我们综合运用所学知识和动手实践经验,分析和解决工程技术问题的能力,提高我们在理论计算、查阅资料、运用相关理论进行软硬件设计等方面的能力。这个课题是基于Android的一些基本知识,运用Eclipse和Sqlite数据库开发的火车车次查询系统。由于全国客运列车提速,快速列车、旅游列车等多种车型投入运行,主要干线列车夕发朝至,朝发夕归列车运行时刻随之调整,广大旅客出门旅行将拥有更多的选择,得到更多的方便。但是旅客在出门旅行时,往往面对众多的选择无法决定适合自己的列车,因而在购买车票时常常向售票员询问每趟列车的详细信息,这样就会增加正常售票业务的单位服务时间。人们正处于高节奏的生活,基于Android火车车次查询系统不仅为人们节省了时间,而且也可以提高售票员的工作效率。在智能手机软件不断发展的今天,很多传统PC机上的应用正在向智能手机客户端转移。将传统PC机上的火车车次查询应用移植至智能终端已成为必然。在21世纪的科技时代,科学技术突飞猛进,计算机已经不仅是在科技上应用,而且在生活中也是同样得到了广泛在应用。如今,不管是学生或是成人,每人都有一部手机,并且Android系统的手机也越来越受大家的喜爱。网络电子的发展,为人们的生活提供了许多的便利,也已逐渐深入到人们的生活当中。目前的信息查询服务主要是通过互联网以有线的方式进行,随着高性能手机的普及,移动数据业务的飞速发展,以其方便快捷、人性化、低成本的优势,开始被越来越多的人们所关注、接纳。从有线的方式向无线的方式过渡,其市场份额占有率也必将越来越大。因此,开发出可以在移动终端设备上使用的,具备功能强大、兼容性强、用户界面友好、操作简易的手机应用程序,是一件很具有意义的事。同时随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着重要的作用。基于Android火车车次查询系统,信所采用的平台是Eclipse,语言是Java,数据库是Sqlite,这个系统可以进行简单的信息查询,依据统一数据信息进行管理,把任何一块信息所产生的数据变动及时地反映给其它相关信息,做到数据共享。4.2开发平台本系统是在Windows XP 环境下开发的,使用的开发软件是Eclipse和Sqlite数据库。Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C+和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。 2003年,Eclipse 3.0选择OSGi服务平台规范为运行时架构。 2007年6月,稳定版3.3发布。2008年6月发布代号为Ganymede的3.4版。Eclipse的基础是富客户机平台(Rich Client Platform, 即RCP)。RCP包括下列组件:核心平台(启动Eclipse,运行插件) OSGi(标准集束框架) SWT(可移植构件工具包) JFace(文件缓冲,文本处理,文本编辑器) Eclipse工作台(即Workbench ,包含视图(views)、编辑器(editors)、视角(perspectives)、和向导(wizards) Eclipse采用的技术是IBM公司开发的(SWT),这是一种基于Java的窗口组件,类似Java本身提供的AWT和Swing窗口组件;不过IBM声称SWT比其他Java窗口组件更有效率。Eclipse的用户界面还使用了GUI中间层JFace,从而简化了基于SWT的应用程序的构建。Eclipse的插件机制是轻型软件组件化架构。在富客户机平台上,Eclipse使用插件来提供所有的附加功能,例如支持Java以外的其他语 言。 已有的分离的插件已经能够支持C/C+(CDT)、Perl、Ruby,Python、telnet和数据库开发。插件架构能够支持将任意的扩展加入到 现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。Eclipse基本内核包括:图形API (SWT/Jface), Java开发环境插件(JDT ),插件开发环境(PDE)等。SQLite是遵守ACID的关联式数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。特征是库实现了多数的SQL-92标准,包括事务,就是代表原子性、一致性、隔离性和持久性的(ACID),触发器和多数的复杂查询。不进行类型检查。你可以把字符串插入到整数列中。例如,某些用户发现这是使数据库更加有用的创新,特别是与无类型的脚本语言一起使用的时候。其他用户认为这是主要的缺点。多个进程或线程可以访问同一个数据而没有问题。可以并行的满足多个读访问。只有在其他访问当前不被服务的时候才能满足写访问;否则写访问失败并带有一个错误代码(也可以在可配置的超时过期之后自动的重试)。提供了叫做sqlite的一个独立程序用来查询和管理SQLite数据库文件。 它也充当写使用SQLite库的应用的一个例子。4.2.1本系统在Windows下Android开发环境的搭建 1).JDK安装下载(jdk-6u25-windows-i586.exe)之后进行安装,按默认安装,完成后可以检查是否安装成功,单击“开始”选“运行”输入CMD运行,打开CMD窗口输入java -version如果下图显示信息,说明JDK安装成功了。图4.1 JDK安装 2).Eclipse安装 安装好JDK后,就可以接着安装Eclipse了。 下载(eclipse-java-galileo-win32.zip)下载完成后解压即可使用。 3).Android SDK安装在Android Developers下载android-sdk_r05-windows.zip,下载完成后解压到任意路径。运行SDK Manager.exe,之后出现如图:图4.2 SDK安装点击Available Packages。如果没有出现可安装的包,请点击Settings,选中Misc中的Force https:/.这项,再点击Available Packages 。 选择希望安装的SDK及其文档或者其它包,点击Installation Selected、Accept All、Install Accepted,开始下载安装所选包 在用户变量中新建PATH值为:Android SDK中的tools绝对路径(本机为D:android-sdk-windowstools)(会等很长时间)。4).ADT安装 打开Eclipse,Help-Install New Software。将看到如下图4.3所示Install对话框:图4.3ADT安装点Add按钮,将弹出如下对话框,填好Name和Location,点ok。图4.4ADT的安装路径现在应该回到了Install对话框中,在Work with下拉列表中选择刚填好的地址,下方将列出可供更新的源,如上图:全部勾选,然后一路next即可(下载插件需要的时间可能会非常长,耐心等). 完成之后:选择Window Preferences. 在左边的面板选择Android,然后在右侧点击Browse.并选中SDK路径,本机为:D:AndroidDevelopandroid-sdk-windows 点击Apply、OK。配置完成。 5).创建AVD 为使Android应用程序可以在模拟器上运行,必须创建AVD。在Eclipse中。选择Windows Android SDK and AVD Manager 如图:4.5 启动ADV点击左侧面板的Virtual Devices,再右侧点击New 会弹出:4.6创建Android环境 填入Name,选择Target的API,SD Card大小任意,Skin随便选,Hardware目前保持默认值 4、点击Create AVD即可完成创建AVD 。在每次启动一个Android程序,首先创建一个AVD Manager,然后new AVD name,最后start这个AVD,当我们启动这个虚拟机时,我们会看到如图4.7所示进入虚拟机的状态。图4.7Android开发的虚拟机4.3 本系统功能简介本系统采用了C/S 结构,基于Android开发的一个简单的火车车次查询系统,为我们读者提供了一套操作简单,应用广泛,扩展性强的查询功能,以提高客户的信息速度的能力及效率的目的。系统最终实现的主要功能如下:始末站车次查询,车次详细信息的查询:1始末站车次查询模块用户输入始发站和终点站,点击查询,进入另外一个Activity,即查询结果界面,显示这段路程的车次信息。2车次详细信息的查询进入查询结果显示界面后,点击每一列,即可显示此车次的详细信息。4.4详细设计与分析4.4.1目录结构在运行实例前,首先配置好Eclipse的AVD Manager 环境,接着运行项目,项目的目录结构如下图4.1所示:图4.8系统的目录结构src: 放置源文件。gen:ADT这个插件,也就是eclipse 的Android开发插件给我自动生成的一个android 1.6:android提供的jar文件,我们所引用的所有的类都来自这个jar文件。assert:可以放置任何的文件,不会生成相应的ID。res:res是resource的意思,在res中放置的文件都会在R.java中生成相应的ID,AndroidManifest.xml:这个项目的配置文件,保存相关的配置信息其根标签是,其中有package,配置文件的包名。是对应用程序的配置,其中android:icon=drawable/icon 配置整个应用程序的图标,表示引用资源文件夹drawable中的icon图标,android:label=string/app_name配置整个应用程序的标签。activity android:name=.HelloActivity说明这个Activity的类名是什么,该类名加上之前的包名就是该文件的位置。 指明从哪个Activity开始运行,一个应用程序里面有很多Activity。表示最小的SDK版本是4。右击项目名称,选择Run as-Android Application即可运行该文件。4.4.2模块介绍 启动项目,首先展示我们的是车次查询系统,如图4.2所示,客户输入启始车次和到达车次,然后点击确定按扭,即可进去详细信息界面。图4.9车次查询系统首界面该界面的设计主要是运用了Android中的布局知识,我在这里首先用的是LinearLayout线形布局,让控件从上往下布局,然后用了一个绝对布局,让TextView,EditView和Button可以调放到我们满意的位置。然后在LuchengActivity中调用这些布局控件,同时当客户点击确定按扭时,在LuchengActivity中设置了一个监听器OnClickListener(),来响应这个按扭事件,同时在这个监听器中,运用到了两个Activity之间传递数据的知识,核心代码如下:Intent intent = new Intent();intent.putExtra(start, startStr);intent.putExtra(end, endStr);intent.setClass(LuchengActivity.this , SqliteoneActivity.class);startActivity(intent);这就实现了两个Activity之间传递数据了,接着进入了详细车次查询界面,如图4.3所示:图4.10车次查询系统的详细车次界面该界面的设计主要用到了Android中的ListView控件,首先在mian2.xml中定义了一个ListView,然后在listitem中定义存放在ListView中的控件如TextView 。在这个界面的实现过程中主要用到了Sqlite数据库,以及数据库与Activity中的ListView配器作为桥梁的,首先定义一个DBHelper类来继承SQLiteOpenHelper,重写onCreate()方法来创建数据库和表。接着在SqliteoneActivity中SQLiteDatabase来接受数据和数据库的操作,接着使用一个SimpleAdapter适配器把数据传递到ListView中。核心代码如下:DBHelper helper=new DBHelper(this,train.db,null,1); SQLiteDatabase db=helper.getWritableDatabase(); String sqlstr=select 0 as _id, a.train_number as number,a.station as start,b.station as end,abs(b.price-a.price) as price from train as a inner join train as b on a.station=? and b.station=? and a.train_number=b.train_number; String di=start,end; Cursor cursor=db.rawQuery(sqlstr, di); SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,R.layout.listitem, cursor, new Stringnumber,start,end,price, new intR.id.id,R.id.start,R.id.end,R.id.price); lstshow.setAdapter(adapter); lstshow.setOnItemClickListener(myItem );这就实现了数据的传递,接着点击列表中的每一列,即可出现车次的具体信息,如图4.4所示:图4.11车次查询系统的车次详细界面这个界面主要用到了监听器,数据库语句的查询和对话框的知识,首先当客户点击列表的每一列时,就响应了OnItemClickListener()事件,然后在事件中得到点击每列的ID,通过查询语句和impleCursorAdapter()把数据传递给每一个AlertDialog(),核心代码如下:new AlertDialog.Builder(SqliteoneActivity.this).setTitle(itemId.getText().toString()+车次详情).setAdapter(adapter, null).setPositiveButton(确定, null).setNegativeButton(取消, null).show();当客户不在查询时,点击Android虚拟机的返回按钮时,触发了OnKeyDown()事件,如图4.5所示:图4.12 退出系统界面该界面的实现主要实现Activity中的onKeyDown()方法,主要核心代码如下:private void checkExit() new AlertDialog.Builder( SqliteoneActivity.this).setTitle(退出).setMessage(确定退出车次查询吗?).setPositiveButton(确定,new DialogInterface.OnClickListener()public void onClick(DialogInterface dialog, int which) finish();当客户点击确定按钮,就返回到前面一个Activity,一步一步的退出车次查询系统。五、实习体会毕业实习是为了培养我们综合运用所学知识和动手实践经验,分析和解决工程技术问题的能力,提高我们在理论计算、查阅资料、运用相关理论进行软硬件设计等方面的能力。这个课题是基于Android的一些基本知识,运用Eclip

温馨提示

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

评论

0/150

提交评论