Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android:Activity數據傳遞之基本數據類型

android:Activity數據傳遞之基本數據類型

編輯:關於Android編程

既然是activity之間的數據傳遞 肯定有兩個activity 我們先創建兩個activity,在MainActivity中

添加一個按鈕組件 點擊按鈕 就跳轉到其它的Activity 實現數據的傳遞
實現activity之間的跳轉可以通過顯示意圖來實現,像這樣

				Intent intent=new Intent();
				intent.setClass(MainActivity.this, OtherActivity.class);
				startActivity(intent);

但是我們如何要把數據傳遞過去呢?我們可以通過putExtra()方法傳遞。在這裡我們傳遞一個string類型的數據
	intent.putExtra("姓名", "我是蘇蘇");

這裡就類似與map集合,其中"姓名"是鍵,"我是蘇蘇"就是值,一對一的關系。通過putExtra()方法把string存在intent裡面

在OtherActivity裡面通過getIntent().getExtra()來獲得Intent對象裡面的數據,getExtra()返回的是Bundle對象

通過Bundle對象接收,然後在日志文件中打印

 

		Bundle bundle=getIntent().getExtras();
		String name=bundle.getString("姓名");
		Toast.makeText(OtherActivity.this, name, Toast.LENGTH_LONG).show();
運行結果如下 可以發現我們把數據從一個Activity傳遞到了另外一個activity

\\

當然也可以傳遞其它的基本數據類型 比如Double int等等 只要再接收的時候改變一下 比如接收double類型的

Double x=bundle.getDouble(key);

附上代碼

MainActivity

package com.example.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;

public class MainActivity extends Activity {

	private Button button;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		button=(Button) findViewById(R.id.button1);
		button.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				Intent intent=new Intent();
				intent.setClass(MainActivity.this, OtherActivity.class);
				intent.putExtra("姓名", "我是蘇蘇");
				startActivity(intent);
			}
		});
	}


}

OtherActivity
package com.example.activity;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;

public class OtherActivity extends Activity{
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_other);
		Bundle bundle=getIntent().getExtras();
		String name=bundle.getString("姓名");
		Toast.makeText(OtherActivity.this, name, Toast.LENGTH_LONG).show();
	}

}

activity_main.xml

activity_other.xml

<!--?xml version="1.0" encoding="utf-8"?-->
<linearlayout android:layout_height="match_parent" android:layout_width="match_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android">
</linearlayout>

ActivityManifest
<!--?xml version="1.0" encoding="utf-8"?-->
<manifest android:versioncode="1" android:versionname="1.0" package="com.example.activity" xmlns:android="http://schemas.android.com/apk/res/android">

    <uses-sdk android:minsdkversion="8" android:targetsdkversion="18">

    <application android:allowbackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme">
        <activity android:label="@string/app_name" android:name="com.example.activity.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN">

                <category android:name="android.intent.category.LAUNCHER">
            </category></action></intent-filter>
        </activity>
        <activity android:name="com.example.activity.OtherActivity"></activity>
    </application>

</uses-sdk></manifest>
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved