草庐IT

android - 如何在 Android 上将 Enum 读写到 parcel 中?

这是我的模型类:publicenumAction{RETRY,SETTINGS}privateintimageId;privateStringdescription;privateStringactionName;privateActionaction;publicNetworkError(intimageId,Stringdescription,StringactionName,Actionaction){this.imageId=imageId;this.description=description;this.actionName=actionName;this.action=a

android - 如何在 Parcel 的帮助下将 Parcelable 编码和解码为字节数组?

我想编码和解码一个实现Parcelable到/来自字节数组的类。我很清楚Parcelable表示不稳定,因此不适合长期存储实例。但是我有一个用例,我需要序列化一个对象,它不是一个展示停止器如果由于内部Android更改而导致解码失败。此外,该类已经实现了Parcelable接口(interface)。给定一个类MyClassimplementsParcelable,我如何(ab)使用Parcelable接口(interface)进行编码/解码? 最佳答案 首先创建一个帮助类ParcelableUtil.java:publicclas

Android E/Parcel:解码时找不到类(仅在三星 Tab3 上)

我无法解决为什么会出现此错误,并且只能在运行4.4.2的三星Tab3设备上解决?当我的MainActivity启动另一个Activity并在Intent中传递Parcelable类时会发生这种情况:privatevoiddebugTest(TestParcelcfgOptions){TestParcelcfgOptions=newTestParcel();cfgOptions.setValue(15);//justtoverifyIntentintent=newIntent(MainActivity.this,TestActivity.class);intent.putExtra("c

java.lang.RuntimeException : Could not read input channel file descriptors from parcel

我正在使用crashlytics来跟踪我的应用程序的崩溃情况。有一个很难弄清楚的错误。crashlytics的堆栈跟踪如下:java.lang.RuntimeException:Couldnotreadinputchannelfiledescriptorsfromparcel.atandroid.view.InputChannel.nativeReadFromParcel(InputChannel.java)atandroid.view.InputChannel.readFromParcel(InputChannel.java:148)atandroid.view.InputChann

kotlin - 在 Kotlin 中,属性不会被序列化为 Parcel

我希望我的变量不是来self的构造函数的,是我的Parcelable的一部分。但是,我面临这个警告“正确地不会被序列化为包裹”,这告诉我我目前不能这样做。我在experimentalv.1.2.41中使用Kotlin。我该怎么办?@ParcelizedataclassMyClass(privatevalmyList:List):Parcelable{valaverage:Listbylazy{calculateAverage(myList)} 最佳答案 你想让它成为Parcelable的一部分(只需标记@Transient)还是将其

android - 将 Parcelable 的一个子类写入另一个 Parcel

我有一个实现Parcelable接口(interface)的类:classAimplementsParcelable{}我有另一个类B包含一个A对象作为实例变量。在类B内的writeToPacel中,我想将对象B写入Parcel:classBimplementsParcelable{publicvoidwriteToParcel(Parceldest,intflags){dest.write???}}如何写和读? 最佳答案 classBimplementsParcelable{//letsassumeyouhaveAasadatam

java - Android运行时错误: Parcel: unable to marshal value

我正在尝试使用intent.puExtra函数将HashMap传递给新Activity。单步调试调试器似乎添加了HashMap没有问题,但是当调用startActivty()时,我收到一个运行时错误,指出Parcel:无法编码值com.appName.Liquor。Liquor是我创建的自定义类,我相信它与HashMap结合使用会导致问题。如果我传递一个字符串而不是我的HashMap它加载下一个Activity没问题。主要Activitylv.setOnItemClickListener(newOnItemClickListener(){publicvoidonItemClick(Ad

java - Android运行时错误: Parcel: unable to marshal value

我正在尝试使用intent.puExtra函数将HashMap传递给新Activity。单步调试调试器似乎添加了HashMap没有问题,但是当调用startActivty()时,我收到一个运行时错误,指出Parcel:无法编码值com.appName.Liquor。Liquor是我创建的自定义类,我相信它与HashMap结合使用会导致问题。如果我传递一个字符串而不是我的HashMap它加载下一个Activity没问题。主要Activitylv.setOnItemClickListener(newOnItemClickListener(){publicvoidonItemClick(Ad

【Harmony OS】【JAVA UI】鸿蒙系统中怎么使用 Parcel 进行存储数据或数据传递

1.Parcel简介在IPC过程中,发送方可以使用Parcel提供的写方法,将待发送的数据以特定格式写入Parcel对象。接收方可以使用Parcel提供的读取方法从Parcel对象中读取特定格式的数据。Parcel实例的默认容量为200KB。如果您想要更多或更少,请使用setCapacity(int)更改它。注意:只有以下数据类型的数据才能写入或从包裹中读取:byte,byteArray,short,shortArray,int,intArray,long,longArray,float,floatArray,double,doubleArray,boolean,booleanArray,ch

【Harmony OS】【JAVA UI】鸿蒙系统中怎么使用 Parcel 进行存储数据或数据传递

1.Parcel简介在IPC过程中,发送方可以使用Parcel提供的写方法,将待发送的数据以特定格式写入Parcel对象。接收方可以使用Parcel提供的读取方法从Parcel对象中读取特定格式的数据。Parcel实例的默认容量为200KB。如果您想要更多或更少,请使用setCapacity(int)更改它。注意:只有以下数据类型的数据才能写入或从包裹中读取:byte,byteArray,short,shortArray,int,intArray,long,longArray,float,floatArray,double,doubleArray,boolean,booleanArray,ch