Android学习笔记03

Mars老师Android视频教程06讲,常见控件的学习


1、 新建一个Android项目  

2、 在布局文件中依次添加EditText、TextView、EditText、Button,一定要按照界面上控件显示的顺序在布局文件中添加  

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <EditText
        android:id="@+id/factor1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="" />

    <TextView
        android:id="@+id/symbol"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    <EditText
        android:id="@+id/factor2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="" />

    <Button
        android:id="@+id/calculate"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</LinearLayout>


3、 再新建一个布局文件用来显示计算的结果,在这个布局文件中添加一个LinearLayout和一个TextView默认的布局文件中默认就有一个LinearLayout,所以不需要手动添加新建的布局文件默认为空,所以需要手动添加,

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >


    <TextView
        android:id="@+id/result"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</LinearLayout>


4、 编写第一个Activity  

a) 让Activity继承android的Activity  

b) 重写Activity的onCreate()方法  

c) 设置这个Activity的布局文件  

d) 根据控件id获得控件对象  

e) 设置控件的值这个值引用的是string.xml中的值所以还需要在string.xml文件中设置最好是使用string.xml中的值以便实现国际化这个在布局文件中也能设置  

<resources>

    <string name="app_name">Activity03</string>
    <string name="hello_world">Hello world!</string>
    <string name="menu_settings">Settings</string>
    <string name="title_activity_activity03">Activity03</string>
	<string name="title_activity_result">result</string>
	<string name="symbol">乘以</string>
	<string name="calculate">计算</string>
	<string name="factor1hint">乘数一</string>
	<string name="factor2hint">乘数二</string>
	<string name="exit">退出</string>
	<string name="about">关于</string>
</resources>



package fengda.activity03;

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

public class Activity03 extends Activity {
	private EditText factor1 = null;
	private TextView symbol = null;
	private EditText factor2 = null;
	private Button calculate = null;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_activity03);
        
        factor1 = (EditText) findViewById(R.id.factor1);
		factor1.setHint(R.string.factor1hint);
		
        factor2 = (EditText) findViewById(R.id.factor2);
        factor2.setHint(R.string.factor2hint);
        
        symbol = (TextView) findViewById(R.id.symbol);
        symbol.setText(R.string.symbol);
        
        calculate = (Button) findViewById(R.id.calculate);
        calculate.setText(R.string.calculate);
        calculate.setOnClickListener( new CalculateListener());
    }
    class CalculateListener implements OnClickListener {

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			Intent intent = new Intent();
			factor1 = (EditText) findViewById(R.id.factor1);
			factor2 = (EditText) findViewById(R.id.factor2);
			intent.putExtra("factor1", factor1.getText().toString());
			intent.putExtra("factor2", factor2.getText().toString());
			intent.setClass(Activity03.this, Result.class);
			Activity03.this.startActivity(intent);
		}
		
	}

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    	
    	menu.add(0, 1, 1, R.string.exit);
    	menu.add(0, 2, 2, R.string.about);
    	
        //getMenuInflater().inflate(R.menu.activity_activity03, menu);
        return true;
    }

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		if (item.getItemId()==1){
			finish();
		}
		// TODO Auto-generated method stub
		return super.onOptionsItemSelected(item);
	}
    
    
}


5、 新建一个Activity——ResultActivity  

a) 让Activity继承android的Activity  

b) 重写Activity的onCreate()方法  

c) 设置这个Activity的布局文件  

d) 根据控件id获得控件对象  

package fengda.activity03;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

public class Result extends Activity {
	
	private TextView result = null;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_result);
		
		Intent intent = getIntent();
		result = (TextView) findViewById(R.id.result);
		
		int factor1 = Integer.parseInt( intent.getStringExtra("factor1") );
		int factor2 = Integer.parseInt( intent.getStringExtra("factor2") );
		int r = factor1 * factor2;
		result.setText("结果:" + r);
	}
	
	
}


6、 在第一个Activity中编写Button的监听器

a) 取得两个EditText控件的值 

b) 创建Intent对象  

c) 将这两个值存放到Intent对象当中  

d) 使用Intent对象启用ResultActivity  

e) 将监听器与Button绑定  

7、 在第二个ActivityResultActivity中获得Intent对象  

a) 获得Intent对象中保存的值并强制转换成int类型  

b) 计算两个值的积  

c) 设置控件值  

8、 在第一个Activity中重写onCreateOptionsMenu()方法这个方法是用于添加菜单中的菜单项我们添加两个菜单项  9

、 再在第一个Activity中重写onOptionsItemSelected()方法这个方法是当点击菜单中菜单项时调用。判断当点击退出的时候调用finish()方法


最后的运行结果:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值