首页 > 其他分享 >android之间传递多个对象  IPC也是…

android之间传递多个对象  IPC也是…

时间:2023-04-30 19:05:54浏览次数:46  
标签:IPC java parcel author bookName 传递 source android name


第一步:新建一个Android工程命名为ObjectTranDemo(类比较多哦!)目录结构如下图: 


第二步:修改main.xml布局文件(这里我增加了两个按钮)代码如下<?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="Welcome to Mr wei's blog."  
     />  
 <Button  
     android:id="@+id/button1"  
     android:layout_width="fill_parent"  
     android:layout_height="wrap_content"  
     android:text="Serializable"  
 />  
 <Button  
     android:id="@+id/button2"  
     android:layout_width="fill_parent"  
     android:layout_height="wrap_content"  
     android:text="Parcelable"  
 />  
 </LinearLayout>


第三步:新建两个类一个是Person.java实现Serializable接口,另一个Book.java实现Parcelable接口,代码分别如下: 

Person.java:

 

android之间传递多个对象  IPC也是…_java


1. packagecom.tutor.objecttran;    
2. importjava.io.Serializable;    
3. publicclassPerson implementsSerializable {    
4.    privatestaticfinallongserialVersionUID = -7060210544600464481L;     
5.    privateString name;    
6.    privateintage;    
7.    publicString getName() {    
8.        returnname;    
9.    }    
10.    publicvoidsetName(String name) {    
11.        this.name = name;    
12.    }    
13.    publicintgetAge() {    
14.        returnage;    
15.    }    
16.    publicvoidsetAge(intage) {    
17.        this.age = age;    
18.    }    
19.        
20. }


Book.java: 


 

android之间传递多个对象  IPC也是…_java


1. packagecom.tutor.objecttran;    
2. importandroid.os.Parcel;    
3. importandroid.os.Parcelable;    
4. publicclassBook implementsParcelable {    
5.    privateString bookName;    
6.    privateString author;    
7.    privateintpublishTime;    
8.        
9.    publicString getBookName() {    
10.        returnbookName;    
11.    }    
12.    publicvoidsetBookName(String bookName) {    
13.        this.bookName = bookName;    
14.    }    
15.    publicString getAuthor() {    
16.        returnauthor;    
17.    }    
18.    publicvoidsetAuthor(String author) {    
19.        this.author = author;    
20.    }    
21.    publicintgetPublishTime() {    
22.        returnpublishTime;    
23.    }    
24.    publicvoidsetPublishTime(intpublishTime) {    
25.        this.publishTime = publishTime;    
26.    }    
27.        
28.    publicstaticfinalParcelable.Creator<Book> CREATOR = newCreator<Book>() {    
29.        publicBook createFromParcel(Parcel source) {    
30.            Book mBook = newBook();    
31.            mBook.bookName = source.readString();    
32.            mBook.author = source.readString();    
33.            mBook.publishTime = source.readInt();    
34.            returnmBook;    
35.        }    
36.        publicBook[] newArray(intsize) {    
37.            returnnewBook[size];    
38.        }    
39.    };    
40.        
41.    publicintdescribeContents() {    
42.        return0;    
43.    }    
44.    publicvoidwriteToParcel(Parcel parcel, intflags) {    
45.        parcel.writeString(bookName);    
46.        parcel.writeString(author);    
47.        parcel.writeInt(publishTime);    
48.    }    
49. }



第四步:修改ObjectTranDemo.java,并且新建两个Activity,一个是ObjectTranDemo1.java,别一个是ObjectTranDemo2.java.分别用来显示Person对像数据,和Book对象数据:,代码分别如下: 


ObjectTranDemo.java:



标签:IPC,java,parcel,author,bookName,传递,source,android,name
From: https://blog.51cto.com/u_548275/6237995

相关文章

  • Android HAL 是如何被调用的
    Android对硬件的调用,google推荐使用HAL的方式进行调用,对于AndriodHAL的写法,可以参考android源码里的hardware目录下几个模块的模版。在看HAL的编写方法的过程中,会发现整个模块貌似没有一个入口。一般说来模块都要有个入口,比如应用程序有main函数,可以为加载器进行加......
  • Android主流屏幕分辨率介绍
    对于Android游戏开发我们不得不像iPhone那样思考兼容Android平板电脑,苹果要考虑iPad、iPhone3GS和iPhone4等屏幕之间的兼容性,对于开发Android游戏而言也不例外,考虑的机型更多。常规的我们可能只考虑QVGA,HVGA,WVGA,FWVGA和DVGA,但是抛去了手机不谈,可能平板使用类似WSVGA的1024......
  • Android、iPhone和Java三个平台一…
    移动开发中遇到的最让人纠结的要属Java、Android和iPhone三个平台加解密不一致的问题。因为手机端后台通常是用JAVA开发的WebService,Android和iPhone客户端调用同样的WebService接口,为了数据安全考虑,要对数据进行加密。头疼的问题就来了,很难编写出一套加密程序,在3个平台间加解......
  • Android 通过HTTP POST&…
    HttpComponentslibraries.DownloadthelatestHttpClient(currently4.0.1)binarywithdependenciespackageandcopy apache-mime4j-0.6.jarand httpmime-4.0.1.jartoyourprojectandaddthemtoyourJavabuildpath.Youwillneedtoaddth......
  • 本实例实现了android上传手机图片…
    本实例实现了android上传手机图片至服务器,服务器进行保存服务器servlet代码Java代码 1.doPost(HttpServletRequestrequest,HttpServletResponseresponse)2.throwsServletException,IOException{3.4.......
  • Android平台下使用HttpUrlConnecti…
    publicstaticStringrequestByPost(Stringurlpath,StringrequestData)throwsIOException{//HTTPconnectionreusewhichwasbuggypre-froyoif(Build.VERSION.SDK_INT<Build.VERSION_CODES.FROYO){URLurl=newURL(urlpath);......
  • 用C/C++在Linux和Android NDK中获取设备的IP地址
    C/C++开发的获取设备IP地址的代码,下面链接中的版本是在Linuxx86-64环境中编译(Centos7.5)的,也可在其它版本的Linux中或者AndroidNDK('armeabi-v7a','arm64-v8a','x86','x86_64'等版本)中编译。下载地址(此版本须在Linuxx86-64环境中运行):金山文档https://kdocs.cn/l/cd4VM3e......
  • android异常:Can not p…
    本人某个android项目开发阶段一直运行良好,直到上线前夕,在某款跑着android4.03系统的手机运行却报出一下异常,导致forceclose:java.lang.IllegalStateException:CannotperformthisactionafteronSaveInstance!首先得了解一下我那项目的一些基本情况,UI结构是TabActivity包含着5......
  • Android程序中像素(px)跟单位dp(di…
    publicclassUnitTransformUtil{publicstaticintdip2px(Contextcontext,floatdpValue){finalfloatscale=context.getResources().getDisplayMetrics().density;......
  • Android Paint和Color类
      setAntiAlias:设置画笔的锯齿效果。   setColor:设置画笔颜色   setARGB: 设置画笔的a,r,p,g值。   setAlpha: 设置Alpha值   setTextSize:设置字体尺寸。   setStyle: 设置画笔风格,空心或者实心。   setStrokeWidth:设置空心的边框......