日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

Android Bundle类,通过bundle实现在两个activity之间的通讯

發(fā)布時(shí)間:2024/4/14 Android 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android Bundle类,通过bundle实现在两个activity之间的通讯 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

根據(jù)google官方的文檔(http://developer.android.com/reference/android/os/Bundle.html)

?

Bundle類是一個(gè)key-value對(duì),“A mapping from String values to various Parcelable types.”

類繼承關(guān)系:

java.lang.Object
? ? ?android.os.Bundle

Bundle類是一個(gè)final類:
public final class
Bundle
extends Objectimplements Parcelable Cloneable

兩個(gè)activity之間的通訊可以通過bundle類來實(shí)現(xiàn),做法就是:

(1)新建一個(gè)bundle類

?

[java]?view plaincopy
  • Bundle?mBundle?=?new?Bundle();???
  • (2)bundle類中加入數(shù)據(jù)(key -value的形式,另一個(gè)activity里面取數(shù)據(jù)的時(shí)候,就要用到key,找出對(duì)應(yīng)的value)

    ?

    ?

    [java]?view plaincopy
  • mBundle.putString("Data",?"data?from?TestBundle");??

  • (3)新建一個(gè)intent對(duì)象,并將該bundle加入這個(gè)intent對(duì)象

    ?

    ?

    [cpp]?view plaincopy
  • Intent?intent?=?new?Intent();????
  • intent.setClass(TestBundle.this,?Target.class);????
  • intent.putExtras(mBundle);??
  • 完整代碼如下:

    ?

    android mainfest.xml如下:

    ?

    [java]?view plaincopy
  • <?xml?version="1.0"?encoding="utf-8"?>??
  • <manifest?xmlns:android="http://schemas.android.com/apk/res/android"??
  • ??????package="com.tencent.test"??
  • ??????android:versionCode="1"??
  • ??????android:versionName="1.0">??
  • ????<application?android:icon="@drawable/icon"?android:label="@string/app_name">??
  • ????????<activity?android:name=".TestBundle"??
  • ??????????????????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=".Target"></activity>??
  • ????</application>??
  • ????<uses-sdk?android:minSdkVersion="7"?/>??
  • </manifest>???

  • 兩個(gè)類如下:intent從TestBundle類發(fā)起,到Target類。

    ?

    類1:TestBundle類:

    ?

    [java]?view plaincopy
  • import?android.app.Activity;????
  • import?android.content.Intent;????
  • import?android.os.Bundle;????
  • import?android.view.View;??
  • import?android.view.View.OnClickListener;??
  • import?android.widget.Button;??
  • ??
  • public?class?TestBundle?extends?Activity?{????
  • ??????
  • ????private?Button?button1;??
  • ????private?OnClickListener?cl;???
  • ????public?void?onCreate(Bundle?savedInstanceState)?{????
  • ????????super.onCreate(savedInstanceState);????
  • ????????setContentView(R.layout.main);??
  • ??????????
  • ????????button1?=?(Button)?findViewById(R.id.button1);??
  • ????????cl?=?new?OnClickListener(){??
  • ????????????@Override??
  • ????????????public?void?onClick(View?arg0)?{??
  • ????????????????//?TODO?Auto-generated?method?stub??
  • ????????????????Intent?intent?=?new?Intent();????
  • ????????????????intent.setClass(TestBundle.this,?Target.class);????
  • ????????????????Bundle?mBundle?=?new?Bundle();????
  • ????????????????mBundle.putString("Data",?"data?from?TestBundle");//壓入數(shù)據(jù)????
  • ????????????????intent.putExtras(mBundle);????
  • ????????????????startActivity(intent);??
  • ????????????}??
  • ????????};??
  • ????????button1.setOnClickListener(cl);??
  • ????}??
  • }????

  • 類2: Target

    ?

    ?

    [java]?view plaincopy
  • import?android.app.Activity;????
  • import?android.os.Bundle;????
  • ??
  • public?class?Target?extends?Activity{????
  • ??
  • ????public?void?onCreate(Bundle?savedInstanceState)?{????
  • ??????????
  • ????????super.onCreate(savedInstanceState);????
  • ????????setContentView(R.layout.target);????
  • ????????<span?style="color:#ff6600;">Bundle?bundle?=?getIntent().getExtras();???</span>?//得到傳過來的bundle??
  • ????????String?data?=?bundle.getString("Data");//讀出數(shù)據(jù)????
  • ????????setTitle(data);????
  • ??
  • ????}????
  • }????

  • 布局文件:

    ?

    main.xml

    ?

    [java]?view plaincopy
  • <?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:layout_width="fill_parent"???
  • ????android:layout_height="wrap_content"???
  • ????android:text="@string/hello"??
  • ????/>??
  • <Button????
  • ????android:layout_width="fill_parent"???
  • ????android:layout_height="wrap_content"???
  • ????android:text="@string/button"??
  • ????android:id?=?"@+id/button1"??
  • ????/>???
  • </LinearLayout>??
  • ?

    ?

    target.xml

    [java]?view plaincopy
  • <?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:layout_width="fill_parent"???
  • ????android:layout_height="wrap_content"???
  • ????android:text="@string/target"??
  • ????/>??
  • </LinearLayout>??
  • ?

    String.xml

    ?

    [java]?view plaincopy
  • <?xml?version="1.0"?encoding="utf-8"?>??
  • <resources>??
  • ????<string?name="hello">Hello?World,?TestBundle!</string>??
  • ????<string?name="app_name">測(cè)試Bundle用法</string>??
  • ????<string?name="button">點(diǎn)擊跳轉(zhuǎn)</string>??
  • ????<string?name="target">來到target?activity</string>??
  • </resources>??

  • 結(jié)果:

    ?

    跳轉(zhuǎn)結(jié)果:

    ?

    http://blog.csdn.net/randyjiawenjie/article/details/6651437

    轉(zhuǎn)載于:https://www.cnblogs.com/xlchen/p/4215488.html

    總結(jié)

    以上是生活随笔為你收集整理的Android Bundle类,通过bundle实现在两个activity之间的通讯的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。