20155306 实验四 Android程序设计
20155306 实验四 Android程序设计
实验内容
1.基于Android Studio开发简单的Android应用并部署测试;
2.了解Android、组件、布局管理器的使用;
3.掌握Android中事件处理机制。
实验要求
1.安装测试:参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十四章:
- 安装 Android Stuidio
- 完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号,提交代码运行截图和码云Git链接,截图没有学号要扣分
2.Activity测试:参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十五章: - 构建项目,运行教材相关代码
- 创建 ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity
- 提交代码运行截图和码云Git链接,截图要有学号水印,否则会扣分
3.UI测试: 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十六章: - 构建项目,运行教材相关代码
- 修改代码让Toast消息中显示自己的学号信息
- 提交代码运行截图和码云Git链接,截图要有学号水印,否则会扣分
4.布局测试: 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十七章: - 构建项目,运行教材相关代码
- 修改布局让P290页的界面与教材不同
- 提交代码运行截图和码云Git链接,截图要有学号水印,否则会扣分
5.事件处理测试: 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十八章: - 构建项目,运行教材相关代码
- 提交代码运行截图和码云Git链接,截图要有学号水印,否则会扣分
实验步骤
1.安装测试
完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号
- mianfests 包含一个AndroidMainfest.xml的文件,描述一个应用程序。
- Java 包含有Java程序和测试类
- res 包含run了资源文件
关于调试程序:
- android中提供了类用于记录日志消息。方法名很简单,d、i、v、w、e、wtf。
- 同时可以设置断点Run>Toggle Breakpoint.
- 调试程序 Run>Debug app
2.Activity测试
创建 ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity
在这个任务中,要求让MainActivity启动ThirdActivity,所以还需要修改MainActivity,将Intent包含的内容设置为ThirdActivity.class。
3.UI测试:
修改代码让Toast消息中显示自己的学号信息。
Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失。而且Toast主要用于向用户显示提示消息。
4.布局测试:
修改布局让P290页的界面与教材不同
Android中常用的5大布局方式有以下几种:
线性布局(LinearLayout):按照垂直或者水平方向布局的组件。
帧布局(FrameLayout):将每一个子视图放在另一个子视图顶部的布局
表格布局(TableLayout):按照行列方式布局组件。
相对布局(RelativeLayout):根据同级视图的位置来排列布局方式。
网格式布局(GridLayout):将子视图放在一个栅格李的一种布局。
5.事件处理测试:
构建项目,运行教材相关代码
import android.support.v7.app.AppCompatActivity;
import android.widget.AnalogClock;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import com.example.multicolorclock.R;
public class MainActivity extends AppCompatActivity {
int counter = 0;
int[] colors = {Color.BLACK, Color.BLUE, Color.CYAN, Color.DKGRAY, Color.GRAY, Color.GREEN, Color.LTGRAY, Color.MAGENTA, Color.RED, Color.WHITE, Color.YELLOW};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@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;
}
public void changeColor(View view) {
if (counter == colors.length) {
counter = 0;
}
view.setBackgroundColor(colors[counter++]);
}
}
当用户按下(或触碰)时钟的时候,会调用该方法并接受时钟对象。要修改时钟的颜色,需要调用其setBackgroundColor方法,传入一个颜色对象,从而实现触碰时钟改变颜色。
遇到的困难
这次实验遇到最大的困难就是模拟器启动不了,为此重新下载了两次AS,都没用.用同学装好的电脑建离自己的项目,做了实验。昨晚在网上看教程,有推荐安卓模拟器Genymotion,说性能比较好,不甘心自己搞不出来想再试试,最后终于下载成功,模拟器也运行成功,而且使用也很方便!