安卓生产实习报告.doc_第1页
安卓生产实习报告.doc_第2页
安卓生产实习报告.doc_第3页
安卓生产实习报告.doc_第4页
安卓生产实习报告.doc_第5页
免费预览已结束,剩余4页可下载查看

下载本文档

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

文档简介

华 北 科 技 学 院生产实习报告学号: 201307024XXX 班级: 网络B13X 姓名: XX 设计题目: 安卓软件开发实习 设计地点: 华北科技学院_设计时间: 2016.12.12 至 2017.1.13 成绩评定:1、工作量: A( ),B( ),C( ),D( ),F( )2、难易度: A( ),B( ),C( ),D( ),F( )3、答辩情况:基本操作: A( ),B( ),C( ),D( ),F( )代码理解: A( ),B( ),C( ),D( ),F( )4、报告规范度: A( ),B( ),C( ),D( ),F( )5、学习态度: A( ),B( ),C( ),D( ),F( )总评成绩: 指导教师: 目 录一、实习目的3二、实习任务3在公司实习有关安卓软件开发方面的工作3三、实习内容31、安卓开发培训主要内容31.1、Mysql数据库31.3、Java中的常用设计模式4(1) 工厂模式4(2) 单例模式4(3) 观察者模式5(4) 装饰者模式5(5) 模板模式5(6) 代理模式51.4、控制技术-Servlet技术51.5、页面设计-JSP页面51.6、安卓基础介绍72、 android项目:商城系统72.1、功能模块流程图72.2、功能实现8四、 实习总结9一、实习目的生产实习是网络工程专业重要的实践性教学环节,是学生在学习基本理论基础之后的一个综合性实践环节。强调培养实践学生的应用能力、达到理论联系实际的目的。通过实习提高学生的综合能力;提高学生独立思考、分析问题和独立工作的能力。二、实习任务在公司实习有关安卓软件开发方面的工作三、实习内容1、安卓开发培训主要内容公司对我进行关于安卓软件开发的培训,培训内容包括java基础,数据库基础,web基础,安卓基础,培训过程中我涉及到的项目主要有商城,云盘这两个,以及其他的很多小的程序,这些程序或者是项目中将大量的基础知识联系了起来以及接入了很多的第三方,例如三方登录、三方网络框架、三方短信验证、三方分享、三方地图之类。基础学习完之后,又对一个app的上线,混淆,加固,打包,上线,热修复之类的技能进行了学习,掌握了一个app从开发到上线再到维护的各个环节1.1、Mysql数据库 1)MySQL数据库管理系统概述 MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQLAB公司开发、发布并支持的。MySQLAB是由多名MySQL开发人创办的一家商业公司。它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型。 数据库是数据的结构化集合。计算机是处理大量数据的理想工具,因此,数据库管理系统在计算方面扮演着关键的中心角色,或是作为独立的实用工具,或是作为其他应用程序的组成部分。 MySQL服务器还有一套实用的特性集合,这些特性是通过与我们用户的密切合作而开发的。在我们的基准测试主页上,给出了MySQL服务器和其他数据库管理器的比较结果。MySQL服务器最初是为处理大型数据库而开发的,与已有的解决方案相比,它的速度更快,多年以来,它已成功用于众多要求很高的生产环境。尽管MySQL始终在不断发展,但目前MySQL服务器已能提供丰富和有用的功能。它具有良好的连通性、速度和安全性,这使的MySQL十分适合于访问Internet上的数据库。2) MySQL稳定性 每次发布的MySQL服务器均是可用的。仅当用户尝试源自“灰色区域”的代码时才会出现问题。当然,新用户不了解“灰色区域”是什么。因此,在本节中,我们介绍了目前已知的这类区域。本节所作的介绍主要针对MySQL服务器5.0版和更高版本。在最新的版本中,更正了所有已知和通报的缺陷,但“缺陷”一节所列的除外,这类缺陷与设计有关。1.2、mvc模式介绍MVC模式是一种软件架构模式。它把软件系统分为三个部分:模型(Model),视图(View)和控制器(Controller)。MVC模式最早由Trygve Reenskaug在1974年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式。MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。软件系统通过对自身基本部份分离的同时也赋予了各个基本部分应有的功能。 模型(Model) “数据模型”(Model)用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“模型”有对数据直接访问的权力,例如对数据库的访问。“模型”不依赖“视图”和“控制器”,也就是说,模型不关心它会被如何显示或是如何被操作。但是模型中数据的变化一般会通过一种刷新机制被公布。为了实现这种机制,那些用于监视此模型的视图必须事先在此模型上注册,从而,视图可以了解在数据模型上发生的改变.视图(View) 视图层能够实现数据有目的的显示(理论上,这不是必需的)。在视图中一般没有程序上的逻辑。为了实现视图上的刷新功能,视图需要访问它监视的数据模型(Model),因此应该事先在被它监视的数据那里注册。控制器(Controller) 控制器起到不同层面间的组织作用,用于控制应用程序的流程。它处理事件并作出响应。“事件”包括用户的行为和数据模型上的改变。1.3、Java中的常用设计模式 (1) 工厂模式工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑使用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量。(2) 单例模式单例模式是设计模式中最简单的形式之一。这一模式的目的是使得类的一个对象成为系统中的唯一实例。要实现这一点,可以从客户端对其进行实例化开始。因此需要用一种只允许生成对象类的唯一实例的机制,“阻止”所有想要生成对象的访问。使用工厂方法来限制实例化过程。这个方法应该是静态方法(类方法),因为让类的实例去生成另一个唯一实例毫无意义。(3) 观察者模式有时被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。将一个系统分割成一个一些类相互协作的类有一个不好的副作用,那就是需要维护相关对象间的一致性。我们不希望为了维持一致性而使各类紧密耦合,这样会给维护、扩展和重用都带来不便。观察者就是解决这类的耦合关系的。(4) 装饰者模式在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。(5) 模板模式定义一个操作中的算法的骨架,而将步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义算法的某些特定步骤。(6) 代理模式为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。以上是我在学习java基础的时候所学习到的常用设计模式,这些模式说来简单,但是用起来比较灵活多变,在不同的场景选择不同的设计模式往往能够使程序代码看起来清晰,耦合度低,并且能够实现一些特定的功能。1.4、控制技术-Servlet技术 1)什么是Servlet? 一个servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。JavaServlet技术为这些应用程序定义了一个特定于HTTP的servlet类。 javax.servlet和javax.servlet.http包为编写servlet提供了接口和类。所有的servlet都必须实现Servlet接口,该接口定义了生命周期方法。 2)Servlet的生命周期 一个servlet的生命周期由部署servlet的容器来控制。当一个请求映射到一个servlet时,该容器执行下列步骤。1.5、页面设计-JSP页面 1)MVC模式 为了把表现层presentation从请求处requestprocessing和数据存储datastorage中分离开来,SUN公司推荐在JSP文件中使用一种“模型-视图-控制器”Model-view-controller模式。规范的SERVLET或者分离的JSP文件用于处理请求。当请求处理完后,控制权交给一个只作为创建输出作用的JSP页。有几种平台都基于服务于网络层的模-视图-控件模式(比如Struts和Springframework)。2)JSP技术的强势 (1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。 (2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。 (3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。3)JSP技术的弱势(1)与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。 (2)Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。4)JSP内置对象(1)request对象: 该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。 (2)response对象: 对客户的请求做出动态的响应,向客户端发送数据。(3)session对象 session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面,服务器应当通过某种办法知道这是同一个客户,这就需要session对象。 (4)application对象 服务器启动后就产生了这个application对象,当客户在所访问的网站的各个页面之间浏览时,这个application对象都是同一个,直到服务器关闭。但是与session不同的是,所有客户的application对象都是同一个,即所有客户共享这个内置的application对象。(5)out对象out对象是一个输出流,用来向客户端输出数据。out对象用于各种数据的输出。1.6、安卓基础介绍安卓的学习基础其实是java与web,所以之前学习到的为现在学习安卓打下了良好的基础,学习安卓首先学习的是他的编译工具与编译环境,首先是jdk,在使用工具是eclipse的时候,jdk是必不可少的,但是现在的时代,由于谷歌推出的android-studio的流行,eclipse渐渐的被安卓程序员淘汰,所以我在培训的过程中使用的编译软件就是androidstudio,这款软件最大的特色就在于代码书写的速度很快,许多东西都能快捷的完成。安卓首先入门的是各种控件的学习,包括控件的基础和用法,用一些简单的控件就能够搭建出一个炫酷的界面,接着是安卓的核心四大组件,然后是大量逻辑的学习,这其中包括自己封装工具类,再然后是大量三方的接入,以前自己封装的工具,在网上几乎都有成型的框架,典型的有网络处理框架,图片处理框架。在所有的基础与框架学习完成之后,学习了市面上流行的各种三方,例如三方登录,三方分享,三方验证,三方地图等等,这些三方继承了各个软件的sdk,使得自己的软件,能够使用这些软件的某些功能,扩展性得以提高。2、 android项目:商城系统商城2.1、功能模块流程图购物车收货地址管理限时抢购支付系统(包括支付宝,微信)注册登录(包括三方)商品展示2.2、功能实现 本项目是从头写到未的,将之前学习到的安卓基础几乎都用了进来,主要分为两个模块,框架封装与具体实现。1 框架封装框架部分的部分截图:框架部分主要是封装网络框架,对于网络访问的第三方XUTILS二次封装以及常用工具类的封装贴出部分代码:核心的访问就这么两句话,分别为get方式与post方式,其他具

温馨提示

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

最新文档

评论

0/150

提交评论