ImageVerifierCode 换一换
格式:DOCX , 页数:60 ,大小:1.54MB ,
资源ID:4673292      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4673292.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(移动应用开发实验报告.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

移动应用开发实验报告.docx

1、移动应用开发实验报告中南大学移动应用开发试验汇报 内容介绍3上机试验要求及规范 4试验一511试验二1220试验三2142试验四4352内容 简 介 移动应用开发是计算机专业学生一门专业课程, 着重讲述移动应用编程技术方法。对于学生从事移动应用系统研发、 使用和维护相关键意义。本课程概念多、 内容包含面广、 系统性强。经过本课程学习, 学生应能从软件、 硬件功效分配角度去了解、 分析和研究移动应用系统, 建立起对移动应用系统全方面认识, 树立全方面地、 发展地看问题见解, 从而加深对多种类型移动应用系统了解。本课程学习应重视理论与实践相结合, 所以试验教学是教学步骤中必不可少关键内容。经过试验

2、教学学习, 使学生熟练掌握相关移动应用编程基础概念、 基础原理和基础思想, 掌握对移动应用系统进行设计、 分析和计算方法。试验部分包含四个试验, 包含试验目、 试验内容和试验所需环境等, 介绍了每个试验所需部分基础知识和技巧。在试验中给出试验题, 跟课堂教学内容都有亲密关系, 所以需要将课堂上讲授例子程序融会贯通, 掌握试验所需部分基础方法和工具, 并在吃透例子程序基础上, 主动独立思索设计和编写满足试验要求程序。中南大学信息科学与工程学院 鲁鸣鸣制订上机试验要求及规范 移动应用开发课程含有比较强实践性。上机试验是一个关键教学步骤。通常情况下学生能够重视试验步骤, 对于编写程序上机练习含有一定

3、主动性。不过轻易忽略试验总结, 忽略试验汇报撰写。对于一名大学生必需严格训练分析总结能力、 书面表示能力。需要逐步培养书写科学试验汇报以及科技论文能力。拿到一个题目, 通常不要急于编程。正确方法是: 首先了解问题, 明确给定条件和要求处理问题, 然后根据自顶向下, 逐步求精, 分而治之策略, 根据面向对象程序设计思绪, 逐一地处理子问题。 一、 试验汇报基础要求: 通常性、 较小规模上机试验题, 必需遵照下列要求。养成良好习惯。 姓名 班级 学号 日期 题目 i. 问题描述 ii. 设计简明描述 iii. 程序清单(带有必需注释) iv. 结果分析(原始图示, 测试数据与运行统计, 分析正确性

4、; ) v. 调试汇报: 试验者必需重视最终这两个步骤, 不然等同于没有完成试验任务。这里能够表现个人特色、 或发明性思维。具体内容包含: 测试数据与运行统计; 调试中碰到关键问题, 自己是怎样处理; 经验和体会等。 二、 试验汇报提升要求: 阶段性、 较大规模上机试验题, 应该遵照下列要求。养成科学习惯。 (1)问题描述 (2)需求和规格说明 (3)描述问题, 简述题目要处理问题是什么。要求软件做什么。原题条件不足时补全。 (4)概要设计: 功效模块划分(5)具体设计: 每部分模块设计, 含数据结构设计, 算法描述(步骤图或PDL) a.设计思想: 关键算法基础思想。 b.设计表示: 每个函

5、数头和规格说明; 列出每个函数所调用和被调用函数, 也能够经过调用关系图表示。 (6)实现注释: 各项功效实现程度、 在完成基础要求基础上还有什么功效。 (7)用户手册: 即使用说明书。 (8)调试汇报: 调试过程中碰到关键问题是怎样处理; 设计回顾、 讨论和分析; 时间复杂度、 空间复杂度分析; 改善设想; 经验和体会等。 试验一 GeoQuiz应用实现一、 试验目 1 掌握activity和布局文件基础概念2. 掌握编写简单Android应用步骤3. 掌握响应用户交互操作基础方法二、 试验开发环境和工具能够在Linux或者Windows操作系统上搭建开发环境, 所使用开发工具包含ADT b

6、undle或Android Studio, 使用Java语言, 工具包使用JDK1.7或1.8。三、 试验内容 1、 参考参考书Android编程权威指南: the big nerd ranch guide第一章给出Android应用GeoQuiz, 能测试用户地理知识。用户经过单击True或False按钮往返复屏幕上问题, GeoQuiz可即时反馈答案正确是否。以下图所表示: 一、问题描述这是一个简易地理知识问答app。此次试验是一个初步设计, 关键内容有: 首先设计出一个界面(相当于android入门), 这个界面包含一个TextView用来展示题目, 以及两个按钮, 一个代表true,

7、另一个代表false, 当点击这两个按钮中一个时主界面上要给出答题是否正确。其次, 还要实现答完题后题目自动跳转。二、 设计简明描述根据Android MVC思想深入了解MVC概念MVC即Model-View-Controller。M: 逻辑模型, V: 视图模型, C: 控制器。MVC模式下, 系统框架类库被划分为3种: 模型(Model)、 视图(View)、 控制器(Controller)。模型对象负责建立数据结构和对应行为操作处理。视图对象负责在屏幕上渲染出对应图形信息展示给用户看。控制器对象负责截获用户按键和屏幕触摸等事件, 协调Model对象和View对象。用户与视图交互, 视图接

8、收并反馈用户动作; 视图把用户请求传给对应控制器, 由控制器决定调用哪个模型, 然后由模型调用对应业务逻辑对用户请求进行加工处理, 假如需要返回数据, 模型会把对应数据返回给控制器, 由控制器调用对应视图, 最终由视图格式化和渲染返回数据, 对于返回数据完全能够增加用户体验效果展现给用户。一个模型能够有多个视图, 一个视图能够有多个控制器, 一个控制器也能够有多个模型。(1)、 模型(Model)Model是一个应用系统关键部分, 代表了该系统实际要实现全部功效处理。比如: 在视频播放器中, 模型代表一个视频数据库及播放视频程序函数代码; 在拍照应用中, 模型代表一个照片数据库, 及看图片时程

9、序函数代码。在一个电话应用中, Model代表一个电话号码簿, 以及拨打电话和发送短信程序函数代码。Model在values目录下经过xml文件格式生成, 也能够经过硬编码方法直接Java代码生成。View和Model是经过桥梁Adapter来连接起来。(2)、 视图(View)View是软件应用传送给用户一个反馈结果。它代表软件应用中图形展示、 声音播放、 触觉反馈等职责。视图根节点是应用程序本身窗口。比如, 视频播放器中可能包含目前播放画面, 这个画面就是一个视图。另一个视图组件可能是该视频文字标题。再一个就是部分播放按键, 比如: Stop、 Start、 Pause等按钮。View在l

10、ayout目录下经过xml文件格式生成, 用findViewById()获取; 也能够经过硬编码方法直接Java代码生成。(3)、 控制器(Controller)Controller在软件应用负责对外部事件响应, 包含: 键盘敲击、 屏幕触摸、 电话呼入等。Controller实现了一个事件队列, 每一个外部事件均在事件队列中被唯一标识。框架依次将事件从队列中移出并派发出去。依据以上分析, 在该项目中首先在视图层也就是xml文件中设计以下: 首先实现一个简单界面, 关键用到是线性布局(LinearLayout), 只要设置多个属性就能够, 以下两行分别是设置为居中、 垂直。(注意gravity

11、与layout_gravity区分, gravity指是该view里面内容与该view相对关系, 而layout_view指是该view与父view相对位置关系)android:gravity=centerandroid:orientation=horizontal添加一个TextView, 两个Button, 首先都要设定她们大小, 以下(wrap_content 指自适应大小, 依据内容来自动调整大小)android:layout_width=wrap_content android:layout_height=wrap_content然后就是她们显示内容, 当然TextView也要显示内

12、容即题目, 不过, 我们考虑到后面要自动改变题目内容, 所以临时不设置内容, 先让其空着。而true和false两个按钮则要先设置其text。我们为了提升代码复用, 降低硬编码, 我们将使用字符串引用来设置两个按钮text。首先要在strings.xml文件中(res-values-strings.xml)添加两个字符串。truefalse然后在activity_main.xml文件中设置两个按钮textandroid:text=string/true_button控制层设计以下: package com.example.testcase;import android.app.Activity

13、;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener private Button but1,but2,

14、but; private TextView tv; private int id; Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Override public boolean onCreateOptionsMenu(Menu menu) / Inflate the menu; this adds items to the action bar if it is pres

15、ent. getMenuInflater().inflate(R.menu.main, menu); but1 = (Button) this.findViewById(R.id.bu1); but2 = (Button) this.findViewById(R.id.bu2); tv = (TextView) this.findViewById(R.id.tv1); but1.setOnClickListener(this); but2.setOnClickListener(this); return true; Override public void onClick(View v) id

16、 = v.getId(); if(id = but1.getId() Toast.makeText(this, 恭喜你, 答对了!, 0).show(); else Toast.makeText(this, Sorry,答错了! , 0).show(); package com.example.testcase;public class TrueFalse private int mQestion;/保留地理知识字符串id private boolean mTrueQuestion; public TrueFalse(int mQestion, boolean mTrueQuestion) s

17、uper(); this.mQestion = mQestion; this.mTrueQuestion = mTrueQuestion; public int getmQestion() return mQestion; public void setmQestion(int mQestion) this.mQestion = mQestion; public boolean ismTrueQuestion() return mTrueQuestion; public void setmTrueQuestion(boolean mTrueQuestion) this.mTrueQuestio

18、n = mTrueQuestion; 三、 调试结果试验二 GeoQuiz应用实现进阶一、 试验目 1 掌握Android中MVC设计模式2. 掌握Activity生命周期基础概念3. 掌握Android应用调试3. 掌握Android应用中多个组件切换基础方法二、 试验开发环境和工具能够在Linux或者Windows操作系统上搭建开发环境, 所使用开发工具包含ADT bundle或Android Studio, 使用Java语言, 工具包使用JDK1.7或1.8。三、 试验内容 1、 参考参考书Android编程权威指南: the big nerd ranch guide第2、 3、 4、

19、5章给出Android应用GeoQuiz进阶具体代码和讲解, 完善GeoQuiz应用, 使得1)GeoQuiz能从多个应用之间切换, 以下图所表示: 2)创建GeoQuiz应用横向布局, 以下图所表示, 并实现跨周期数据保留(手机旋转后, 应用目前问题状态仍能保持)3)为GeoQuiz应用增加第二个用户界面(以及对应activity), 新增activity用来给用户提供查看目前问题答案, 以下图所表示: 一、 问题描述在此次试验中关键实现以下多个功效: 使用数组实现问题类控制, 轻易做到题目跳转翻转手机屏幕后任然能保持在同一个问题中实现前翻后翻功效实现作弊功效首先, 在将题目抽象为一个类时候

20、, 首先要分析这个类属性。在TrueFalse类中, 关键有一个整型变量mQestion用于地理知识字符id, 一个布尔型变量mTrueQuestion用于显示该问题是否正确。TrueFalse类具体实现以下package com.example.testcase;public class TrueFalse private int mQestion;/保留地理知识字符串id private boolean mTrueQuestion; public TrueFalse(int mQestion, boolean mTrueQuestion) super(); this.mQestion =

21、mQestion; this.mTrueQuestion = mTrueQuestion; public int getmQestion() return mQestion; public void setmQestion(int mQestion) this.mQestion = mQestion; public boolean ismTrueQuestion() return mTrueQuestion; public void setmTrueQuestion(boolean mTrueQuestion) this.mTrueQuestion = mTrueQuestion; 在acti

22、vity类中, mQuestionBank数组中存放了题目, 在TextView设置文本内容时, 只要依据TrueFalse对象mQuestion即问题id来设置即可MainActivity类具体实现以下: package com.example.geopoe;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.view.View.OnClickList

23、ener;import android.widget.Button;import android.widget.ImageButton;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity private TextView mQuestionText; private Button mTrueButton, mFalseButton, mCheatButton;/ private ImageButton mPrevImageButton, mNe

24、xtImageButton; private int mCurrentIndex;/ 用于统计目前文本id private boolean mCheat;/ 表示是否作弊 private static final String KEY_INDEX = index; public static final String SHOW_ANSWER = answer; / mQuestionBank数组中存放了题目, 在TextView设置文本内容时, 只要依据 / TrueFalse对象mQuestion即问题id来设置即可 private TrueFalse mQuestionBank = new

25、 TrueFalse new TrueFalse(R.string.question_an, false), new TrueFalse(R.string.question_chi, false), new TrueFalse(R.string.question_su, false), new TrueFalse(R.string.question_tai, true), new TrueFalse(R.string.question_zhu, true), new TrueFalse(R.string.quetion_ya, true), ; Override protected void onActivityResult(int requestCode, int r

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2