安卓Intent(显式)

    1、Intent是Android程序中各组件之间交互的重要方式,一般可用于启动活动、启动服务、以及发送广播等场景,这里先对活动进行说明Intent的一些作用。

    2、Intent的用法大致可分为,显式Intent和隐式Intent,本文针对显示的Intent进行简单的说明。

    3、Intent有多个构造函数的重载,其中一个是Intent(Context packageContext,Class<?>cls)。这个构造函数有两个参数,第一个参数Context要求提供一个启动活动的上下文,第二个参数Class则是制定要启动的目标活动。通过这个构造函数可以构建出Intent的意图,然后用Activity类中提供了一个startActivity()的方法。举例如下:

新建项目myIntent,添加secondActivity类,里面添加代码:

public class secondActivity extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.two_activity);
	}

}

 同时添加一个two_activity.xml文件。添加一个一个按钮,

 <Button 
        android:id="@+id/button2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Welcome"/>
    

在activity_main.xml添加一个跳转按钮:

    <Button 
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Click me"/>

 最后在MainActivity.java中添加单击setOnClickListener()方法:

public class MainActivity extends Activity {
	
	private Button btn1;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		btn1=(Button)findViewById(R.id.button1);
		btn1.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
			Intent intent=new Intent(MainActivity.this,secondActivity.class);
			startActivity(intent);
			}
		});
	}

	
}

   这时候在手机上查看应用会发现无法跳转到第二个活动,问题在于,每一个活动都需要在AndroidManifest.xml中进行注册,在AndroidManifest.xml的<application></application>添加<activity android:name=".secondActivity"></activity>保存后继续运行即可。

 

posted @ 2016-05-11 15:35  zwy_net  阅读(194)  评论(0编辑  收藏  举报