Android项目开发实训大纲_第1页
Android项目开发实训大纲_第2页
Android项目开发实训大纲_第3页
Android项目开发实训大纲_第4页
Android项目开发实训大纲_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、黎明职业大学信息与电子工程学院Android项目开发实训指导书2014年6月Android项目开发实训大纲1.实践教学理念要培养合格的开发型、创造型人才,教师首先必须树立现代化的教育观,把“以教师为主体”、“以课程为中心”的传统教育观转变为“以学生为主体”,“以能力为中心”的新的教育观。教师的职责不仅要“授人以鱼”,更重要的是“授人以渔”,把学生创新能力的培养放在重要的地位,在教学的各个环节,充分体现“以教为主导”“以学为主体”的教学原则。 Android项目开发课程不但是抽象的理论课,其综合性和实用性也是这门课程的重要特征。因此,教学活动也应遵循从感性到理性,再从理性到实践;从直观到抽象,再

2、从抽象到具体实践的规律。在理论课教学中渗透实践内容,在实践中应用理论知识,使理论与实践有机结合,这样才能真正做到理论指导实践,实践反过来促进理论的发展,使理论得以升华。 通过实训教学,使学生学会应用所学知识对实践任务进行充分分析、抽象,建立与之相适应的模式,使问题最终在计算机上得以实现。在这个过程中,学生不仅对所学知识加深了理解,更重要的是培养了学生分析问题、解决问题的能力,这对充分发挥学生的创造能力起着重要的作用。合理设置课程实训内容,力争与理论课的重点、难点及实用知识联系起来;从实际应用中精心选择有具体应用背景的实训题目,充分发挥学生的主动性;注重实训过程,注重学生综合能力的培养;建立一套

3、完整的实训课考核方案。2. 数据结构实训大纲学时:26 学分:1适用:游戏软件专业先修课程:Android开发一、实训目的要求 Android项目开发是游戏软件专业的一门必修的重要实训课程。要求学生将Android开发课程中关于Android几个重要组件如Acitivity、Intent、Services、BroadCast等;UI设计、常用控件;数据存储;网络通信;多线程编程等基本知识要求掌握。对于给定的设计目标,学生要具备分析问题、设计框架和数据模型,并选择合适的技术手段解决问题。在细节方面,采用面向对象(OOP)的思想设计编写、调试代码。在项目的实施过程中注重培养学生的团队协作精神。二、

4、实训主要内容 Android项目开发实训的主要内容和完成步骤参考:(详见附录)实训内容是要设计、实现一款在一定范围内的用户进行通信和交流的产品。三、教学方式和提交成果1、实验教学,机房调试程序 2、提供源程序清单;编写课程设计报告。四、主要教学参考书 1.王东华,Android网络开发与应用实战详解,人民邮电出版社, 20122.黄宏程,Android移动应用设计与开发,人民邮电出版社, 2012五、实训安排表序号学时内容13环境配置,包括安装JDK、Eclipse、SDK、ADT23案例需求分析,完成需求报告33根据需求,完成数据类型设计43根据需求,设计用户界面54采用MVC架构,设计客户

5、端66编码72测试六、实施方案根据实训大纲的描述。具体实施如下: 问题分析 根据实验内容,充分地分析和理解问题本身,弄清要求做什么,包括功能要求、性能要求、设计要求和约束以及基本数据特性,数据间的联系等。 2 模块、类和算法的设计 按问题提炼和设计并画出程序运行的流程图,设计相关类,包括对类的定义,字段、函数的设计和实现。设计分概要设计和详细设计,概要设计着重解决程序的类设计问题,这包括考虑如何把被开发的问题程序自顶向下分解成若干顺序模块,并决定类的外部接口,即类间的相互关系以及类之间的信息交换问题.详细设计则要决定每个类内部函数的具体算法,包括输入、处理和输出。 4上机调试 将代码用Java

6、语言描述出来,对程序进行编译,纠正程序中可能出现的语法错误,先运行一遍程序看看究竟将会发生什么,如果错误较多,则进行错误跟踪,包括打印执行路径或输出中间变量值等手段。 5实习报告内容 将实训内容和结果写在实习报告中,主要包括: 1)问题描述:包括目标、任务、条件和约束的描述。 2)设计: 系统整体设计和描述; 主控及功能模块层次结构; 主要功能模块的输入、处理(算法框架描述)和输出; 功能模块之间的调用与被调用关系等。 3)使用说明和作业小结: 使用说明主要描述如何使用你的程序以及使用时的主要事项; 在小结中说明程序的改进思想、经验和体会,并回答教师布置的讨论题。 4)打印一份程序清单及运行示

7、例的结果。 将以上各项文字材料及程序清单等装订成册,形成一个完整的报告。附录1.系统架构图:客户端从MVC设计模式的角度去分析有三个部分:视图、控制器和模块。其中界面视图包含了Activity和一些View模块,用于展示信息给用户;模块部分对应到上图的网络模块和数据模块,各个模块能提供不同的功能被其他部分调用;控制器对应到上图的MsgService部分,控制着整个客户端消息的处理、数据的存储和界面的刷新。1.1代码结构l 用户界面以Activity为核心,包括基础(controller包)、启动(loginsignin包)中的类l 数据库部分包括数据库操作类(DatabaseHelper.ja

8、va)、数据表(table包)及数据共享(contentprovider包)。l 网络部分包括了模块(mode包)、请求类(Request.java)及网络连接类(HttpClient.java),模块中包括了针对不同请求类型返回数据的解析类,可以实现对返回数据的解析l 其他一些包,如配置(application包)、服务(service包)、工具(utils包)等实现辅助功能由事件驱动的任务处理机制具体的步骤:(1)捕获到事件后确定是何种请求(有请求话题、请求私信和添加好友等);(2)封装具体的请求参数,根据请求的类型填写相应的参数;(3)将参数传送到所在Activity的AysncTask

9、中进行处理,进行网络的判断和数据的请求等;(4)若请求成功,就需要调用数据模块的解析方法以解析响应的JSON格式的数据;(5)若上述请求失败了(本案例的失败包括整个过程的所有失败,比如网络未连接和数据解析失败等),跳到该步骤执行通知用户请求失败;若请求成功,这通知用户刷新界面。以定时器驱动的任务机制具体步骤:(1)与事件驱动不一样的是,这里采用定时器定时启动网络访问;(2)数据的封装与事件驱动的一样;(3)在Service中启动新的线程来处理网络连接请求;(4)数据的解析和数据的储存与事件驱动处理中的步骤一样;(5)界面视图的更新(包含请求失败和请求成功),由于任务的操作在Service中,S

10、ervice中没有涉及界面更新的方法,所以通过Handler和实现了MsgRefresh接口的Activity来完成界面刷新功能。2.功能模块A、启动B、注册C、登陆D、注销E、话题进入话题列表界面(BoradcastActivity.java)时首先访问本地数据库,检查是否存在话题信息,若不存在话题信息,则利用异步任务(AysncTask)机制请求话题类ReadTask向服务器发送话题信息请求,获取所有话题信息数据,将数据进行解析,保存到数据库,再执行界面刷新,将每条话题记录的信息显示。F、好友进入好友界面时,首先访问本地数据库中是否存在,若不存在则通过异步机制(AsyncTask)向服务端

11、请求数据。G、私信采用Android提供的异步任务来执行任务,包括私信的请求、回复等。具体的流程图参考上一节中的登陆、注册等流程,他们的控制过程大同小异,不同的只是输入输出的数据不一样而已,不影响对任务处理过程的理解。H、用户资料查看个人资料或者是其他用户资料时都是用该ProfileActivity做显示和操作,当要查看某个用户的资料时,首先在好友表中查询是否存在该用户的信息,如果不存在则通过网络向服务端请求,在请求的参数中放入该用户的ID(UID),然后通过异步任务(AsyncTask)来请求用户的资料。具体的流程图参考上一节中的登陆、注册等流程,他们的控制过程大同小异,不同的只是输入输出的

12、数据不一样而已,不影响对任务处理过程的理解。I、消息更新机制为了保证大案例中各个模块能实时接收到服务端变化的数据,比如好友发表了新话题、有新的私信等,本大案例中采用轮询的机制每隔一段时间自动访问服务器,读取服务器端的话题、好友和私信表,查询是否这些表中出现了新的值,若是出现了则返回这些数据。J、其他内容如:用户登录数据的存储;广播接收者;软件的更新功能3.服务端该案例采用的服务器是Tomcat6.5,代码是用Java语言来编写的,数据库使用Mysql。3.1总体介绍3.2数据解析和控制流程在整个过程中,用户发来的数据和返回的数据都是JSON格式的,整个过程主要分以下几步:(1)接收请求的参数,并分析参数,也就是解析JSON格式里面的内容;(2)通过获得的用户ID(UID)和密码(

温馨提示

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

评论

0/150

提交评论