Android中Parcelable接口的使用
16lz
2021-01-23
在Android中通过intent只能传递基本类型的数据,如果想要传递自定义的javabean,必须实现Serializable或者Parcelable接口。Parcelable接口是在Android新引入的接口。使用方法如下:
- publicclassDownloadItemimplementsParcelable{
- privateStringurl;
- privateStringgameName;
- privateStringgamePkgName;
- privateinttotal_bytes;
- privateintcurrent_bytes;
- privateStringpath;
- publicDownloadItem(){};
- publicDownloadItem(Stringurl,StringgameName,StringgamePkgName,
- inttotal_bytes,intcurrent_bytes,Stringpath){
- super();
- this.url=url;
- this.gameName=gameName;
- this.gamePkgName=gamePkgName;
- this.total_bytes=total_bytes;
- this.current_bytes=current_bytes;
- this.path=path;
- }
- @Override
- publicStringtoString(){
- return"DownloadItem[url="+url+",gameName="+gameName
- +",gamePkgName="+gamePkgName+",total_bytes="
- +total_bytes+",current_bytes="+current_bytes+",path="
- +path+"]";
- }
- publicStringgetUrl(){
- returnurl;
- }
- publicvoidsetUrl(Stringurl){
- this.url=url;
- }
- publicStringgetGameName(){
- returngameName;
- }
- publicvoidsetGameName(StringgameName){
- this.gameName=gameName;
- }
- publicStringgetGamePkgName(){
- returngamePkgName;
- }
- publicvoidsetGamePkgName(StringgamePkgName){
- this.gamePkgName=gamePkgName;
- }
- publicintgetTotal_bytes(){
- returntotal_bytes;
- }
- publicvoidsetTotal_bytes(inttotal_bytes){
- this.total_bytes=total_bytes;
- }
- publicintgetCurrent_bytes(){
- returncurrent_bytes;
- }
- publicvoidsetCurrent_bytes(intcurrent_bytes){
- this.current_bytes=current_bytes;
- }
- publicStringgetPath(){
- returnpath;
- }
- publicvoidsetPath(Stringpath){
- this.path=path;
- }
- @Override
- publicintdescribeContents(){
- //TODOAuto-generatedmethodstub
- return0;
- }
- @Override
- publicvoidwriteToParcel(Parceldest,intflags){
- dest.writeString(this.url);
- dest.writeString(this.gameName);
- dest.writeString(this.gamePkgName);
- dest.writeInt(this.total_bytes);
- dest.writeInt(this.current_bytes);
- dest.writeString(this.path);
- }
- publicstaticfinalParcelable.Creator<DownloadItem>CREATOR=newParcelable.Creator<DownloadItem>(){
- @Override
- publicDownloadItemcreateFromParcel(Parcelsource){
- returnnewDownloadItem(source.readString(),source.readString(),source.readString(),source.readInt(),source.readInt(),source.readString());
- }
- @Override
- publicDownloadItem[]newArray(intsize){
- returnnewDownloadItem[size];
- }
- };
- }
更多相关文章
- Android之EditText指定类型数据
- 判断手机类型
- Android WiFi 架构总览(模块及接口)
- JS判断客户端类型(ipad,iphone,android)
- [置顶] 调用Android发短信接口Intent.ACTION_SENDTO
- android Intent打开各种类型文件((PDF、word、excel、ppt、chm)
- Android中的Parcelable接口
- Android 接口定义语言 (AIDL)
- Android中回调接口的使用