生活随笔
收集整理的這篇文章主要介紹了
Android 开发中使用Intent传递数据的方法
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Activity之間通過(guò)Intent傳遞值,支持基本數(shù)據(jù)類型和String對(duì)象及它們的數(shù)組對(duì)象byte、byte[]、char、char[]、boolean、boolean[]、short、short[]、int、int[]、long、long[]、float、float[]、double、double[]、String、String[],還有采用實(shí)現(xiàn)Serializable、Parcelable接口的類對(duì)象傳遞數(shù)據(jù)的兩種方法:一種是Bundle.putSerializable(Key,Object);另一種是Bundle.putParcelable(Key, Object)
例如:
[java]?view plaincopyprint?
import?android.os.Parcel;????import?android.os.Parcelable;????public?class?Book?implements?Parcelable?{????????private?String?bookName;????????private?String?author;????????private?int?publishTime;????????????????public?String?getBookName()?{????????????return?bookName;????????}????????public?void?setBookName(String?bookName)?{????????????this.bookName?=?bookName;????????}????????public?String?getAuthor()?{????????????return?author;????????}????????public?void?setAuthor(String?author)?{????????????this.author?=?author;????????}????????public?int?getPublishTime()?{????????????return?publishTime;????????}????????public?void?setPublishTime(int?publishTime)?{????????????this.publishTime?=?publishTime;????????}????????????????public?static?final?Parcelable.Creator<Book>?CREATOR?=?new?Creator<Book>()?{????????????public?Book?createFromParcel(Parcel?source)?{????????????????Book?mBook?=?new?Book();????????????????mBook.bookName?=?source.readString();????????????????mBook.author?=?source.readString();????????????????mBook.publishTime?=?source.readInt();????????????????return?mBook;????????????}????????????public?Book[]?newArray(int?size)?{????????????????return?new?Book[size];????????????}????????};????????????????public?int?describeContents()?{????????????return?0;????????}????????public?void?writeToParcel(Parcel?parcel,?int?flags)?{????????????parcel.writeString(bookName);????????????parcel.writeString(author);????????????parcel.writeInt(publishTime);????????}????}??? 實(shí)現(xiàn)Serializable接口:
[java]?view plaincopyprint?
import?java.io.Serializable;????public?class?Person?implements?Serializable?{????????private?static?final?long?serialVersionUID?=?-7060210544600464481L;?????????private?String?name;????????private?int?age;????????public?String?getName()?{????????????return?name;????????}????????public?void?setName(String?name)?{????????????this.name?=?name;????????}????????public?int?getAge()?{????????????return?age;????????}????????public?void?setAge(int?age)?{????????????this.age?=?age;????????}????????????}??? ?
這樣在Activity中就可編寫(xiě)傳遞數(shù)據(jù)代碼:
[java]?view plaincopyprint?
Intent?mIntent?=?new?Intent(this,?地址Activity.class);????Bundle?mBundle?=?new?Bundle();????mBundle.putParcelable("data",?mBook);????mBundle.putSerializable("data",?items);??mIntent.putExtras(mBundle);????????????startActivity(mIntent);?? 接受數(shù)據(jù)可以采用:
[java]?view plaincopyprint?
Intent?intent?=?getIntent();??ArrayList<Map<String,?String>>?items?=?(ArrayList<Map<String,?String>>)intent.getExtras().get("data"); ?
轉(zhuǎn)載于:https://www.cnblogs.com/duanweishi/p/4263434.html
總結(jié)
以上是生活随笔為你收集整理的Android 开发中使用Intent传递数据的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。