实验四:实验报告

课程:程序设计与数据结构

班级: 1623

姓名: 张旭升

学号:20162329

指导教师:娄嘉鹏 王志强

实验日期:5月26日

实验密级: 非密级

预习程度: 已预习

必修/选修: 必修

实验序号: cs_29

实验名称: Java面向对象程序设计Android开发

实验内容

  • 1.Android Stuidio的安装测试: 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十四章:

  • 2.Activity测试: 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十五章:

  • 3.UI测试: 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十六章:

  • 4.布局测试: 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十七章:

  • 5.事件处理测试: 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十八章:

实验要求


    1. 完成实验、撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是 运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决 办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可 以得到什么启示,有什么收获,教训等)。报告可以参考范飞龙老师的指导
    1. 严禁抄袭,有该行为者实验成绩归零,并附加其他惩罚措施。

实验步骤

  • 1.安装 Android Stuidio(注意环境配置)(详见安装教程)完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号学习Android Stuidio调试应用程序

  • 2.Activity测试:构建项目,运行教材相关代码创建 ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity

  • 3.UI测试:构建项目,运行教材相关代码修改代码让Toast消息中显示自己的学号信息

  • 4.布局测试:构建项目,运行教材相关代码修改布局让P290页的界面与教材不同

  • 5.事件处理测试:构建项目,运行教材相关代码

  • 6.PSP时间表:在表格中统计项目各不周所花费的时间。

实验过程

  • 1.安装Android studio

  • 2.创建虚拟手机

  • 3.Hello World!测试

  • 4.四则运算项目实现

一.安装Android studio

1.安装Android studio



2.创建一个新的项目:

3.选择合适的Android版本:

4.创建一个新的活动:

二.创建虚拟手机:

1.选中一款自己喜欢的手机:

2.下载相关组件:

3.完成创建并运行它:



三.Hello World!测试


在我创建第一个活动的时候Android studio已经帮我们自动生成了Hello World!的相关代码


代码截图:
  • 1.布局代码:

  • 2.活动代码:

  • 3.运行结果:

四.四则运算的代码实现:


由于我上周进行了四则运算的结对编程项目,这次想在Android开发下基于之前的代码做出一个相关的APP来,类似于小学口算题卡。


1.设计思路:

由于是第一次接触Android开发相关东西需要摸索就先设计一个简单的。

  • 基于上周的代码我们首先需要一个用户选择题目数量和题目等级的窗口

  • 然后需要调用代码中的Practice中的方法来自动生成所需题目

  • 然后将生成的题目调用Original转换为后缀表达式

  • 然后将后缀表达式用Counts进行计算

  • 然后设置永辉回答界面,并对回答的问题进行判断正误

2.逐步实现:
- 用户输入界面使用EditText控件

- 然后将上周的相关代码拷贝至Android studio中

- 在将用户输入的信息作为参数传入题目生成方法然后传入下一个活动然后使用ListView把他们每一条的显示出来

局部代码:

         button4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
prc.list.clear();
if(!editText1.getText().toString().equals("") && !editText2.getText().toString().equals("")) {
int A = Integer.parseInt(editText1.getText().toString());
int B = Integer.parseInt(editText2.getText().toString());
prc.Ti(A, B);
Intent intent = new Intent(MainActivity.this, PracticeActivity.class);
intent.putExtra("key",(Serializable) prc.list);
startActivity(intent);
}else {
Toast.makeText(MainActivity.this,"请正确输入!",Toast.LENGTH_SHORT).show();
}
}
});

运行结果:

- 在ListView显示的每一条信息中设置一个点击监听器,点击后可进入下一个模式对话框的活动来进行答题,并在答题后判断其对错。

代码展示:

    protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_enter); editText = (EditText) findViewById(R.id.editText3);
button = (Button)findViewById(R.id.button5);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String result = editText.getText().toString();
String A = getIntent().getStringExtra("key");
if (result.equals(A))
Toast.makeText(EnterActivity.this, "正确!", Toast.LENGTH_LONG).show();
else {
Toast.makeText(EnterActivity.this,("错误!\n 正确答案为:" + A),Toast.LENGTH_LONG).show();
}
finish();
}
});
}

运行结果:

实验中遇到的问题

  • 前面从输入信息到生成题目都是很顺畅的没有什么大的问题,直到需要输入答案的时候出现了些问题,因为是初次了解Android开发,不知道怎么给ListView的每一条item设置监听器,只好不停的范数,查资料。

解决方案:

在翻过很多书后没什么结果就去上网找,终于找到了一个ListView点击事件跳转的实例代码,我才知道原来ListView中对于每一个item都自带了一个可以设置点击事件的监听器,才终于实现了我想要的效果。

实验不足

本次实验中唯一可惜的是自己对于Android开发和Android中的相关类及方法都不熟悉,虽然自己有很多想法但是苦于无法实现,希望自己能在假期中花一点时间去学习学习这方面的相关知识。

实验心得


本次实验中我并没有完全按照老师的指示去一步步的完成,而是在老师所指定的基础上又自己学习了一些相关的知识,以至于自己可以达到将之前自己所写到产品代码在一个手机APP中实现出来,在做出这个口算题卡的APP时我是非常激动的,虽然它还是很简单,也存在一些bug但是对于在自己的努力下可以独立的完成这样一个小项目还是很有成就感的,希望自己可以再接再厉!!加油!!


实验四:Android 开发基础的更多相关文章

  1. 20145213 《Java程序设计》实验四 Android开发基础

    20145213 <Java程序设计>实验四 Android开发基础 说在前面的话 不同以往实验,对于这次实验具体内容我是比较茫然的.因为点我,打开实验四的链接居然能飘出一股熟悉的味道,这 ...

  2. 实验四 Android开发基础

    实验四 Android开发基础 实验内容 1.安装Android Studio 2.运行安卓AVD模拟器 3.使用安卓运行出虚拟手机并显示HelloWorld以及自己的学号 (一)SDK的安装 (二) ...

  3. 20145337实验四Android开发基础

    20145337实验四Android开发基础 实验内容 基于Android Studio开发简单的Android应用并部署测试; 了解Android组件.布局管理器的使用: 掌握Android中事件处 ...

  4. 20145225《Java程序设计》 实验四 Android开发基础

    20145225<Java程序设计> 实验四 Android开发基础 实验报告 实验内容 安装Android Studio 运行安卓AVD模拟器 使用安卓运行出虚拟手机并显示HelloWo ...

  5. 20145208 实验四 Android开发基础

    20145208 实验四 Android开发基础 安装Android Studio 安装的具体步骤在老师的链接中已经很详细了,在此就不做赘述了. 在此提出我觉得安装的时候需要注意的两个地方 一是安装地 ...

  6. 20145215实验四 Android开发基础

    20145215实验四 Android开发基础 实验内容 基于Android Studio开发简单的Android应用并部署测试; 了解Android组件.布局管理器的使用: 掌握Android中事件 ...

  7. 20165223 实验四 Android开发基础

    实验四 Android开发基础 目录 一.实验报告封面 二.具体实验内容 (一)Android Stuidio的安装测试 (二)Activity测试 (三)UI测试 (四)布局测试 (五)教材代码测试 ...

  8. 20155324 《Java程序设计》实验四 Android开发基础

    20155324 <Java程序设计>实验四 Android开发基础 实验内容 1.基于Android Studio开发简单的Android应用并部署测试; 2.了解Android.组件. ...

  9. 20155228 实验四 Android开发基础

    20155228 实验四 Android开发基础 实验内容 1.基于Android Studio开发简单的Android应用并部署测试; 2.了解Android.组件.布局管理器的使用: 3.掌握An ...

  10. 20155219实验四 Android开发基础设计实验报告

    20155219实验四 Android开发基础设计实验报告 实验内容 安装Andriod Studio并配置软件 使用Andriod Studio软件实现Hello World!+学号的小程序 实验步 ...

随机推荐

  1. 【BZOJ1189】紧急疏散(二分答案,最大流)

    [BZOJ1189]紧急疏散(二分答案,最大流) 题面 Description 发生了火警,所有人员需要紧急疏散!假设每个房间是一个N M的矩形区域.每个格子如果是'.',那么表示这是一块空地:如果是 ...

  2. [BZOJ3506] [Cqoi2014] 排序机械臂 (splay)

    Description 同OJ1552 Input Output Sample Input Sample Output HINT Source Solution Q:哎不是同一道题吗为什么分两篇博客来 ...

  3. css - 移动端reset汇总与注释

    1.解决移动端触摸a元素,会有蓝色阴影 正常状态: 点击时状态: a{ outline:none; -webkit-tap-highlight-color: rgba(,,,); } -webkit- ...

  4. 第二章 js数据类型和变量

    一.驼峰命名法 第一个单词首字母大写,如果有多个单词的话其他的单词首字母大写. eg:nickName 二.prototype现象 新的命名规范. 常用的:以下划线为首字母(变量为对象的私有成员变量) ...

  5. C#中DateTime的缺陷与代替品DateTimeOffset

    C#中的DateTime在逻辑上有个非常严重的缺陷: > var d = DateTime.Now; > var d2 = d.ToUniversalTime(); > d == d ...

  6. 区分replace()和replaceAll()

    replace():returns a string replacing all the old char or CharSequence to new char or CharSequence. r ...

  7. HTTP架构介绍(1) Web服务器和代理服务器

    HTTP应用协议本身是不能运行的,它需是需要架构在硬件和软件解决方案上,才能在万维网上提供高效的传输服务. 在这系列的文章中,我们将会了解到以下概念: Web服务器 代理服务器 缓存 网关.信道和中继 ...

  8. C++学习-3

    引用与函数指针: 函数指针就是把函数名挖掉变成*p 函数指针的类型就是把p去掉 函数指针的引用(引用就是在类型和名字的中间加&) 函数指针加一个()就成调用函数了-----------p() ...

  9. c标准头文件

    好多C语言库函数参考还是用的TC的库函数参考,因此特地把现在C语言(C99)标准库函数的24个头文件列表如下:assert.h types.h(C99)  signal.h  stdlib.h   c ...

  10. 01背包问题(Java实现)

    关于背包问题,百度文库上有崔添翼大神的<背包九讲>,不明的请移步查看.这里仅介绍最基本的01背包问题的实现. public class Knapsack { private final i ...