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 stubString 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.setAdapter(adapter1);Sport_CheckBox=(CheckBox) findViewById(R.id.love_sport);Music_CheckBox=(CheckBox) findViewById(R.id.love_music);ReadBook_CheckBox=(CheckBox) findViewById(R.id.love_readbook);Internet_CheckBox=(CheckBox) findViewById(R.id.love_Internet); final EditText et_user=(EditText) findViewById(R.id.et_user);final EditText et_passwd=(EditText) findViewById(R.id.password);bt_register=(Button)findViewById(R.id.register);bt_cancel=(Button)findViewById(R.id.cancel);bt_ok=(Button)findViewById(R.id.ok);tv=(TextView)findViewById(R.id.Result);radioGroup=(RadioGroup)findViewById(R.id.Sex_RadioGroup);radiobutton1=(RadioButton)findViewById(R.id.Sex_Man);radiobutton2=(RadioButton)findViewById(R.id.Sex_Woman);final Intent intent=new Intent(Register.this,RegisterOk.class);bt_register.setOnClickListener(new OnClickListener() {public void onClick(View v) { String username=et_user.getText().toString().trim();//获得密码:调用EditText的getText()方法String userpassword=et_passwd.getText().toString().trim();//String result="";if(username.isEmpty()|| userpassword.isEmpty()) {String sb = "请输入用户名和密码";Toast.makeText(Register.this, sb.toString(), Toast.LENGTH_LONG).show();}else{intent.putExtra("name",username);intent.putExtra("password",userpassword);//获得性别String sex="";if (radiobutton1.isChecked()){sex="男";}if(radiobutton2.isChecked()){sex="女";}intent.putExtra("s",sex);//获得身份String st=mySpinner.getSelectedItem().toString().trim();if(st!=""){intent.putExtra("stuta",st);}else{Toast.makeText(Register.this, "请选择身份", Toast.LENGTH_LONG).show();}//获得爱好String  hobby="";if (Sport_CheckBox.isChecked()){hobby+=" 运动";}if (Music_CheckBox.isChecked()){hobby+=" 音乐";}if (ReadBook_CheckBox.isChecked()){hobby+=" 读书";}if (Internet_CheckBox.isChecked()){hobby+=" 上网";}intent.putExtra("hobby", hobby);startActivity(intent);}
//       数据存储SharedPreferences references=Register.this.getSharedPreferences("account", Context.MODE_PRIVATE);Editor editor=references.edit();editor.putString("username", username);editor.putString("password", userpassword);editor.commit();}});bt_ok.setOnClickListener(new OnClickListener() {public void onClick(View v) {String username=et_user.getText().toString();//获得密码:调用EditText的getText()方法String userpassword=et_passwd.getText().toString();Intent intentok=new Intent();intentok.putExtra("uname",username);intentok.putExtra("upassword",userpassword);setResult(1,intentok);finish();}});bt_cancel.setOnClickListener(new OnClickListener() {   public void onClick(View v) { et_user.setText("");et_passwd.setText("");}});}}

(3)创建“用户信息显示界面”
创建一个名为“用户信息显示界面”的布局文件registerok.xml,该文件用于展示用户注册信息。程序界面如下图所示:

图3用户信息显示界面
创建“用户信息显示界面”的界面交互代码RegisterokActivity.java,该程序实现用户信息显示。关键代码如下:

public class RegisterOk extends AppCompatActivity {private TextView tv_name, tv_password,tv_sex,tv_st,tv_hobby;private Button return_but;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.register_ok);tv_name = (TextView) findViewById(R.id.tV1);tv_password = (TextView) findViewById(R.id.tV2);tv_sex = (TextView) findViewById(R.id.tV3);tv_st = (TextView) findViewById(R.id.tV5);tv_hobby = (TextView) findViewById(R.id.tV4);return_but = (Button) findViewById(R.id.but);Intent intent = getIntent();String name = intent.getStringExtra("name");String password = intent.getStringExtra("password");String s = intent.getStringExtra("s");String id = intent.getStringExtra("stuta");String hobby = intent.getStringExtra("hobby");tv_name.setText("用户名:" + name);tv_password.setText("密   码:" + password);tv_sex.setText("性   别:" + s);tv_st.setText("身   份:" + id);tv_hobby.setText("爱好:" + hobby);}
public void click(View view){finish();/*Intent intent1=new Intent(this,Register.class);startActivity(intent1);*/
}
}

(3)创建“登录成功”程序
创建一个名为“注册页面”的布局文件,该文件用于展示登录信息。程序界面如下图所示:

创建“登录成功页面”的界面交互代码Activity1.java,该程序实现用户信息显示。关键代码如下:

public class LoginOk extends AppCompatActivity {/** Called when the activity is first created. */private TextView result1;    @Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.login_ok);result1=(TextView)this.findViewById(R.id.textView1);
}
public void click(View v){Intent intent=new Intent();intent.setAction("android.intent.action.VIEW");intent.setData(Uri.parse("http://www.baidu.com"));startActivity(intent);
}
}

用户界面设计实验指导书相关推荐

  1. Oracle数据库的乘号是什么,(Oracle数据库设计实验指导书yk.doc

    (Oracle数据库设计实验指导书yk Oracle数据库设计实验指导书 <Oracle 数据库设计>课程实验 一.本实验课在培养实验能力中的地位及作用 Oracle 数据库设计是软件工程 ...

  2. 查询日历的综合性C语言程序的设计,C语言程序设计实验指导书060522.doc

    <C语言程序设计>实验指导书 课程编号:142003 课程名称:C语言程序设计 适应专业: 安全防范.计算机侦查专业必修课,交通管理专业选修课 课程类别:专业必修课 实验教学种类:课程内实 ...

  3. 基于linux的地震数据处理软件的设计与实现,地震数据处理软件系统与应用实验指导书...

    <地震数据处理软件系统与应用实验指导书>由会员分享,可在线阅读,更多相关<地震数据处理软件系统与应用实验指导书(14页珍藏版)>请在人人文库网上搜索. 1.地震数据处理软件系统 ...

  4. 计算机组成原理汇编语言设计实验,《计算机组成原理汇编语言程序设计》实验指导书.doc...

    <计算机组成原理汇编语言程序设计>实验指导书,汇编语言实验指导书,微机原理与汇编语言,微机原理及汇编语言,汇编转c语言原理,汇编语言原理,汇编语言和编译原理,汇编语言编译原理,计算机原理与 ...

  5. 《数据库原理实验指导书》

    <数据库原理实验指导书> 河南科技大学软件学院 目录 实验规则 基本实验方法 实验环境 实验一 数据定义 实验二 数据更新 实验三 数据查询-简单查询和连接查询 实验四 数据查询-分组查询 ...

  6. 南航计算机硬件实验,南航80X86微机原理及接口技术实验指导书.pdf

    80X86 微机原理及接口技术实验 指导书 卓然 编著 2015-3-1 序 错误!未定义书签. 第一章 TD-PIT++实验系统简介 3 1. 概述 3 2. 系统总线电路单元 5 3. 接口实验单 ...

  7. 计算机操作系统32,计算机操作系统实验指导书32138

    计算机操作系统实验指导书32138 (22页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 <计算机操作系统>实验指导书程科白素 ...

  8. 数据结构实验指导书(朱素英)

    < - 数据结构 -> 实验指导书朱素英 编 写适用专业: 计算机科学与技术 计算机网络工程 湖南人文科技学院计算机科学技术系 2008 年 8 月前 言<数据结构>课程是计算 ...

  9. Android技术应用实验指导书,Android应用开发实验指导书

    第 1 页手机应用开发实验指导书西南科技大学计算机科学与技术学院2015.11第 2 页目录手机应用开发 .1实验指导书 .1实验一:搭建 Android开发平台和创建 HelloWorld程序 .- ...

  10. 基于MATLAB的信号与系统实验指导,《信号与系统及MATLAB实现》实验指导书

    内容简介: <信号与系统及MATLAB实现>实验指导书 前 言 长期以来,<信号与系统>课程一直采用单一理论教学方式,同学们依靠做习题来巩固和理解教学内容,虽然手工演算训练了计 ...

最新文章

  1. 深度剖析 浮点型 在内存中的存储【C语言】
  2. linux系统怎么关闭usb端口,linux系统挂载以及卸载USB接口的设备的解决办法
  3. python3高级语法:__slots__属性、property装饰器、上下文管理协议、__new__方法
  4. Azure Backup和Azure Site Recovery的区别是什么
  5. linuv创建文件的命令_ECS实践案例丨逻辑卷的创建和扩容操作指导
  6. MFC显示JPG、JIF图片
  7. 揭秘!业界创新的代码仓库加密技术
  8. 训练日志 2019.7.23
  9. java jdbc封装_JDBC封装-Java(新手)
  10. 浏览器禁用Cookie,基于Cookie的会话跟踪机制失效的解决的方法
  11. 产品经理学习笔记(二)-------------------商业模式和商业模式画布
  12. php smarty extends,php封装的smarty类完整实例
  13. 极客”一词,来自于美国俚语“geek”的音译,一般理解为性格古怪的人
  14. 计算机国培培训总结,国培培训总结范文(精选5篇)
  15. 静态页面 常见问题 margin-top塌陷、padding把盒子撑大
  16. 在mac上通过Homebrew安装redis
  17. uniapp APP 端 WebSocket 使用,实现一个简单 WebSocket 工具类
  18. 线束音视频传输连接器FAKRA与HSD区别?
  19. 记录一些之前学的APPUI设计知识
  20. 5月24日到5月30日

热门文章

  1. python计算黑白图像像素值
  2. 计算机等级考试无纸化模拟软件(免费版)
  3. 无纸化办公软件app 快用这款科学处理办公事宜的便签
  4. 知网查重提交论文显示服务器错误,职称论文在进行知网查重时,经常出现的错误有哪些?...
  5. 飞鹅打印机远程打印订单
  6. igbt原理动画演示视频_igbt的结构原理与特性图解
  7. 民警使用计算机应当遵守哪些保密规定,公安民警保密责任书
  8. 如何制作图书专用标签
  9. 数据库升级造成的X_$BH状态异常问题
  10. go语言两个json对比