android Intent <初步进入intent>

在一个项目之中,会由多个Activity程序所组成,那么此时,这多个Activity程序之间就需要进行通讯,而这之间的通讯就依靠Intent完成。
Activity程序支持的Intent操作方法
No.
方法
类型
描述
1
public void startActivity(Intent intent)
普通
启动一个Activity,并通过Intent传送数据
2
public void startActivityForResult(Intent intent, int requestCode)
普通
启动并接收另一个Activity程序回传数据,当requestCode大于0才可以触发onActivityResult()
3
public Intent getIntent()
普通
返回启动当前Activity程序的Intent
4
protected void onActivityResult(int requestCode, int resultCode, Intent data)
普通
当需要接收Intent回传数据的时候覆写此方法对回传操作进行处理
5
public void finish()
普通
调用此方法会返回之前的Activity程序,并自动调用onActivityResult()方法
6
public final Cursor managedQuery (Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)
普通
处理返回的Cursor结果集
XML配置文件盒JAVA文件如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:id="@+id/MyLayout" 			?	布局管理器ID
	android:orientation="vertical"			?	所有组件垂直摆放
	android:layout_width="fill_parent" 			?	布局管理器宽度为屏幕宽度
	android:layout_height="fill_parent">		?	布局管理器高度为屏幕高度
	<Button					?	定义按钮组件
		android:id="@+id/mybut"			?	组件ID,程序中使用
		android:layout_width="wrap_content"		?	组件宽度为文字宽度
		android:layout_height="wrap_content"		?	组件高度为文字高度
		android:text="按我将跳转到另一个Activity程序"/>	?	默认显示文字
	<TextView					?	文本显示组件
		android:id="@+id/msg"			?	组件ID,程序中使用
		android:layout_width="wrap_content"		?	组件宽度为文字宽度
		android:layout_height="wrap_content"/>		?	组件高度为文字高度
</LinearLayout>

public class Send extends Activity {
	private Button mybut = null ;			// 按钮组件
	private TextView msg = null ;			// 文本组件
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		super.setContentView(R.layout.send_main);		// 默认布局管理器
		this.mybut = (Button) super.findViewById(R.id.mybut) ;	// 取得组件
		this.msg = (TextView) super.findViewById(R.id.msg) ;	// 取得组件
		this.mybut.setOnClickListener(new OnClickListenerImpl());	// 定义单击事件
	}
	private class OnClickListenerImpl implements OnClickListener {
		@Override
		public void onClick(View view) {
			Intent it = new Intent(Send.this, Receive.class);	// 实例化Intent
			it.putExtra("myinfo", "北京魔乐科技软件学院(www.mldnjava.cn)") ;	// 附加信息
			Send.this.startActivityForResult(it, 1);		// 启动Activity
		}
	}
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		switch (resultCode) {			// 判断操作类型
		case RESULT_OK:			// 成功操作
			msg.setText("返回的内容是:" + data.getStringExtra("retmsg"));
			break;
		case RESULT_CANCELED:			// 取消操作
			msg.setText("操作取消。");
			break ;
		default:
			break;
		}
	}
}



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:id="@+id/MyLayout" 			?	布局管理器ID,程序中使用
	android:orientation="vertical"			?	所有组件垂直摆放
	android:layout_width="fill_parent" 		?	此布局管理器宽度为屏幕宽度
	android:layout_height="fill_parent">		?	此布局管理器高度为屏幕高度
	<TextView				?	定义文本显示组件
		android:id="@+id/show"			?	组件ID,程序中使用
		android:layout_width="wrap_content"		?	组件宽度为文字宽度
		android:layout_height="wrap_content"/>	?	组件高度为文字高度
	<Button				?	定义按钮组件
		android:id="@+id/retbut"		?	组件ID,程序中使用
		android:layout_width="wrap_content"		?	组件宽度为文字宽度
		android:layout_height="wrap_content"	?	组件高度为文字高度
		android:text="返回数据到Send。"/>		?	默认显示文字
</LinearLayout>


public class Receive extends Activity {
	private TextView show = null ;		// 文本显示组件
	private Button retbut = null ;		// 按钮组件
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		super.setContentView(R.layout.receive_main);	// 调用默认布局管理器
		this.show = (TextView) super.findViewById(R.id.show) ;// 取得组件
		this.retbut = (Button) super.findViewById(R.id.retbut) ;// 取得组件
		Intent it = super.getIntent() ;		// 取得启动此程序的Intent
		String info = it.getStringExtra("myinfo") ;	// 取得设置的附加信息
		this.show.setText(info) ;			// 设置文本显示信息
		this.retbut.setOnClickListener(new OnClickListenerImpl()) ;	// 设置监听
	}
	private class OnClickListenerImpl implements OnClickListener {
		@Override
		public void onClick(View view) {
			Receive.this.getIntent().putExtra("retmsg", "老师:李兴华") ;// 返回信息
			// 设置返回数据的状态,RESULT_OK与Send.java中的onActivityResult()里判断的对应
			Receive.this.setResult(RESULT_OK, Receive.this.getIntent()) ;
			Receive.this.finish() ;		// 结束Intent
		}
	}
}




android Intent <初步进入intent>,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。