实验四:Android 开发基础
实验四:实验报告
课程:程序设计与数据结构
班级: 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)》第二十八章:
实验要求
-
- 完成实验、撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是 运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决 办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可 以得到什么启示,有什么收获,教训等)。报告可以参考范飞龙老师的指导
-
- 严禁抄袭,有该行为者实验成绩归零,并附加其他惩罚措施。
实验步骤
-
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但是对于在自己的努力下可以独立的完成这样一个小项目还是很有成就感的,希望自己可以再接再厉!!加油!!