草庐IT

Parcelable

全部标签

android - 可序列化对象在放入包中时是否总是被序列化?

我们想知道当将Bundle与可序列化或可打包对象一起使用时,编码实际上何时发生?一旦你把它放在包里?由于bundle主要用于在两个屏幕之间简单地传递数据(我们在这里甚至没有谈论IPC!),编码对象似乎没有多大意义,因为它一直保留在内存中,不?我们是否正确地假设编码(无论是Java序列化还是Android打包)仅在以下情况下发生数据必须传递给另一个进程,例如在RMI期间,或组件(Activity或服务)被销毁并且实例状态必须写入磁盘?我见过Android框架工程师(我相信是DianneHackborn)说应该使用Parcelable而不是Serializable因为前者要快得多。快多少?

安卓|在 bundle 中使用 Parcelable 数据时解码未知类型

我在使用Android.Bundle通过两个Activity发送ArrayList中的可打包数据时遇到问题我有两个Activity(A和B)。在Aaaa.class中:ArrayListmModelList=newArrayList//FillArrayListwithafewModel-ObjectsBundlemBundle=newBundle;IntentmIntent=newIntent(Aaaa.this,Bbbb.class);mBundle.putParcelableArrayList("models",mModelList);mIntent.putExtras(mBun

java - 将对象转换为 Parcelable 父类(super class)的子类?

好的,所以我有一个SomeClass类,它是Parcelable。它有一个名为SuperClass的另一个Parcelable类的数组。在我的SomeClass构造函数中,我试图将SuperClass对象的数组读取到myArray实例变量中。这很简单;然而:SuperClass有两个子类FirstSubClass和SecondSubClass。数组temp应该是所有3个的混合,但由于某种原因它只有SuperClass对象(if和elseif语句似乎没有执行,因为temp的所有元素都不是子类的实例)。publicSomeClass(Parcelin){myArray=newSuperCl

android - WorkManager Data.Builder 不支持 Parcelable

当您有一个包含大量变量(bool值、整数、字符串)的大型POJO并且您想要使用新的工作管理器来启Action业时。然后您创建一个数据文件,该文件被添加到一次性工作请求对象中。构建此数据文件的最佳做法是什么?(编写100行代码只是说为每个变量在构建器上放置int感觉是错误的。)回答我最终分解了我的parcelable对象,因为我认为这是最好的实现。我不想使用gsonlib,因为它会为我的对象添加另一层序列化。Data.Builderbuilder=newData.Builder();builder.putBoolean(KEY_BOOL_1,stateObject.bool1);buil

java - 放在 Intent/bundle 中的一些 Parcelables 对象可能会 self 干扰并影响 Intent/Bundle 的读取?

放在Intent/bundle中的一些parcelables对象可能会self干扰并影响Intent/Bundle的读取?我提取了我认为有问题的代码。此代码有效:publicvoidwriteToParcel(Parcelarg0,intarg1){arg0.writeParcelable(object1,arg1);arg0.writeTypedList(arraylist1);}publicvoidreadFromParcel(Parcelin){object1=in.readParcelable(object1.class.getClassLoader());arraylist1

android - 如何在.aidl文件中定义接口(interface)类型的parcelable?

我有一个.aidl文件,它定义了一个接口(interface)类型的parcelable,比方说parcelableMyInterface;其中MyInterface是在MyInterface.java中声明的java接口(interface),它扩展了Parcelable接口(interface)。androidparcelable机制要求我在parcelable类中定义一个静态CREATOR。但是,由于接口(interface)类不知Prop体实现,因此无法实现createFromParcel()方法,我该如何为接口(interface)执行此操作?android运行时将如何决定调

java - 如何将 Location 对象放入 Parcelable

我在另一个实现Parcelable的Venue对象中有一个Location对象。如何在我的writeToParcel方法实现中正确序列化它?所以这里有一些代码:publicclassVenueimplementsParcelable{publicStringid;publicStringname;publicStringaddress;publicLocationlocation;publicStringcity;publicStringstate;publicStringcountry;publicStringpostalCode;@Overridepublicintdescribe

android - 将对象从一个 Activity 传递到另一个 Activity 时出错(使用 Parcelable)

我尝试使用Parcelable将对象类从一个Activity传递到另一个Activity我创建了一个类并将其命名为Studentpackagecom.example.test08_passobjectoverintent;importandroid.os.Parcel;importandroid.os.Parcelable;publicclassStudentimplementsParcelable{privateStringst_AcadimicNumber;privateStringst_Name;privateStringst_Class;publicStringgetSt_Ac

android - 将 parcelable 添加到自定义对象的接口(interface)类

我有一个自定义对象类,但它是通过接口(interface)实现的,我如何将parceable合并到其中。我已经关注并搜索了parceable,但它仅适用于对象类。例如:HowcanImakemycustomobjectsParcelable?我想将我的对象列表传递给android中的另一个Activity。代码:publicinterfaceProjection{interfaceJob{@XBRead("./task")ListgetTasks();@XBRead("./id")Stringgetid();@XBRead("./job_title")Stringgetjob_titl

android - 如何使列表 <enum> 可打包?

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭9年前。我正在尝试使我的类可打包,但它里面有一个枚举列表。我已经看到如何使用单个枚举来做到这一点here...我该怎么做?谢谢!;)