第二步:初识android简单程序

Android的界面是由一个个Activity组成的。

 

刚创建一个新的android界面的时候,就会自动创建一个Activity。Activity可以理解成为一个窗体,在上面放一些控件,就可以组成一般的程序了。

 

若想在Activity界面内放控件,必先在项目目录下的  res->layout->内的XML文件里面,一个XML文件可以对应一个Activity,也可以对应多个Activity,可以理解为,layout内的XML文件就是专门管理Activity控件的。

 

XML文件内要注意使用的布局方式,  因为漏掉了一句 android:orientation="vertical" 而导致界面一直不能像自己想象中的那样,故特此标记一下。还有XML文件还可以切换到可视化界面(注:第一次打开时是一个可视化的界面)  刚开始学,还是先用XML的方式来进行布局,可以帮助自己对程序的理解。

 

关于新创建的Activity,新建的方式是 右键包名-->新建类。然后让这个类继承Activity(注:最好使用IDE智能提示,这样会自动import进Activity,然后重写On Create(Bundle) 函数)

新创建好Activity之后,最好也在layout下新建一个与其对应的XML文件,此时新建的XML文件是空白的,可以将第一个XML文件的内容复制过去在修改成自己所需要添加的控件。

 

新建好Activity之后,需要在项目的 AndroidManifest.xml 文件内进行注册,具体方式是在 AndroidManifest.xml下<activity></activity>结点后面添加一对新的<activity></activity>

然后把android:name修改成这个类的路径(注:可以把第一个activity结点的内容复制下来,直接根据路径修改成新的activity的路径)

第一对activity结点内会包含一对 <intent-filter></intent-filter>标记,视频没有具体介绍有什么用,只是带有这对结点的<activity></activity>(Activity)会被第一个启动。

 

关于Activity之间的通信 ------   Intent

可以在Activity之间进行通信。稍后的一个加法程序内代码里面具体体现。

 

关于按钮事件,在android称为监听器,  要使用内部类来实现OnClickListener接口

 

以下代码是一个简单的加法程序的代码(有布局、按钮监听器、Activity之间的通信)

 

主Activity的相关代码:

 

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
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 {
	
	private EditText firstEditText;
	
	private TextView myTextView;
	
	private EditText secondEditText;

	private Button myButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        firstEditText = (EditText)findViewById(R.id.firstEditText);
        myTextView = (TextView)findViewById(R.id.myTextView);
        myTextView.setText("加上");
        secondEditText = (EditText)findViewById(R.id.secondEditText);
        myButton = (Button)findViewById(R.id.myButton);
        myButton.setText("点击");
        //将按钮和监听事件进行绑定
        myButton.setOnClickListener(new MyButtonListener());
        
    }
    
    //内部类实现按钮事件的监听接口
    class MyButtonListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			String first = firstEditText.getText().toString();
			String second = secondEditText.getText().toString();
			//Activity之间通信---Intent的实例
			Intent intent = new Intent();//新建一个Intent实例
			//Intent提供传递 键-值 对
			intent.putExtra("first", first);
			intent.putExtra("second", second);
			//下面语句可以理解为 将Intent从哪个(第一个参数)Activity中传递到哪个(第二个参数)Activity中
			intent.setClass(MainActivity.this, Result.class);
			//将此Activity选择启动哪个Activity
			MainActivity.this.startActivity(intent);	
		}
    	
    	
    }
    
}


 

主Activity的控件配置XML文件的代码:

<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"
    tools:context=".MainActivity" >

<EditText 
    android:id="@+id/firstEditText"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />
<TextView 
    android:id="@+id/myTextView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />
<EditText 
    android:id="@+id/secondEditText"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />
<Button 
    android:id="@+id/myButton"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />

</LinearLayout>


 

显示结果的Activity的相关代码:

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

public class Result extends Activity{
	
	private TextView myTextView = null;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.result_main);
		myTextView = (TextView)findViewById(R.id.myTextView2);
		//创建一个Intent实例来接收从上一个Activity里接收到的数据
		Intent intent = getIntent();
		//把传过来的 键值对取出来
		String first = intent.getStringExtra("first");
		String second = intent.getStringExtra("second");
		
		int myFirst = Integer.parseInt(first);
		int mySecond = Integer.parseInt(second);
		
		myTextView.setText((myFirst+mySecond) + " ");
	}

}


 

显示结果控件配置XML的相关代码:

<LinearLayout 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"
    tools:context=".Result" >

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

</LinearLayout>


 结果如下:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值