20172303 2017-2018-2 《程序设计与数据结构》实验四报告
- 课程:《程序设计与数据结构》
- 班级: 1723
- 姓名: 范雯琪
- 学号:20172303
- 实验教师:王志强
- 助教:张旭升/刘伟康
- 实验日期:2018年5月30日
- 必修/选修: 必修
实验内容
- android Stuidio的安装测试
- Activity测试
- UI测试
- 布局测试
- 事件处理测试
实验过程及结果
(一)Android Stuidio的安装测试
要求
参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十四章:
- 参考Android开发简易教程,安装 Android Stuidio
- 完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号,自己学号前后一名同学的学号,提交代码运行截图和码云Git链接,截图没有学号要扣分
- 学习Android Stuidio调试应用程序
过程
在src/main/res/layout
目录下的activity_main.xml
文件中,添加一个新的TextView,在文本中输入自己的学号和前后同学的学号。
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="20172302 20172303 20172304"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
运行结果:
(二)Activity测试
要求
参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十五章:
- 构建项目,运行教材相关代码
- 创建 ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity
过程
- 首先在AndroidManifest.xml中再添加一个Activity。
- 每一个Activity都需要有对应的启动程序文件(.java)和布局文件(.xml),所以在
src/main/res/layout
目录下再创建一个activity_second.xml
文件,并在src/main/java
目录下创建一个ThirdActivity.java
文件。 - 要使MainActivity可以启动ThirdActivity,还需要对
MainActivity.java
进行修改:
public class MainActivity extends Activity implements
OnTouchListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = (TextView) findViewById(R.id.textView1);
tv.setOnTouchListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it
// is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onTouch(View arg0, MotionEvent event) {
Intent intent = new Intent(this, ThirdActivity.class);
intent.putExtra("message", "20172303 范雯琪");
startActivity(intent);
return true;
}
}
- 运行结果:
(三)UI测试
要求
参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十六章:
- 构建项目,运行教材相关代码
- 修改代码让Toast消息中显示自己的学号信息
过程
修改教材上的代码,实现在点击Buttom之后弹出Toast消息显示自己的学号。
运行结果:
(四)布局测试
要求
参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十七章:
- 构建项目,运行教材相关代码
- 修改布局让P290页的界面与教材不同
过程
打开src/main/res/layout
目录下的activity_main.xml
文件,点击Design
,拖动元素进行界面修改。
运行结果:
(五)事件处理测试
要求
参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十八章:
- 构建项目,运行教材相关代码
- 提交代码运行截图和码云Git链接,截图要有学号水印,否则会扣分
过程
构建项目,运行教材代码
运行结果:
实验过程中遇到的问题和解决过程
- 问题1:如何导入教材上的代码?
- 问题1解决方法:首先新建一个项目,名字要与
目录下的名字一致,然后分别将AndroidManifest.xml
、res
文件和MainActivity.java
复制进去。 - 问题2:将代码复制进去后,R文件变红
- 问题2解决方法:查到了一篇博客:android studio中 R文件丢失可能的产生原因 以及解决方案,成功解决了问题。
- 问题3:在实验中途修改了码云地址,导致不能上传
- 问题3解决方法:选择
VCS→Git→Remotes...
,
在打开的界面中选择绿色的加号,
将修改后的码云地址复制进去,选择OK。
选择要Git的文件右键,选择Git→Repository→Remotes...
,
选择新的码云地址并点击OK即可继续上传。
其他(感悟、思考等)
用了AS之后最大的感触就是再也不敢轻易删东西了,以前有时候代码有实在解决不了的问题时,可能删掉重新建一个就好了,但是在AS里随随便便删东西就很容易出其他问题。这是我拿重建了两个项目和两个码云地址并且电脑炸过一次后得到的血的教训o(╥﹏╥)o