移动开发技术(Android)——实验3 Android常用基本控件(一)

移动开发技术(Android)——实验3 Android常用基本控件(一)

一、实验目的

  1. 掌握在XML文件中添加控件的语法格式;
  2. 掌握控件的常用通用属性;
  3. 掌握Java代码中获取控件的方法;
  4. 熟悉文本框、编辑框、普通按钮和图片按钮的常用属性和方法。
  5. 掌握Button和ImageButton点击事件实现的几种方式。
  6. 熟悉Toast的使用。

二、实验内容

1.信息登记

创建一个Android项目,项目名称为“shiyan0301_信息登记_学生姓名”,要求:

  • 界面构成:7个文本框分别用于显示学生学号、姓名、性别,出生年月、专业班级、电子邮箱和登记信息;6个编辑框,分别用于输入学生学号、姓名、性别,出生年月、专业班级、电子邮箱;两个普通按钮“登记”和“重置”。
  • 程序功能
    ①单击“登记”按钮时,将用户输入的信息显示在一个登记信息文本框中;
    ②单击“重置”按钮时,清空编辑框中输入的信息。
布局xml代码.......................................

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" 
    android:columnCount="3">

    <TextView
        android:id="@+id/num_TV"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="学号" />
    <EditText 
        android:id="@+id/num_ET"
        android:layout_columnSpan="2"
        android:layout_gravity="fill_horizontal"
        android:layout_height="wrap_content"/>
    
    <TextView
        android:id="@+id/name_TV"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="姓名" />
    <EditText 
        android:id="@+id/name_ET"
        android:layout_columnSpan="2"
        android:layout_gravity="fill_horizontal"
        android:layout_height="wrap_content"/>
    
    <TextView
        android:id="@+id/sex_TV"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="性别" />
    <EditText 
        android:id="@+id/sex_EV"
        android:layout_columnSpan="2"
        android:layout_gravity="fill_horizontal"
        android:layout_height="wrap_content"/>
    
    <TextView
        android:id="@+id/birthday_TV"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="出生年月" />
    <EditText 
        android:id="@+id/birthday_EV"
        android:layout_columnSpan="2"
        android:layout_gravity="fill_horizontal"
        android:layout_height="wrap_content"/>
    
    <TextView
        android:id="@+id/class_TV"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="专业班级" />
    <EditText 
        android:id="@+id/class_EV"
       android:layout_columnSpan="2"
        android:layout_gravity="fill_horizontal"
        android:layout_height="wrap_content"/>
    
    <TextView
        android:id="@+id/mail_TV"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="电子邮箱" />
    <EditText 
        android:id="@+id/mail_EV"
        android:layout_columnSpan="2"
        android:autoLink="email"
        android:layout_gravity="fill_horizontal"
        android:layout_height="wrap_content"/>
    
    <TextView
        android:id="@+id/information_TV"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="登记信息" />
    <EditText 
        android:id="@+id/information_EV"
        android:layout_columnSpan="2"
        android:layout_gravity="fill_horizontal"
        android:layout_height="wrap_content"/>
    <Button 
        android:id="@+id/register_BT"
        android:text="登记"
        android:layout_width="wrap_content"/>
    <Button 
        android:id="@+id/request_BT"
        android:text="重置"
        android:layout_width="wrap_content"/>
</GridLayout>
JAVA代码.......................................

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {

	EditText num,name,sex,birthday,department,mail,information;
	Button register,request;
	String String_num,String_name,String_sex,String_birthday,String_department,String_mail,String_information;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		num=(EditText) findViewById(R.id.num_ET);
		name=(EditText) findViewById(R.id.name_ET);
		sex=(EditText) findViewById(R.id.sex_EV);
		birthday=(EditText) findViewById(R.id.birthday_EV);
		department=(EditText) findViewById(R.id.class_EV);
		mail=(EditText) findViewById(R.id.mail_EV);
		information=(EditText) findViewById(R.id.information_EV);

		register=(Button) findViewById(R.id.register_BT);
		request=(Button) findViewById(R.id.request_BT);

		register.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				String_num=num.getText().toString();
				String_name=name.getText().toString();
				String_sex=sex.getText().toString();
				String_birthday=birthday.getText().toString();
				String_department=department.getText().toString();
				String_mail=mail.getText().toString();

				information.setText(String_num+" "+String_name+" "+String_sex+" "+String_birthday+" "+String_department+" "+String_mail);
			}
		});


		request.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				num.setText("");
				name.setText("");
				sex.setText("");
				birthday.setText("");
				department.setText("");
				mail.setText("");
				information.setText("");
			}
		});
	}

	@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;
	}
}

2.用户登录

创建一个Android项目,项目名称为“shiyan0302_用户登录_学生姓名”,要求:

  • 界面构成:2个文本框,分别用来显示“用户名:”、“密码:”;2个编辑框,分别用来输入用户名和密码信息,要求密码不能以明文方式显示;1个普通按钮“登录”。
  • 程序功能:单击“登录”按钮时,应实现以下功能:
    ①判断用户名和密码输入不为空,若为空,则给出Toast提示信息;
    ②若用户名为学生自己的姓名,且密码为学生学号,则给出Toast提示信息“登录成功!”
    ③若用户名不是学生自己的姓名,或密码不是学生自己的学号,则给出Toast提示信息“用户名或密码错误”,并将编辑框清空。
    ④若输入错误次数超过3次,则退出程序。(提示,使用finish()方法)
布局xml代码.......................................

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="fill"
    android:columnCount="2"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:stretchColumns="1"
    tools:context=".MainActivity" >

    <TableRow>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="用户名" />
        <EditText
            android:id="@+id/userName_ET"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </TableRow>

    <TableRow>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="密    码" />
        <EditText
            android:id="@+id/passWord_ET"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textPassword" />
    </TableRow>

    <Button
        android:id="@+id/login_BT"
        android:text="登录" />

    <TextView
        android:text="用户名:180000,密码:0302"
        android:textSize="20sp" />

</TableLayout>
JAVA代码.......................................

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

	EditText userName,passWord;
	Button login;
	String userName_St,passWord_St;
	int num=0;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		userName=(EditText) findViewById(R.id.userName_ET);
		passWord=(EditText) findViewById(R.id.passWord_ET);
		login=(Button) findViewById(R.id.login_BT);

		login.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				num++;
				userName_St=userName.getText().toString();
				passWord_St=passWord.getText().toString();

				if(userName_St.isEmpty()||passWord_St.isEmpty()){
					Toast toast = Toast.makeText(MainActivity.this, "用户名或密码不能为空", Toast.LENGTH_SHORT);
					toast.show();
					if(num>3){
						num=0;
						finish();
					}
				}else if(userName_St.equals("180000")&&passWord_St.equals("0302")){
					Toast toast = Toast.makeText(MainActivity.this, "登录成功", Toast.LENGTH_SHORT);
					toast.show();
					num=0;

				}else{
					Toast toast = Toast.makeText(MainActivity.this, "用户名或密码错误", Toast.LENGTH_SHORT);
					toast.show();
					if(num>3){
						num=0;
						finish();
					}
				}
			}
		});

	}

	@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;
	}
}

3.简易计算器

创建一个Android项目,项目名称为“shiyan0303_简易计算器_学生姓名”,要求:

  • 界面构成:3个文本框,分别用来显示“运算数一”、“运算数二”、“计算结果”;2个编辑框,分别用来输入两个运算数;4个普通按钮“加”、“减”、“乘”、“除”。
  • 程序功能:单击“加”、“减”、“乘”、“除”按钮时,实现两个运算数的相应数学运算,并将结果显示在“计算结果”文本框中。
布局xml代码.......................................

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:columnCount="2"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/num1_TV"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="运算数一" />

    <EditText
        android:id="@+id/num1_ET"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/num2_TV"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="运算数二" />

    <EditText
        android:id="@+id/num2_ET"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/outcome_TV"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_columnSpan="2"
        android:gravity="center_horizontal"
        android:text="计算结果"
        android:textSize="25dp" />

    <Button
        android:id="@+id/add_BT"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="" />

    <Button
        android:id="@+id/sub_BT"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="" />

    <Button
        android:id="@+id/mul_BT"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="" />

    <Button
        android:id="@+id/div_BT"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="" />

</GridLayout>
JAVA代码.......................................

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {

	TextView outcome;
	EditText num1,num2;
	Button add,sub,mul,div;
	double d1,d2;
	String num11,num22;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		num1=(EditText) findViewById(R.id.num1_ET);
		num2=(EditText) findViewById(R.id.num2_ET);
		outcome=(TextView) findViewById(R.id.outcome_TV);
		add=(Button) findViewById(R.id.add_BT);
		sub=(Button) findViewById(R.id.sub_BT);
		mul=(Button) findViewById(R.id.mul_BT);
		div=(Button) findViewById(R.id.div_BT);

		add.setOnClickListener(new OnListener());
		sub.setOnClickListener(new OnListener());
		mul.setOnClickListener(new OnListener());
		div.setOnClickListener(new OnListener());

	}


	@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;
	}


	class OnListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub

			num11=num1.getText().toString();

			d1 = Double.parseDouble(num11);
			num22=num2.getText().toString();
			d2 = Double.parseDouble(num22);

			if(v.getId()==R.id.add_BT){
				double all=d1+d2;
				outcome.setText(all+"");
			}else if(v.getId()==R.id.sub_BT){
				double all=d1-d2;
				outcome.setText(all+"");
			}else if(v.getId()==R.id.mul_BT){
				double all=d1*d2;
				outcome.setText(all+"");
			}else if(v.getId()==R.id.div_BT){
				double all=d1/d2;
				outcome.setText(all+"");
			}else{

			}
		}
	}
}

4.三角形

创建一个Android项目,项目名称为“shiyan0304_三角形_学生姓名”,要求:

  • 界面构成:3个文本框,分别用来显示“边A”、“边B”、“边C”;3个编辑框,分别用来输入三角形的三边;3个普通按钮“计算周长”、“计算面积”、“重置”。
  • 程序功能
    ①单击“计算周长”按钮时,将三角形的周长显示在Toast提示中;
    ②单击“计算面积”按钮时,将三角形的周长显示在Toast提示中;
    ③单击“重置”按钮,清空编辑框中输入的信息。
布局xml代码.......................................

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:columnCount="3"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|center_horizontal"
        android:text="边A" />

    <EditText
        android:id="@+id/A"
        android:layout_columnSpan="2"
        android:layout_gravity="fill_horizontal" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|center_horizontal"
        android:text="边B" />

    <EditText
        android:id="@+id/B"
        android:layout_columnSpan="2"
        android:layout_gravity="fill_horizontal" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|center_horizontal"
        android:text="边C" />

    <EditText
        android:id="@+id/C"
        android:layout_columnSpan="2"
        android:layout_gravity="fill_horizontal" />

    <Button
        android:id="@+id/reset"
        android:layout_width="wrap_content"
        android:onClick="resetClick"
        android:text="重置" />

    <Button
        android:id="@+id/circumference"
        android:layout_width="wrap_content"
        android:onClick="circumferenceClick"
        android:text="计算周长" />

    <Button
        android:id="@+id/area"
        android:layout_width="wrap_content"
        android:onClick="areaClick"
        android:text="计算面积" />

</GridLayout>
JAVA代码.......................................

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

	EditText A,B,C;
	Button reset,circumference,area;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		A=(EditText) findViewById(R.id.A);
		B=(EditText) findViewById(R.id.B);
		C=(EditText) findViewById(R.id.C);
		reset=(Button) findViewById(R.id.reset);
		circumference=(Button) findViewById(R.id.circumference);
		area=(Button) findViewById(R.id.area);
	}

	public void resetClick(View view){
		A.setText("");
		B.setText("");
		C.setText("");
		Toast toast = Toast.makeText(MainActivity.this,"已清空", Toast.LENGTH_SHORT);
		toast.show();
	}

	public void circumferenceClick(View view){
		String sideA=A.getText().toString();
		String sideB=B.getText().toString();
		String sideC=C.getText().toString();

		double sA=Double.parseDouble(sideA);
		double sB=Double.parseDouble(sideB);
		double sC=Double.parseDouble(sideC);



		Toast toast = Toast.makeText(MainActivity.this,sA+sB+sC+"", Toast.LENGTH_SHORT);
		toast.show();
	}

	public void areaClick(View view){
		String sideA=A.getText().toString();
		String sideB=B.getText().toString();
		String sideC=C.getText().toString();

		double sA=Double.parseDouble(sideA);
		double sB=Double.parseDouble(sideB);
		double sC=Double.parseDouble(sideC);

		double p=(sA+sB+sC)/2;
		double s=Math.sqrt(p*(p-sA)*(p-sB)*(p-sC));

		Toast toast = Toast.makeText(MainActivity.this,s+"", Toast.LENGTH_SHORT);
		toast.show();
	}

	@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;
	}
}
移动开发技术Android)——实验1Android开发环境搭建及简单程序实现 移动开发技术Android)——实验1 Android开发环境搭建及简单程序实现 ⼀、实验⽬的 1.熟练掌握Android开发环境搭建步骤; 2.掌握Android应⽤程序开发的基本步骤; 3.掌握Android应⽤程序结构。 ⼆、实验内容 1.Android开发环境搭建,要求: (1)将服务器上的相关开发包下载到本机。 (2)按照步骤搭建Android开发环境。 (3)实验报告中要求⽤语⾔描述具体的搭建步骤,并附以截图做辅助说明。 2.创建⼀个Android项⽬,项⽬名称为"shiyan0101_⾃我介绍",要求: (1)界⾯构成:⾄少5个⽂本框,分别⽤于显⽰学⽣的姓名、性别、出⽣年⽉、专业班级、爱好等内容。 (2)实验报告中要求⽤语⾔描述具体的实验步骤,并附以截图做辅助说明。 3.创建⼀个Android项⽬,项⽬名称为"shiyan0102_⽤户登录",要求: (1)界⾯构成:2个⽂本框,分别⽤于显⽰"⽤户名:"、"密码",2个编辑框⽤户接收输⼊的⽤户名和密码,1个按钮,⽂本显⽰"登 录"。 (2)实验报告中要求⽤语⾔描述具体的实验步骤,并附以截图做辅助说明。 三、实验过程 1.⾸先解压缩eclipse⾄D盘,然后在eclipse⽂件夹下的dropins⽂件⾥创建⼀个名为ADT的⽂件夹,将ADT-22.0.5压缩包中的features和 plugins复制到ADT中。 打开eclipse,选择菜单栏Window—>preferences—>在弹出的页⾯中选择Android选项—>SDK Location—>在右侧单击Browse按钮, 浏览到之前解压的SDK根⽬录,并单击"确定"按钮,然后再单击Apply和OK按钮。 2.创建⼀个Android项⽬,项⽬名称为"shiyan0101_⾃我介绍",要求: 界⾯构成:⾄少5个⽂本框,分别⽤于显⽰学⽣的姓名、性别、出⽣年⽉、专业班级、爱好等内容。 (1)在eclipse中创建⼀个Android Application Project,项⽬名称:shiyan0101_⾃我介绍 (2)在XML⽂件的GraphicLayout中⽤⿏标拖动5个TextView控件,分别设置text内容分别为name、sex、Birthday、Depertmant、 Hobby;⽤⿏标拖动5个EditText空间,分别放于5个TextView控件的后⾯。 (3)运⾏run——Andorid Application,程序结果截图如下 3.创建⼀个Android项⽬,项⽬名称为"shiyan0102_⽤户登录",要求: 界⾯构成:2个⽂本框,分别⽤于显⽰"⽤户名:"、"密码",2个编辑框⽤户接收输⼊的⽤户名和密码,1个按钮,⽂本显⽰"登录"。 (1)在ECLIPSE中创建⼀个Android Application Project,项⽬名称:shiyan0102_⽤户登录 (2)在XML⽂件的GraphicLayout中⽤⿏标拖动2个TextView控件,分别设置text内容分别为⽤户名、密码;⽤⿏标拖动2个EditText空 间,分别放于前两个个TextView控件的后⾯;⽤⿏标拖动⼀个button放于前者的下⾯,设置text内容为登陆。 (3)运⾏run——Andorid Application,程序结果截图如下。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值