草庐IT

parceled

全部标签

android - 来自 Parcel.readException 的 NullPointerException(等)

看起来像这样的异常令人困惑:FATALEXCEPTION:mainjava.lang.NullPointerExceptionatandroid.os.Parcel.readException(Parcel.java:1437)atandroid.os.Parcel.readException(Parcel.java:1385)atcom.yourpackage.ipc.IYourClass$Stub$Proxy.yourMethod(IYourClass.java:488)atcom.yourpackage.ipc.YourClassShim.yourMethod(YourClass

android - 添加到 Parcel 的 Parcelable inside bundle

在我的项目中,我有一个模型,其中包含有关模型的基本信息。例如,假设模型是汽车。然后有许多不同种类的汽车,它们分配有不同的数据。所有模型都必须是可打包的。不同车型之间的差别很小,可能就几个数据字段而已。所以这是通过为不同的汽车创建演示者(只是一个保存数据的类)来解决的。然后演示者会知道它应该保存哪些额外数据。因为演示者本身是不可打包的,所以它的所有数据都有一个Bundle,然后Car类将添加到可打包的中。我不想让演示者变成parcelables。所以Car从presenter那里拿走Bundle并将其放入包裹中:publicvoidwriteToParcel(Parcelparcel,i

android - Parcelable,newArray 是做什么用的?

我正在实现Parcelable以便在整个Intent中传输一些简单数据。但是,Parcelable接口(interface)中有一种方法我完全不理解:newArray()。它没有任何相关文档,甚至在我打包/拆包我的对象时都没有在我的代码中调用。Parcelable实现示例:publicclassMyParcelableimplementsParcelable{privateintmData;publicintdescribeContents(){return0;}publicvoidwriteToParcel(Parcelout,intflags){out.writeInt(mData

android - Parcel.readException 将对象传递给远程服务

我编写了一个远程服务,客户端可以使用Android提供的常用IPC机制登录,并且绑定(bind)似乎有效。当我去调用一个方法时,问题就出现了,在这个方法中我必须将一个对象作为参数传递,因为我得到了这个“奇怪的”异常:10-1915:09:04.601:ERROR/AndroidRuntime(2985):FATALEXCEPTION:main10-1915:09:04.601:ERROR/AndroidRuntime(2985):java.lang.NullPointerException10-1915:09:04.601:ERROR/AndroidRuntime(2985):atan

java - 将对象从服务发送到 Activity (无法编码非 Parcelable)

我正在尝试将我的Activity数据发送到服务并接收一些返回信息,但我得到:java.lang.RuntimeException:Can'tmarshalnon-Parcelableobjectsacrossprocesses.Activity中的代码如下所示:Messagemsg=Message.obtain(null,1);msg.obj=1;msg.replyTo=newMessenger(newPlanRequestIncomingHandler());try{msgService.send(msg);}catch(RemoteExceptione){Log.i(tag,"Ca

Android Intent 传递 parcelable 对象与传递 Json 字符串

我知道我的问题有一些答案,但答案不是很详尽或令人信服。在我的程序中,为了将数据从一个Activity传输到另一个Activity,我将POJO类的内容转换为Json字符串并通过包(方法1)传递。方法一StringjsonString=JacksonSingleton.getObjectMapper().writeValueAsString(object);bundle.putExtra(KEY_STR,jsonString)在方法2中,我在包中传递一个Parcelable对象。方法2bundle.putExtra(KEY_STR,parcelableObject);如果我要实现方法2,

android - Parcelable 中的 List<String> readStringArray

我的大部分Parcelable都在工作;out.writeString、out.writeInt、in.readString()等简单的东西运行得很好。我的问题是当我想打包一个Array/List/ArrayList(我都试过了)。我目前正在尝试:List和out.writeStringList()工作正常。Eclipse提示有一个in.readStringList(Listlist)读回该数据。但它不是为我做的。我们应该在()中放入什么?我什么都没试过,结果是“添加参数以匹配...”我试过null,引用getter等;全部返回错误“无法从void转换为List”

android - onSaveInstanceState() 和 onRestoreInstanceState(Parcelable state) 没有被调用?

我有一个扩展LinearLayout的自定义View。我已经实现了onSaveInstanceState()和onRestoreInstanceState()来保存当前View状态。但是没有采取任何行动。当我在这两种方法中放置一个日志时,LogCat中也没有任何内容。我假设这两种方法甚至都没有被调用。任何人都可以解释问题出在哪里吗?谢谢。@OverridepublicParcelableonSaveInstanceState(){Bundlebundle=newBundle();bundle.putParcelable("instanceState",super.onSaveInsta

android - 如何在 fragment 中使用 Parcelable 获取数据?

我可以在Activity中使用Parcelable,但我不知道如何在Fragment中使用它。我在FragmentGet中有一个ListFragment来显示ListView中的所有行数据库,我想在单击另一个Fragment时获取ListView的详细信息,我使用Parcelable在Fragment之间传递数据。这是我的Test.java:importandroid.os.Parcel;importandroid.os.Parcelable;publicclassTestimplementsParcelable{privateintstudentNumber;privateStrin

android - JsonSubTypes,多态对象列表和 Parcelable

我的JSON结构:{..."type":"post",//Typecouldvary"items":[]//Arrayofitems,eachitemistypeOf("type")...}我如何在我的POJO中反序列化和正确打包items列表:publicclassItemsEnvelope{privateStringtype;@JsonTypeInfo(use=JsonTypeInfo.Id.NAME,include=JsonTypeInfo.As.EXTERNAL_PROPERTY,property="type",visible=true)@JsonSubTypes({@Json