辽宁工程技术大学本科生实习报告书教学单位软件学院专业软件工程班级学生姓名邢少强学号实习时间2016.2.29-2016.4.8指导教师辽宁工程技术大学教务处制1实习目的毕业实习是软件工程专业实践教学计划中的重要组成部分,是毕业设计的基础和准备。主要目标是培养学生分析与解决问题的能力,为最终完成毕业设计做好铺垫,同时也可使学生毕业后能胜任与本专业有关的相关工作。毕业实习目的:1.培养学生综合运用所学的计算专业的基础理论、基本技能和专业知识分析问题和解决问题的能力,培养学生的数学素质、应用科学的思维方法和计算技巧,使学生了解科学研究工作的一般程序和方法,撰写科技论文的能力;2.培养学生直接参与(进行)科研活动、科研文献和资料的调研,对研究工作以及相关的研究结果分析、综合的能力;3.提高学生的实践能力、科研能力和解决本专业实际问题的能力,4.培养学生积极的创新精神、严肃认真的科学态度和严谨求实的工作作风,增强学生的综合素质以及对毕业后工作岗位的适应能力;5.重点掌握一些软件工程技术的发展前沿。2实习单位简介千锋教育ios培训、android培训全称北京千锋互联科技有限公司一直“用良心做教育”,是中国移动互联网研发人才一体化服务的领导者,打造移动互联网高端研发人才服务。有全国权威的移动互联网教学就业保障团队,毕业学员占全国移动互联网培训人才一半的份额,做到了毕业学员业内高薪水,成为学员信赖的IT培训机构。有百所合作高校,千家移动互联网方向合作企业。千锋教育以两倍以上的速度发展,在上海、北京、广州、武汉和深圳开设分公司,将会在更多的城市建立分校。有数十万名学员受益于千锋教育组织的技术研讨会、技术培训课、网络公开课及免费教学视频。千锋教育一直秉承“用良心做教育”的理念,中国移动互联网研发人才一体化服务的领导品牌,全力打造移动互联网高端研发人才服务平台。拥有全国权威的移动互联网教学就业保障团队,毕业学员占据了全国移动互联网培训人才一半以上的份额,做到了毕业学员业内高薪水,成为学员信赖的IT培训机构。拥有上百所合作高校,上千家移动互联网方向合作企业。千锋教育以北京校区为中心,在深圳和上海开设分校,将会在广州、成都、武汉等地建立更多分校。千锋用微薄之力改变着中国的IT教育培训事业。每年有数十万学员受益于千锋教育组织的技术研讨会、技术培训课、网络公开课以及免费教学视频。一群草根奉献着自己的青春年华,为创造一个有社会价值的IT教育培训机构“千锋教育”而奋力拼搏!几十年后,当每一位千锋人回忆在千锋历程,相信内心深处是欣慰的。因为没有虚度年华,一起努力拼搏做了一件非常有意义的事情:帮助更多学生找到人生目标!3实习内容3.1实习单位概述学院文化:千锋的3G专业培训一直以一种朝气蓬勃、奋发向上、勇往直前的精神,一种从绝望中寻找希望的精神。当世界一切都成为往事,能够珍藏心中的是奋斗中所得到的精神启示。在将来岁月里,心灵将引导我们,能够对待生活中的成功与失败,并在成功与失败时做出更奋发的努力,取得最终辉煌。【企业形象】:中国移动互联网研发培训领导者【企业理念】:知识改变命运,创造实现价值【企业文化】:创新、开放、合作、进取【企业精神】:不浮夸、不虚假,踏踏实实“良心做教育”【企业价值】:为移动互联网事业贡献一份力量千峰荣誉:2013年12月,千锋教育成为中关村国际孵化软件协会唯一授权中关村移动互联网学院。2013年11月,千锋教育成为首家中国软件协会教育培训委员会认证诚信机构,倡导“诚信教育、质量为本”的方针。2013年12月,千锋教育荣获新浪2013年度最具品牌知名度职业培训机构。[1]2013年12月,千锋教育荣获中国网2013年度最具影响力IT教育机构。千锋教育成为中关村软件行业核心会员企业。2013年10月,千锋成为中关村移动互联网产业联盟副理事长单位,作为唯一一家人才服务提供商。八大优势:1、中国移动互联网研发培训领导者,iOS、Android移动互联网研发培训,“用良心做教育”。2、唯一敢推出“一个月免费试听,不满意不缴费”,让学员更真实的了解千锋、了解自己是否适合做软件开发再做决定。3、零学费入学,工作后分期还清学费,学员毕业薪水高,培训就业协议指明薪水保障,平均薪水专科5000、本科6000、硕士7000。4、师资阵容强大,具责任心、懂教学、强技术、有大型项目经验实战派讲师授课,由专家及企业技术骨干组成。5、自主研发QFTS教学保障系统,拥有自主知识产权的开发培训课程体系,讲练学结合,课程内容紧贴实用技术和企业实际需求。6、企业级项目实战训练,从千锋科技及合作企业项目中研发出十个企业级教学项目,让学员参与真实的企业级项目研发,让学员能够独立设计开发自己的上线项目。7、严格、科学、负责的教学就业管理,就业、班主任全程跟班,把握每个学员的学习状态,并有职业素养课和就业指导课,有教学就业质量。8、加入千锋开发者联盟,为会员提供技术支持及终身就业服务,参加千锋举办的各类技术沙龙和活动。3.2实习部门与实习工作培训前六周主要学习了Java基础包含以下内容:1)JSP概述JSP即JavaServerPages,是由SunMicrosystem公司于1996年6月推出的新技术,是基于JavaServlet以及整个Java体系的Web开发技术。JSP已经成为开发Web动态网页重要、快速和有效的工具,是全新的网络服务器编程环境。JSP充分利用了Java的强大功能,是一种优秀的服务器端技术。随着Java技术的日益成熟和流行,JSP在网络编程中也变得越来越重要。JSP基于强大的Java语言,具有极强的扩展能力,良好的缩收性,以及与平台无关的开发特性,成为构建动态网站的主流技术之一,JSP有着其他技术所不具备的优势[3]。其优势在于:可以将内容的生成和显示进行分离、生成可重用的组件、采用标识简化页面开发。JSP能提供所有Servlet的功能。2)Servlet概述Servlet是Java编写的服务器端程序,是由服务器端执行和调用的Java类。Servlet是采用Java技术来实现CGI功能的一种技术,能够像CGI一样动态地扩展Web服务器的功能,并采用请求——响应模式提供Web服务。Servlet和CGI一样都是运行在Web服务器上,用来生成Web页面。Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。其工作流程图如图1所示。Servlet工作流程:a)客户端发送请求信息至服务器。b)服务器将请求信息发送至Servlet。c)Servlet生成响应内容并将其传给Servlet。响应内容动态生成,通常取决于客户端的请求。WebClientHTTPServletrequestHTTPServletresponseWebComponentDateBaseWebServer图1Servlet工作流程图d)服务器将响应信息返回至客户端3)JavaBean概述JavaBean是Sun公司为了进入因特网、企业网以及万维网上进行分布式计算的组件结构入口。按照Sun公司的定义,JavaBean是一个可重复使用的软件部件。JavaBean体系结构是第一个全面地基于组件的标准模型之一,该组件是Java类,这些类遵循一个接口格式,以便于使方法命名、底层行为以及继承或实现的行为能够把类看做标准的JavaBean组件的方式进行构造[7]。在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速生成新的应用程序。JavaBean具有以下特点:a)可以实现代码的重复利用。b)易维护性、易使用性、易编写性。c)可以在Java的任何平台上工作,不需要重新编译。d)可以在内部网或者网络之间进行传输。e)可以以其它部件的模式进行工作。JavaBean在JSP程序中常用来封装事务逻辑、数据库操作等,可以很好的实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性。4)jSP网站开发模式目前,JSP技术已经成为一种受大多数大型企业或中小型企业喜爱的动态网页开发技术。越来越多的技术人员也逐步成为JSP技术的推崇者。JSP技术正是利用了Java的“一次开发,处处使用”的性能,成为了网站开发技术人员的首选技术。当然,JSP技术的最大优势在于能够将页面的表现形式和页面的商业逻辑分开。JSP网站开发技术标准提供了两种开发模式:一种是JSP+JavaBean开发模式;一种是JSP+Servlet+JavaBean开发模式。JSP+JavaBean模型图如图2所示。浏览器JSPJavaBeanDataBase图2JSP+JavaBean模型图在这种模型中,JSP页面独自响应请求并将处理结果返回给客户,所有的数据通过JavaBean来处理,JSP实现页面的显示。此模型常常会导致页面被嵌入大量的脚本语言或者Java代码段,当处理大型业务时,页面程序将变得异常复杂给开发和维护带来困难。JSP+Servlet+JavaBean模型图如图3所示。浏览器ServletJSPJavaBeanDataBase图3JSP+Servlet+JavaBean模型图Servlet技术是一种采用Java技术来实现CGI功能的一种技术。Servlet是运行在Web服务器上,用来生成Web页面。Servlet技术非常适于服务器端的处理和编程。在此种开发模式中,JSP技术用来显示页面,该页面中没有任何的商业处理逻辑,通过Servlet技术来完成大量的事物处理工作。Servlet用来处理事务的请求,充当着一个控制者的角色,并负责向客户发送请求,创建JSP需要的Bean和对象,根据用户的请求行为,决定将哪个JSP页面发送给用户。从上面两种开发模式来说:第二种模式要好些,更适合于团队开发,速度相对较慢,但是可维护性高。后面八周主要学习了android:1)android四大组件Activity、Service、BroadcastReceiver、ContentProvider2)Activity生命周期3service以及service的生命周期两种用处:后台运行和跨进程访问两种模式:startService()/bindService()模式场合:调用者与服务之间没有关连,即使调用者退出了,服务仍然运行即用startService(),调用者与服务绑定在了一起,调用者一旦退出,服务也就终止则用bindService()。生命周期:service的生命周期没有像activity里的onstop,主要经历创建、开始、销毁三个阶段,由于有两种模式的存在,其生命周期有两种体现方式。如果打算采用Context.startService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onStart()方法。如果调用startService()方法前服务已经被创建,多次调用startService()方法并不会导致多次创建服务,但会导致多次调用onStart()方法。采用startService()方法启动的服务,只能调用Context.stopService()方法结束服务,服务结束时会调用onDestroy()方法。onBind()只有采用Context.bindService()方法启动服务时才会回调该方法。该方法在调用者与服务绑定时被调用,当调用者与服务已经绑定,多次调用Context.bindService()方法并不会导致该方法被多次调用。采用Context.bindService()方法启动服务时只能调用onUnbind()方法解除调用者与服务解除,服务结束时会调用onDestroy()方法。Android里的两种动画以及区别两种动画:补间动画TeenAnimation&&逐帧动画FrameAnimation区别:Teen:是定义一个开始和结束,中间的部分由程序运算得到Frame:其实和gif图片差不多,有帧的概念,是一个动画数组Aidl的全称以及在android中的作用全称:androidinterfacedefinitio