国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Intent傳遞數據時,可以傳遞哪些類型數據

2019-11-09 16:31:12
字體:
來源:轉載
供稿:網友

Intent傳遞數據時,下列的數據類型哪些可以被傳遞(abcd)(多選)

      A、Serializable  B、charsequence C、Parcelable  D、Bundle

除了上面的還能傳遞基本數據類型(byte/boolean/char/short/int/float/long/double)、String/StringBuffer/StringBuilder類型

Serializable :將 java 對象序列化為二進制文件的 Java 序列化技術是 Java系列技術中一個較為重要的技術點,在大部分情況下,開發人員只需要了解被序列化的類需要實現 Serializable 接口,使用ObjectInputStream 和 ObjectOutputStream 進行對象的讀寫。

charsequence  :

在JDK1.4中,引入了CharSequence接口,實現了這個接口的類有:CharBuffer、String、StringBuffer、StringBuilder這個四個類。

CharBuffer為nio里面用的一個類,String實現這個接口理所當然,StringBuffer也是一個CharSequence,StringBuilder是Java抄襲C#的一個類,基本和StringBuffer類一樣,效率高,但是不保證線程安全,在不需要多線程的環境下可以考慮。

提供這么一個接口,有些處理String或者StringBuffer的類就不用重載了。但是這個接口提供的方法有限,只有下面幾個:charat、length、subSequence、toString這幾個方法,感覺如果有必要,還是重載的比較好,避免用instaneof這個操作符。

Parcelable  :

Android提供了一種新的類型:Parcel。本類被用作封裝數據的容器,封裝后的數據可以通過Intent或ipC傳遞。 除了基本類型以

外,只有實現了Parcelable接口的類才能被放入Parcel中。

是GOOGLE在安卓中實現的另一種序列化,功能和Serializable相似,主要是序列化的方式不同

利用Parcelable接口實現數據通過Intent/Bundle進行傳遞public class PersonInfo implements Parcelable{public String iName; // 人名publicint iSex; // 性別    public String iId; // 身份證號碼    public String iMobileNumber; // 手機號碼    public String iEMailAddr; // 郵箱地址// From Parcelable@Overridepublicint describeContents()    {return0;}    // From Parcelable// 保存到包裹中    @Overridepublicvoid writeToParcel(Parcel dest, int flags) {        dest.writeString(iName);        dest.writeInt(iSex);        dest.writeString(iId);        dest.writeString(iMobileNumber);        dest.writeString(iEMailAddr); }// 實現Parcelable接口的類型中,必須有一個實現了Parcelable.Creator接口的靜態常量成員字段,// 并且它的名字必須為CREATOR的publicstaticfinal Parcelable.Creator<PersonInfo> CREATOR =new Parcelable.Creator<PersonInfo>()    {// From Parcelable.Creator @Overridepublic PersonInfo createFromParcel(Parcel in) {            PersonInfo brief =new PersonInfo();// 從包裹中讀出數據            brief.iName = in.readString();            brief.iSex = in.readInt();            brief.iId = in.readString();            brief.iMobileNumber = in.readString();            brief.iEMailAddr = in.readString();return brief;        }        // From Parcelable.Creator        @Override        public PersonInfo[] newArray(int size)        {            returnnew PersonInfo[size];        }    };}

Bundle:Bundle是將數據傳遞到另一個上下文中或保存或回復你自己狀態的數據存儲方式。它的數據不是持久化狀態。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 当涂县| 永清县| 清新县| 淮阳县| 贞丰县| 进贤县| 黔西县| 永春县| 开江县| 连山| 临邑县| 嘉黎县| 呈贡县| 贵定县| 隆子县| 巨鹿县| 大兴区| 天峻县| 顺昌县| 奉新县| 柳林县| 盈江县| 梁山县| 阿图什市| 天镇县| 德阳市| 容城县| 特克斯县| 龙游县| 临清市| 翁牛特旗| 秦皇岛市| 芜湖市| 东乡族自治县| 丁青县| 顺昌县| 靖安县| 闵行区| 长岛县| 额尔古纳市| 舟曲县|