您好,欢迎来到飒榕旅游知识分享网。
搜索
您的当前位置:首页20120230421-熊锐

20120230421-熊锐

来源:飒榕旅游知识分享网


湖北汽车工业学院 手机应用系统开发实验指导书

班 号 T1323-4班 学 号 20120230421 姓 名 熊锐 实验地点 6教D305机房21号 完成日期 2015 年 3 月 25 日 1、2 节

实验一 UI界面设计

一、实验目的

1.掌握布局管理器的用法 2.掌握基本控件的用法

二、实验要求

1.理解布局管理器相关属性的含义,并熟练使用之 2.熟练使用TextView常用属性 3.熟练使用EditText常用属性

4.熟练使用Button常用属性以及View.OnClickListener监听器的用法

5.熟练使用CheckBox常用属性以及其CompoundButton.OnCheckedChangeListener监听器的用法

6.熟练使用RadioGroup、RadioButton常用属性和RadioGroup.OnCheckedChangeListener监听器的用法

三、实验步骤

1.在Eclips中创建Android应用程序test1,修改其中res/layout目录下的布局文件main.xml,具体代码如下:

xmlns:android=\"http://schemas.android.com/apk/res/android\" xmlns:tools=\"http://schemas.android.com/tools\" android:layout_width=\"fill_parent\" android:layout_height=\"fill_parent\" android:layout_marginLeft=\"10dip\" android:layout_marginRight=\"10dip\"

android:layout_marginTop=\"10dip\" android:orientation=\"vertical\" tools:context=\".MainActivity\" >

android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:text=\"用户名\" />

android:id=\"@+id/main_username\" android:layout_width=\"fill_parent\" android:layout_height=\"50dip\" android:hint=\"请输入用户名:\" />

android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:layout_marginTop=\"10dip\" android:text=\"密码\" />

android:id=\"@+id/main_password\"

android:layout_width=\"fill_parent\" android:layout_height=\"50dip\" android:hint=\"请输入密码:\"

android:inputType=\"numberPassword\" />

android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:layout_marginTop=\"10dip\" android:text=\"性别\" />

android:id=\"@+id/main_radiogroup\" android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:orientation=\"horizontal\" >

android:id=\"@+id/main_radiobutton1\" android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:text=\"男\" />

android:id=\"@+id/main_radiobutton2\" android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:text=\"女\" />

android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:layout_marginTop=\"10dip\" android:text=\"爱好\" />

android:id=\"@+id/main_checkbox1\" android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:text=\"体育\" />

android:id=\"@+id/main_checkbox2\" android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\"

android:text=\"音乐\" />

android:id=\"@+id/main_checkbox3\" android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:text=\"美术\" />

android:id=\"@+id/main_submit\" android:layout_width=\"200dip\" android:layout_height=\"50dip\"

android:layout_gravity=\"center_horizontal\" android:layout_marginTop=\"10dip\" android:text=\"提交\" />

2.在src目录下的Activity类中,添加如下代码:

package com.example.ui_design;

import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.text.Editable;

import android.view.Menu; import android.view.View;

import android.view.View.OnClickListener; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.RadioButton; import android.widget.Toast;

public class MainActivity extends Activity { private RadioButton radiobutton1,radiobutton2; private CheckBox checkbox1,checkbox2,checkbox3; private Button submit;

private EditText username,password; private Intent intetn=new Intent();

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

radiobutton1=(RadioButton)this.findViewById(R.id.main_radiobutton1);

radiobutton1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) { Toast.makeText(MainActivity.this, Toast.LENGTH_SHORT).show(); } });

radiobutton2=(RadioButton)this.findViewById(R.id.main_radiobutton2);

radiobutton2.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) { Toast.makeText(MainActivity.this, Toast.LENGTH_SHORT).show(); } });

checkbox1=(CheckBox)this.findViewById(R.id.main_checkbox1); checkbox1.setOnClickListener(new OnClickListener() {

\"

\

\"

\

@Override

public void onClick(View arg0) { Toast.makeText(MainActivity.this, \"

Toast.LENGTH_SHORT).show(); } });

checkbox2=(CheckBox)this.findViewById(R.id.main_checkbox2); checkbox2.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, \"

Toast.LENGTH_SHORT).show(); } });

checkbox3=(CheckBox)this.findViewById(R.id.main_checkbox3); checkbox3.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

\

\

// TODO Auto-generated method stub Toast.makeText(MainActivity.this, Toast.LENGTH_SHORT).show(); } });

submit=(Button)this.findViewById(R.id.main_submit); submit.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) { // TODO Auto-generated method stub String temp=\"\";

temp=temp+username.getText().toString()+\" \"+password.getText().toString()+\" \"; if(checkbox1.isChecked()){

temp=temp+checkbox1.getText().toString()+\" \"; }

if(checkbox2.isChecked()){

temp=temp+checkbox2.getText().toString()+\" \"; }

if(checkbox3.isChecked()){

temp=temp+checkbox3.getText().toString()+\" \"; }

\"

\

if(radiobutton1.isChecked()){

temp=temp+radiobutton1.getText().toString()+\" \"; }

if(radiobutton2.isChecked()){

temp=temp+radiobutton2.getText().toString()+\" \"; }

Toast.makeText(MainActivity.this, Toast.LENGTH_SHORT).show();

intetn.setClass(getApplicationContext(), Login.class); startActivity(intetn); } });

username=(EditText)this.findViewById(R.id.main_username); password=(EditText)this.findViewById(R.id.main_password); }

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu); return true;

temp,

} }

3.程序实现结果

(1)主活动界面如下:

(2)当点击性别按钮时,弹出对应的“男”或“女”。

(3)当选中某个复选框时,弹出对应的复选框文本,如下:

(3)当点击提交按钮时,弹出爱好+性别这些信息,如下:

注意:给出的代码只是将“爱好+性别”信息弹出,请自己将用户名和密码也追加进去,并弹出,即弹出“用户名+密码+爱好+性别”。

4.在Eclips中创建另外Android应用程序test2,修改其中res/layout目录下的布局文件main.xml,采用相对布局管理器进行布局,具体代码如下:

xmlns:android=\"http://schemas.android.com/apk/res/android\" android:layout_width=\"match_parent\" android:layout_height=\"match_parent\" > android:layout_width=\"wrap_content\"

android:layout_height=\"wrap_content\" android:text=\"登陆窗体\" android:textSize=\"20sp\"

android:layout_marginTop=\"10dip\" android:layout_centerHorizontal=\"true\" android:id=\"@+id/login_title\" /> android:layout_width=\"fill_parent\" android:layout_height=\"50dip\" android:layout_marginTop=\"10dip\" android:layout_marginLeft=\"10dip\" android:layout_marginRight=\"10dip\" android:hint=\"用户名\"

android:id=\"@+id/login_username\" android:layout_below=\"@id/login_title\" /> android:layout_width=\"fill_parent\" android:layout_height=\"50dip\" android:layout_marginTop=\"10dip\" android:layout_marginLeft=\"10dip\" android:layout_marginRight=\"10dip\"

android:hint=\"密码\"

android:id=\"@+id/login_password\"

android:layout_below=\"@id/login_username\" android:inputType=\"textPassword\" /> android:layout_width=\"300dip\" android:layout_height=\"50dip\"

android:layout_centerHorizontal=\"true\" android:text=\"登陆\"

android:layout_marginTop=\"10dip\" android:id=\"@+id/login_submit\"

android:layout_below=\"@id/login_password\" />

5. 在src目录下的Activity类中,添加代码,当点击登录按钮时,将用户名和密码信

息弹出。

package com.example.ui_design;

import android.app.Activity; import android.os.Bundle; import android.view.View;

import android.view.View.OnClickListener; import android.widget.Button;

import android.widget.CheckBox; import android.widget.EditText; import android.widget.Toast;

public class Login extends Activity { private Button submit;

private EditText username,password;

@Override

protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.login);

submit=(Button)this.findViewById(R.id.login_submit);

username=(EditText)this.findViewById(R.id.login_username); password=(EditText)this.findViewById(R.id.login_password); submit.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub Toast.makeText(Login.this, \"用户名:\"+username.getText().toString()+\"密码:\"+password.getText().toString(), Toast.LENGTH_SHORT).show(); } }); } }

四、习题

1.Android应用程序中,res目录包含哪些子目录?每个子目录的作用是什么?怎样在Java程序中引用其中的某个图片文件或某个字符串? Drawable-xxx-----------------------------存储各种分辨率的图片 Layout------------------------------------存放布局文件 Values------------------------------------存放常量文件 Menu-------------------------------------界面选项菜单XML文件 通过R文件引用如R.String.xxx、R.drawable.xxx;

2.AndroidManifest.xml中,以下属性表示什么意思?

(1) 声明Activity

(2) 设置Activity的类别

3. 属性gravity与layout_gravity的区别是什么?

Gravity是设置控件的子对象的对其方式,Layout_gravity是设置控件在父元素中的对其方式

4. \"@+id/btn2\"与\"@id/btn2\"的区别是什么? \"@+id/btn2\"是在R文件里面定义一个id \"@id/btn2\"是引用一个已存在的id

五、实验小结

1 编程遇到的问题及解决方案

在实验过程中用智能提示的时候将CheckBox的类型写错了,如下: checkbox3=(Edittext)this.findViewById(R.id.main_checkbox3);

2 实验收获及体会

以前对layout_gravity和gravity的理解不深每次都是慢慢试验

3 不足之处及下一步需改进的地方

命名有待规范。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sarr.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务