学号 2017-2018-20172309 《程序设计与数据结构》实验四报告
学号 2017-2018-20172309 《程序设计与数据结构》实验四报告
课程:《程序设计与数据结构》
**班级: **1723
姓名: 王志伟
学号:20172309
实验教师:王志强老师
实验日期:2018年4月18日
必修/选修: 必修
一、实验内容
- 测试一:
Android Stuidio的安装测试:- 参考课本第24章,完成Android studio的安装,
- 完成Hello World,按要求修改res目录中内容,Hello World后要显示自己的学号。
- 学习Android studio 调试应用程序
- 测试二:
Activity测试:- 构建项目,运行相关代码。
- 创建ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity
- 测试三:
UI测试:- 构建项目,运行相关代码。
- 修改代码让Toast信息中显示自己的学号信息。
- 测试四:
布局测试:- 构建项目,运行相关代码。
- 修改布局,让P290页的界面与教材不同。
- 测试五:
事件处理测试:- 构建项目,运行相关代码。
二、实验过程及结果:
- 测试一:
- 安装Android studio:
首先下载Android studio点击下载
打开下载的安装包,出现如图所示页面
遇到此种情况,点取消即可
第一次运行可能会要求配置Android SDK(安装过程中要知道自己的SDK安装到什么地方了): - 完成程序Hello World:
好了以后出现如此页面,点击新创项目
我们先做最简单的项目Hello World,注意项目地址在哪
点击Next 出现
点击phone or table(手机或者平板),点击Next,出现
点击Empty Activity 一个新活动。
设置新活动的名字
在layout里面添加按钮 以显示Hello World。拖住1至位置2 在位置3可修改按钮名称。
运行结果:
- 测试二:
- 创建一个主活动,内含一个按钮,按了就会出现第二个活动。
首先创建好活动后,在layout里放置一个按钮,以便调出活动二:
- 然后就可以创建第二个活动了:我准备把上次做的进出栈作为第二个活动页面:
- 接下来就是编写一段代码作为桥梁以把这两个活动页面串联起来:
其中Intent intent = new Intent(活动页面1,活动页面2);
初始化一个对象把活动1和2连接起来,startActivity(intent);
表示为启动活动页面。
4.出来后结果为:
注:一开始在活动一是按了按钮就直接转到活动二的,但是又在书中看到了AlertDialog,就把它添加到了这个项目中,所以我一开始是按照题干做的,希望学长别扣分_
- 测试三:
这个测试只需要在活动页面中显示一个Toast,因此我在代码中添加了Toast.makeText(this, "20172309", Toast.LENGTH_SHORT).show();
就行了,
结果为: - 测试四:
- 修改课本P290页上的活动,以让他们显示不同:这一本分我认为现在所有的UI组件都可以直接拖动,因此:我认为就一个难点:框中的麦克风怎么显示:
我当时是这样操作的:
- 修改课本P290页上的活动,以让他们显示不同:这一本分我认为现在所有的UI组件都可以直接拖动,因此:我认为就一个难点:框中的麦克风怎么显示:
- 在这个目录下就可以发现一个长得像麦克风的标志。
- 测试五:
运行结果:
- chapter28_MultiColorClock:
- chapter26_BaseComponent:
注意点:实现书中代码有两种方法:1.直接复制。2. 直接导入。 - 因为第一次是自己输入加复制,总是出现许多麻烦,所以选择了导入:导入的方法是依次点击File——>Open——>要导入的项目。
- 第一次导入可能是需要下载相关文件资源,所以特别慢,个人推荐使用热点下载,我大概用了5~6分钟。好了后电脑叫你安装什么你就安装什么。
- 大概会出现此样页面:
听说是应为代码太老,软件版本太新。所以需要手动设置版本:
格式为:更改前版本->更改后版本。改完后应该会变成这样:
之后我们就可以运行了。
3. 实验过程中遇到的问题和解决过程
所遇到的问题大概在上一环节已经表述,现在总结下:
测试一:
不知道有什么用。
TextView
为一个显示框,里面的文本不能修改。
Button
为一个按钮,按钮可以修改成自己想要的名字,需注意Id,id在代码中将会便引用以便知道是哪个button。id格式为:button x (x=1 , 2 , 3 , ...)。如果想Text不全为大写时,在layout中加入android:textAllCaps = false
即不会全大写了。
ImageView
一个可以插入图片的按钮,图片可以使用自带的,也可以使用从网上下载的。
Plain Text
一个输入框。
MultiLine Text
一个输出框
.......
测试二:如何从一个活动跳转到另一个活动?
- 新创一个活动
- 代码实现前后两个活动的链接:
> FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
> fab.setOnClickListener(new View.OnClickListener() {
> @Override
> public void onClick(View view) {
> Intent intent=new Intent(MainActivity.this,navigationactivity.class);
> startActivity(intent);
>
> }
> });
测试三:如何使用Toast?
发现一个很简单的方法:在代码中输入Toast 再摁Tab会自动补齐:
只需要修改Text内容。
测试四、测试五中出现的问题,已经在上面详细写出。