展会信息港展会大全

[Android开发学习20]多个Activity间的交互之Intent
来源:互联网   发布日期:2016-01-14 09:30:47   浏览:1346次  

导读:一、基础知识:1.一个Intent对象包含了一组信息:1. Component name 指定启动的Activity2. Action 要做什么3. Data 传送数据4. ...

一、基础知识:

1.一个Intent对象包含了一组信息:

1. Component name 指定启动的Activity

2. Action要做什么

3. Data传送数据

4. Category

5. Extras键值对

6. Flags

2.Intent基本用法:

[java] view plaincopyprint?// 生成一个Intent对象

Intent intent = new Intent();

intent.putExtra("testIntent", "123");// 传递数据

intent.setClass(Activity_02.this, OtherActivity.class); // 指定跳向哪一个Activity(第二个参数)

//Activity_02.this.startActivity(intent);

startActivity(intent);

// 生成一个Intent对象

Intent intent = new Intent();

intent.putExtra("testIntent", "123"); // 传递数据

intent.setClass(Activity_02.this, OtherActivity.class); // 指定跳向哪一个Activity(第二个参数)

//Activity_02.this.startActivity(intent);

startActivity(intent);

[java]

// 接收Intent传过来的数据

Intent intent = getIntent();

String value = intent.getStringExtra("testIntent"); // 接收Intent的数据

myTextView = (TextView)findViewById(R.id.myTextView);

//myTextView.setText(R.string.other);

myTextView.setText(value);

// 接收Intent传过来的数据

Intent intent = getIntent();

String value = intent.getStringExtra("testIntent"); // 接收Intent的数据

myTextView = (TextView)findViewById(R.id.myTextView);

//myTextView.setText(R.string.other);

myTextView.setText(value);

3.按钮事件的注册:

[java]

private Button myButton = null;

myButton = (Button)findViewById(R.id.myButton);

myButton.setOnClickListener(new MyButtonListener());

class MyButtonListener implements OnClickListener{

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

// 生成一个Intent对象

Intent intent = new Intent();

intent.putExtra("testIntent", "123");// 传递数据

intent.setClass(Activity_02.this, OtherActivity.class); // 指定跳向哪一个Activity(第二个参

数)

//Activity_02.this.startActivity(intent);

startActivity(intent);

/*

Uri uri = Uri.parse("smsto:0800000123");

Intent intent = new Intent(Intent.ACTION_SENDTO, uri);

intent.putExtra("sms_body", "The SMS text");

startActivity(intent);

*/

}

}

private Button myButton = null;

myButton = (Button)findViewById(R.id.myButton);

myButton.setOnClickListener(new MyButtonListener());

class MyButtonListener implements OnClickListener{

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

// 生成一个Intent对象

Intent intent = new Intent();

intent.putExtra("testIntent", "123"); // 传递数据

intent.setClass(Activity_02.this, OtherActivity.class); // 指定跳向哪一个Activity(第二个参

数)

//Activity_02.this.startActivity(intent);

startActivity(intent);

/*

Uri uri = Uri.parse("smsto:0800000123");

Intent intent = new Intent(Intent.ACTION_SENDTO, uri);

intent.putExtra("sms_body", "The SMS text");

startActivity(intent);

*/

}

}

二、代码展示:

1."Activity_02\src\yan\activity_02\Activity_02.java"

[java]

package yan.activity_02;

import android.net.Uri;

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;

public class Activity_02 extends Activity {

private Button myButton = null;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_02);

myButton = (Button)findViewById(R.id.myButton);

myButton.setOnClickListener(new MyButtonListener());

}

class MyButtonListener implements OnClickListener{

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

// 生成一个Intent对象

Intent intent = new Intent();

intent.putExtra("testIntent", "123");

intent.setClass(Activity_02.this, OtherActivity.class);

//Activity_02.this.startActivity(intent);

startActivity(intent);

/*

Uri uri = Uri.parse("smsto:0800000123");

Intent intent = new Intent(Intent.ACTION_SENDTO, uri);

intent.putExtra("sms_body", "The SMS text");

startActivity(intent);

*/

}

}

}

package yan.activity_02;

import android.net.Uri;

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;

public class Activity_02 extends Activity {

private Button myButton = null;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_02);

myButton = (Button)findViewById(R.id.myButton);

myButton.setOnClickListener(new MyButtonListener());

}

class MyButtonListener implements OnClickListener{

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

// 生成一个Intent对象

Intent intent = new Intent();

intent.putExtra("testIntent", "123");

intent.setClass(Activity_02.this, OtherActivity.class);

//Activity_02.this.startActivity(intent);

startActivity(intent);

/*

Uri uri = Uri.parse("smsto:0800000123");

Intent intent = new Intent(Intent.ACTION_SENDTO, uri);

intent.putExtra("sms_body", "The SMS text");

startActivity(intent);

*/

}

}

}

2."Activity_02\src\yan\activity_02\OtherActivity.java"

[java]

package yan.activity_02;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.widget.TextView;

public class OtherActivity extends Activity{

private TextView myTextView = null;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.other);

Intent intent = getIntent();

String value = intent.getStringExtra("testIntent");

myTextView = (TextView)findViewById(R.id.myTextView);

//myTextView.setText(R.string.other);

myTextView.setText(value);

}

}

package yan.activity_02;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.widget.TextView;

public class OtherActivity extends Activity{

private TextView myTextView = null;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.other);

Intent intent = getIntent();

String value = intent.getStringExtra("testIntent");

myTextView = (TextView)findViewById(R.id.myTextView);

//myTextView.setText(R.string.other);

myTextView.setText(value);

}

}

3."Activity_02\res\layout\activity_02.xml"

[java]

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

<Button

android:id="@+id/myButton"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

/>

</LinearLayout>

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

<Button

android:id="@+id/myButton"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

/>

</LinearLayout>

4."Activity_02\res\layout\other.xml"

[java]

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

<TextView

android:id="@+id/myTextView"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

/>

</LinearLayout>

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

<TextView

android:id="@+id/myTextView"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

/>

</LinearLayout>

5."Activity_02\res\values\strings.xml"

[java]

<?xml version="1.0" encoding="utf-8"?>

<resources>

<string name="app_name">Activity_02</string>

<string name="hello_world">Hello world!</string>

<string name="menu_settings">Settings</string>

<string name="other">other string</string>

</resources>

<?xml version="1.0" encoding="utf-8"?>

<resources>

<string name="app_name">Activity_02</string>

<string name="hello_world">Hello world!</string>

<string name="menu_settings">Settings</string>

<string name="other">other string</string>

</resources>

6.“Activity_02\AndroidManifest.xml”

[java] view plaincopyprint?<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="yan.activity_02"

android:versionCode="1"

android:versionName="1.0" >

<uses-sdk

android:minSdkVersion="4"

android:targetSdkVersion="4" />

<application

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

<activity

android:name="yan.activity_02.Activity_02"

android:label="@string/app_name" >

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

<activity android:name="yan.activity_02.OtherActivity"

android:label="@string/other" >

</activity>

</application>

</manifest>

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="yan.activity_02"

android:versionCode="1"

android:versionName="1.0" >

<uses-sdk

android:minSdkVersion="4"

android:targetSdkVersion="4" />

<application

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

<activity

android:name="yan.activity_02.Activity_02"

android:label="@string/app_name" >

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

<activity android:name="yan.activity_02.OtherActivity"

android:label="@string/other" >

</activity>

</application>

</manifest>

注意这个文件中的activity的声明:

<activity android:name="yan.activity_02.OtherActivity"

android:label="@string/other" >

</activity>

三、效果展示:

点击上面的Button之后-->> 跳转到另一个Activity。

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港