Android实验报告指导书
实验一 Android用户界面设计与实现
一、实验目的
(1)掌握各种界面布局的特点和使用方法;
(2)掌握选项菜单、子菜单和快捷菜单的使用方法;
(3)掌握按键事件和触摸事件的处理方法;
(4)学习Android应用界面的设计;
(5)学习使用Android应用界面框架和常用控件。
二、实验环境
(1) 硬件:PC 机,其它相关硬件 ;
(2)软件:Windows XP,Android Studio集成开发环境,Android Development Tools插件。
三、实验内容及 要求
(1)熟练Android系统一些常用的组件及界面布局;
(2)加深对各个组件功能的认识;
(3)熟练组件与用户进行交互功能的实现;
(4)分析和运行应用程序代码,了解常用组件,掌握控件的事件处理;
(5)编写程序代码,实现一个“用户信息注册与显示”,如图所示,并为按钮添加相应的事件处理函数。
四、实验步骤
(1)创建“登录页面”程序
创建一个名为“登录页面”的布局文件login.xml,该文件用于展示登录信息。程序界面如下图所示:
创建“登录页面”的界面交互代码Login.java,该程序实现用户信息的输入与显示,并通过点击按钮实现界面的切换。关键代码如下:
public class Login extends AppCompatActivity {
/**
* Called when the activity is first created.
*/
private EditText unameEt, upassEt;
private Button submit, register;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
unameEt = (EditText) findViewById(R.id.username);
upassEt = (EditText) findViewById(R.id.password);
//register=findViewById(R.id.register);
submit = (Button) findViewById(R.id.submit);
submit.setOnClickListener(
new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
String username = unameEt.getText().toString();
String password = upassEt.getText().toString();
SharedPreferences references = getSharedPreferences("account", Context.MODE_PRIVATE);
String name = references.getString("username", "");
String psw = references.getString("password", "");
if (username.isEmpty() | password.isEmpty()) {
String sb = "用户名和密码不能为空";
Toast.makeText(Login.this, sb.toString(), Toast.LENGTH_LONG).show();
} else if (name.equals(username) && psw.equals(password)) {
Intent intent1 = new Intent(Login.this, LoginOk.class);
startActivity(intent1);
} else {
String sb = "请输入正确的用户名和密码";
Toast.makeText(Login.this, sb.toString(), Toast.LENGTH_LONG).show();
}
}
});
}
public void Click(View v) {
Intent intent = new Intent(Login.this, Register.class);
startActivityForResult(intent, 1);
//Toast.makeText(this,"注册成功",Toast.LENGTH_LONG).login_ok();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
if (resultCode == 1) {
String name = data.getStringExtra("uname");
String pass = data.getStringExtra("upassword");
unameEt.setText(name);
upassEt.setText(pass);
}
}
}
}
`(2)创建“注册页面”程序
创建一个名为“注册页面”的布局文件,该文件用于展示登录信息。程序界面如下图所示:
创建“注册页面”的界面交互代码Register.java,该程序实现用户信息的注册与数据传递,并通过点击按钮实现界面的切换。关键代码如下:
public class Register extends Activity{
private Spinner mySpinner;
private static final String[] provStr={
"学生","老师","管理员","行政员"};
private ArrayAdapter<String> adapter1;
private CheckBox Sport_CheckBox, Music_CheckBox, ReadBook_CheckBox,Internet_CheckBox;
private RadioGroup radioGroup;
private RadioButton radiobutton1,radiobutton2;
private EditText et_user,et_passwd;
private Button bt_register,bt_cancel,bt_ok;
private TextView tv;
private String sex;
@ Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.register);
mySpinner=(Spinner) findViewById(R.id.zhiwu);
adapter1=new ArrayAdapter<String> (this,android.R.layout.simple_spinner_item,provStr);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_item);
//将 ArrayAdapter添加Spinner对象中
mySpinner