草庐IT

parceler

全部标签

android - 使用Gson实现parcelable接口(interface)

我正在尝试使用Gson实现parcelable接口(interface)。想法是创建一个json字符串(使用gson)并将其写入parcel对象。这是否是实现接口(interface)的正确方法?我遇到的唯一问题是在反序列化对象时。实际上,我使用gson来重新创建对象。privateMyClass(Parcelin){Stringjson=in.readString();Gsongson=newGson();gson.fromJson(json,getClass());}问题在于fromJson函数返回一个对象,该对象是构造函数应该创建的对象。最后一行代码应该是这样的this=gson

android - 在进程之间传递游标(Parcelable Cursor)

我需要将Cursor(SQLiteCursor)从服务传递到API10上的应用程序,并且很难找到一个像样的(和快速)解决方案。我看过CursorWindow类。这是Parcelable但我无法在API10上实例化此类以使用SQLiteCursor.fillWindow()因为它没有有效的构造函数。CursorWindow(boolean)已弃用。即使我得到一个包含来自SQLiteCursor的数据的CursorWindow实例,我如何将这个窗口复制到一个新的Cursor中?我应该为此使用什么Cursor实现?我看不到扩展AbstractWindowedCursor的可用Cursor。感

android - Parcelable 相对于 JSON 的优势

我目前正在使用JSON(org.json)序列化我的一个数据类。当我在Bundle或Intent中传递它时,我只需在发送方调用.toString(),然后在接收方重新创建类。从到目前为止我读到的所有内容来看,出于性能考虑,我不应该实现Java的Serializable。我正在重写应用程序的某些部分,我正在考虑让我的数据类实现Parcelable并以这种方式传输它们。如果我这样做会有什么好处?如果我改用JacksonJSON库会更好吗?大多数JSON工作都是基于API的;服务器仅响应JSON。我还存储了一些JSON用于在应用程序端进行缓存。 最佳答案

android - AIDL 无法找到 Parcelable 类的定义

我有以下项目结构。我的StockInfo.java完全没问题。StockInfo.java(无错误)packageorg.yccheok.jstock.engine;importandroid.os.Parcel;importandroid.os.Parcelable;publicclassStockInfoimplementsParcelable{......StockInfo.aidl(无错误)packageorg.yccheok.jstock.engine;parcelableStockInfo;StockInfoObserver.aidl(错误!)packageorg.ycch

java - Android Parcel.obtain() 返回空值?

我正在开发一个Android应用程序(API15)并在尝试编写单元测试时遇到以下问题:我使用android.os.Parcel来保存一个类(例如,如果屏幕翻转)并将它发送到另一个Activity。如果我尝试像这样对Parcel方法进行单元测试(我从互联网上得到的):@TestpublicvoidtestParcel(){Commenttest=newComment();test.setId(testNr0Id);test.setComment(testNr0String);//ObtainaParcelobjectandwritetheparcelableobjecttoit:Parc

android - 在 Activity 之间传递包含 Map 的 parcelable 对象

我的类(class)ExpenseFB,它实现了Parcelable,包含一个Map的UserFB(它也实现了Parcelable):费用FB:publicclassExpenseFBimplementsParcelable{privateStringid;privateStringname;privateStringdescription;privateStringwhopaidID;privateStringwhopaidName;privateDoubleamount;privateMappartecipants;//settersandgetters...@Overridepu

android - parcelable 值得实现以在 Activity 之间传递数据吗?

我想提高我的应用程序的性能。我想到的一件事是用parcelable替换所有可序列化的intent-bundle参数。我找到了这个线程:BenefitofusingParcelableinsteadofserializingobject有人从一本书中说,parcelable仅用于进程间通信?那可能不是最新的,对吧?因为至少从技术上讲,这是可能的。然后还有parcelable不可靠的说法,因为实现因设备而异,这当然是一个致命的特性,因为我希望它始终工作,所有设备和api,从API7开始。而且我还阅读了一些关于使用Externalizable或实现自定义协议(protocol)的建议……但我

android - 如何将SpannableString写入parcel?

在我的应用程序中,我有一个对话框,其中包含几个SpannableString对象。因为这是对话框,所以我需要能够在用户离开应用程序并稍后返回时存储它。但问题是如何将SpannableString写入Parcel? 最佳答案 我实际上找到了一些使用现有函数来完成此操作的方法,尽管我不确定它是否适用于所有类型的跨度,还是仅适用于我正在使用的跨度。在里面写你必须添加的包裹方法@OverridepublicvoidwriteToParcel(Parceldest,intflags){TextUtils.writeToParcel(mSpan

java - 使用 Parcelable 在 Activity 之间发送对象数组列表

我想将一个对象数组列表从一个Activity发送到另一个Activity。我正在使用Parcelable扩展我的对象类,并使用intentonActivityResult传输列表。但列表在第二个Activity中显示为空。第一个Activity:publicclassPlanEventActivityextendsAppCompatActivityimplementsTimePickerDialog.OnTimeSetListener,DatePickerDialog.OnDateSetListener{privatebooleanmHoursMode;RelativeLayoutch

android - 如何在 Parcelable 类中写入和读取 org.joda.time.Date

我正在创建一个实现Parcelable的类。publicclassPosicaoResumoMobileimplementsParcelable{privateFloat_Latitude;privateFloat_Longitude;privateorg.joda.time.DateTime_DataHora;...但是这个类有一个org.joda.time.DateTime类型的属性。我如何在实现Parcelable的以下方法中编写此属性,因为它不可能out.writeDateTime(_DataHora)。@OverridepublicvoidwriteToParcel(Parc