实验四:实验报告

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

班级: 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. EntityFramework Core 2.0 Explicitly Compiled Query(显式编译查询)

    前言 EntityFramework Core 2.0引入了显式编译查询,在查询数据时预先编译好LINQ查询便于在请求数据时能够立即响应.显式编译查询提供了高可用场景,通过使用显式编译的查询可以提高查 ...

  2. 如何控制Bean对象的作用域,默认作用域是什么

    1.可以通过<bean>定义的scope属性指定Bean对象的作用域或者使用注解@Scope指定Bean对象的作用域. 2.默认Bean对象的作用域为singleton.

  3. 【POJ 3401】Asteroids

    题面 Bessie wants to navigate her spaceship through a dangerous asteroid field in the shape of an N x ...

  4. Luogu1121:环状最大两段子段和

    题面 传送门 Sol 两种情况 第一种就是类似\(***000***000***(0表示选)\),这个可以DP 设\(h[0/1/2/3][i]\)表示到第\(i\)位的状态: \(0\):表示还没选 ...

  5. 2014NOIP普及组 子矩阵

    觉得题目水的离开 觉得普及组垃圾的请离开 不知道 DFS 和 DP 的请离开 不屑的大佬请离开 ……. 感谢您贡献的访问量 ————————————————华丽的分割线 ——————————————— ...

  6. iOS逆向工程,(狗神)沙梓社大咖免费技术分享。

    序言 简介:本文针对于广大iOS开发者,作为一名开发者,仅仅专注于一门语言可能已经不适用现在的市场需求,曾经因高薪和需求量巨大,而火爆一时的移动端开发者(Android,ios),如今的路却是不再那么 ...

  7. eclipse中Maven项目pom.xml报错:com.thoughtworks.xstream.io.HierarchicalStreamDriver

    eclipse中创建Maven项目时 pom.xml报错:com.thoughtworks.xstream.io.HierarchicalStreamDriver 解决方案1.在pom文件中加入mav ...

  8. error:org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException

    问题:调用的方法在一个接口类中,但我并没有注入那个被调用的类 解决:在UserEntity前加上@Autowired @Controller public class MainController { ...

  9. Java的大数计算BigNumber

    Notice that the number 123456789 is a 9-digit number consisting exactly the numbers from 1 to 9, wit ...

  10. scala开发环境安装

    安装JDK    java 运行环境 ,这里不详说了,熟悉java的朋友应该都会,我们主要关注下Scala的安装. 安装scala    1.下载scala    http://yunpan.cn/c ...