最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android中Parcelable的作用實(shí)例解析

 更新時(shí)間:2014年08月07日 15:56:09   投稿:shichen2014  
這篇文章主要介紹了Android中Parcelable的作用,對(duì)于Android初學(xué)者有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

在android提供了一種類(lèi)型:Parcel。被用作封裝數(shù)據(jù)的容器,封裝后的數(shù)據(jù)可以通過(guò)Intent或IPC傳遞。 除了基本類(lèi)型以外,只有實(shí)現(xiàn)了Parcelable接口的類(lèi)才能被放入Parcel中。
 
Parcelable實(shí)現(xiàn)要點(diǎn):需要實(shí)現(xiàn)三個(gè)東西

1)writeToParcel 方法。該方法將類(lèi)的數(shù)據(jù)寫(xiě)入外部提供的Parcel中.聲明如下:
writeToParcel (Parcel dest, int flags) 具體參數(shù)含義見(jiàn)javadoc

2)describeContents方法。沒(méi)搞懂有什么用,反正直接返回0也可以

3)靜態(tài)的Parcelable.Creator接口。本接口有兩個(gè)方法:

createFromParcel(Parcel in) 實(shí)現(xiàn)從in中創(chuàng)建出類(lèi)的實(shí)例的功能

newArray(int size) 創(chuàng)建一個(gè)類(lèi)型為T(mén),長(zhǎng)度為size的數(shù)組,僅一句話(huà)(return new T[size])即可。估計(jì)本方法是供外部類(lèi)反序列化本類(lèi)數(shù)組使用。

測(cè)試用的接收信息Activity:

import android.app.Activity;  
 
import android.content.Intent;  
 
import android.os.Bundle;  
import android.os.Parcelable;  
 
public class Test extends Activity {  
   
  @Override 
  public void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.main);  
    Intent i = getIntent();  
    Person p = i.getParcelableExtra("yes");  
    System.out.println("---->"+p.name);  
    System.out.println("---->"+p.map.size());  
  }  
} 

發(fā)送的Activity:

import java.util.HashMap;  
 
import android.app.Activity;  
import android.content.Intent;  
import android.os.Bundle;  
 
public class TestNew extends Activity {  
   
  @Override 
  public void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.main);  
    Intent intent = new Intent();  
    Person p = new Person();  
    p.map = new HashMap<String,String>();  
    p.map.put("yes", "ido");  
    p.name="ok";  
    intent.putExtra("yes", p);  
    intent.setClass(this, Test.class);  
    startActivity(intent);  
  }  
} 

Parcelable的實(shí)現(xiàn)類(lèi):

import java.util.HashMap;  
import android.os.Parcel;  
import android.os.Parcelable;  
 
public class Person implements Parcelable {  
 
  public HashMap<String,String> map = new HashMap<String,String> ();  
    
  public String name ;  
  @Override 
  public int describeContents() {  
    return 0;  
  }  
  @Override 
  public void writeToParcel(Parcel dest, int flags) {  
 
    dest.writeMap(map);  
    dest.writeString(name);  
  }  
  public static final Parcelable.Creator<Person> CREATOR = new Parcelable.Creator<Person>() {  
//重寫(xiě)Creator
 
    @Override 
    public Person createFromParcel(Parcel source) {  
      Person p = new Person();  
      p.map=source.readHashMap(HashMap.class.getClassLoader());  
      p.name=source.readString();  
      return p;  
    }  
    @Override 
    public Person[] newArray(int size) {  
      // TODO Auto-generated method stub  
      return null;  
    }  
  };  
 
} 

相關(guān)文章

  • 詳解Mybatis中的CRUD

    詳解Mybatis中的CRUD

    這篇文章主要介紹了Mybatis中的CRUD的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • 完美解決MybatisPlus插件分頁(yè)查詢(xún)不起作用總是查詢(xún)?nèi)繑?shù)據(jù)問(wèn)題

    完美解決MybatisPlus插件分頁(yè)查詢(xún)不起作用總是查詢(xún)?nèi)繑?shù)據(jù)問(wèn)題

    這篇文章主要介紹了解決MybatisPlus插件分頁(yè)查詢(xún)不起作用總是查詢(xún)?nèi)繑?shù)據(jù)問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • mybatis執(zhí)行批量更新batch update 的方法(oracle,mysql兩種)

    mybatis執(zhí)行批量更新batch update 的方法(oracle,mysql兩種)

    這篇文章主要介紹了mybatis執(zhí)行批量更新batch update 的方法,提供oracle和mysql兩種方法,非常不錯(cuò),需要的朋友參考下
    2017-01-01
  • RocketMQ消息丟失場(chǎng)景以及解決方法

    RocketMQ消息丟失場(chǎng)景以及解決方法

    這篇文章主要給大家介紹了關(guān)于RocketMQ消息丟失場(chǎng)景以及解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 解決java.lang.ClassCastException的java類(lèi)型轉(zhuǎn)換異常的問(wèn)題

    解決java.lang.ClassCastException的java類(lèi)型轉(zhuǎn)換異常的問(wèn)題

    這篇文章主要介紹了解決java.lang.ClassCastException的java類(lèi)型轉(zhuǎn)換異常的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • JAVA中AES對(duì)稱(chēng)加密和解密過(guò)程

    JAVA中AES對(duì)稱(chēng)加密和解密過(guò)程

    這篇文章主要為大家詳細(xì)介紹了JAVA中AES對(duì)稱(chēng)加密和解密過(guò)程,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Java發(fā)送https請(qǐng)求代碼實(shí)例

    Java發(fā)送https請(qǐng)求代碼實(shí)例

    這篇文章主要介紹了Java發(fā)送https請(qǐng)求代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Servlet文件的上傳與下載詳解

    Servlet文件的上傳與下載詳解

    很多朋友不清楚在Servlet中怎么上傳下載文件,談到這個(gè)問(wèn)題,首先需要我們掌握開(kāi)發(fā)servlet的步驟,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2022-06-06
  • 教你利用springboot集成swagger并生成接口文檔

    教你利用springboot集成swagger并生成接口文檔

    有很多小伙伴不會(huì)利用springboot集成swagger并生成接口文檔,今天特地整理了這篇文章,文中有非常詳細(xì)的代碼圖文介紹及代碼示例,對(duì)不會(huì)這個(gè)方法的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • java執(zhí)行Linux命令的方法

    java執(zhí)行Linux命令的方法

    這篇文章主要介紹了java執(zhí)行Linux命令的方法,涉及對(duì)Java中Runtime.exec()函數(shù)的應(yīng)用,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-11-11

最新評(píng)論

华阴市| 顺义区| 会昌县| 景德镇市| 闵行区| 武城县| 白城市| 集安市| 绍兴县| 栾城县| 育儿| 新丰县| 云梦县| 仁怀市| 郓城县| 新蔡县| 利津县| 普兰店市| 平舆县| 张家界市| 洛扎县| 海林市| 弥勒县| 隆林| 棋牌| 聂拉木县| 平南县| 巴林左旗| 和林格尔县| 铜川市| 云安县| 聂荣县| 信宜市| 水富县| 万荣县| 赣州市| 留坝县| 财经| 镇宁| 通榆县| 荔波县|