启动另一个Activity并利用Intent传输数据

      这个demo演示如何从一个Activity中创建另一个Avtivity,并通过Intent传递数据。Activity的状态很多,需要注意的有以下三个:

1:Resumed状态:Activity处于运行状态;
2:Paused状态:另一个Activity位于前端,但本Activity还可见;
3:Stopped状态:另一个Activity位于前端,完全遮挡本Activity;

      demo:下载地址

      运行截图:



源代码如下

源Activity:

package com.bobo.studynew_2_1;

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;

public class MainActivity extends Activity implements OnClickListener{
	Button but;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		but=(Button)findViewById(R.id.but);
		but.setOnClickListener(this);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		int id = item.getItemId();
		if (id == R.id.action_settings) {
			return true;
		}
		return super.onOptionsItemSelected(item);
	}

	@Override
	//启动一个新的Activity
	public void onClick(View v) {
		Intent intent=new Intent();
		intent.setClass(this,SecondActivity.class);//(主启动Activity的对象,被启动Activity的对象)
		intent.putExtra("com.bobo.studynew_2_1.Age", 25);//传送的键值对数据(键值名,数值)
		startActivity(intent);
	}
}

目标Activity:

//1:继承Activity
//2:复写onCreat方法添加布局文件
//3:在Manifest文件中注册
package com.bobo.studynew_2_1;

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

public class SecondActivity extends Activity{
	TextView text;
	
	//第一次创建此Activity时调用
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.second);//为此Activity添加布局文件
		
		//取得传送过来的键值对数据,注意getIntExtra()方法根据传送数据不同而不同
		Intent intent=getIntent();
		int age=intent.getIntExtra("com.bobo.studynew_2_1.Age", 18);//(键值名,默认键值)
		
		text=(TextView)findViewById(R.id.secondText);
		text.setText("岁数为:"+age);
	}
	
	//此Activity变得可见时调用
	protected void onStart() {
		super.onStart();
	}
	
	//此Activity准备与用户交互时调用
	protected void onResume() {
		super.onResume();
	}
	
	//系统启动另一个Activity之前调用
	protected void onPause() {
		super.onPause();
	}
	
	//此Activity变得不可见时调用
	protected void onStop() {
		super.onStop();
	}
	
	//此Activity再次启动前调用
	protected void onRestart() {
		super.onRestart();
	}
	
	//此Activity被销毁前调用
	protected void onDestroy() {
		super.onDestroy();
	}

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值