问题标签 [parceler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2979 浏览

android - 使用 Realm.io (Android) 使用 parceler (@Parcel)

我有以下产生错误的代码:Error:Parceler: Unable to find read/write generator for type io.realm.Realm for io.realm.RealmObject.realm

没有 . 它一切正常extends RealmObject,但是我想使用 Realm 轻松放入数据库。有没有办法排除 RealmObject 字段,只使用@Parcel 的基本 pojo 字段?

0 投票
0 回答
766 浏览

java - GSON 自定义将字段反序列化为 Parcel

我正在使用RetrofitParceler库来与我的服务器通信。

服务器有以下两种API方法:

/api/metadata/{id}返回以下 JSON 的GET

POST /api/metadata/{id} 需要以下 JSON

出于历史原因,情况如此,无法改变。

在我的 android 应用程序中,我通过以下方式声明 Retrofit:

Parcel 类的定义方式如下:

元数据:

几何点:

我想在整个应用程序中使用元数据类。我想查询服务器,接收元数据,更新它,然后发送到服务器。显然,GET 和 POST 的元数据格式不同。因此,我希望在收到 GET 后将其转换为 POST 格式。

我的问题是是否有可能以某种方式声明注释,以便 Retrofit 和 Parceler 知道参数,从 JSON 反序列化它,但通过我可以将其分解为“location_latitude”和“location_longitude”的方法location将其写入Metadata类。setLocation()

这是所需元数据类的一些伪代码:

或者我只是很傻(我昨天确实了解了 Retrofit、Parceler 和 GSON)并且应该创建两个元数据类MetadataExternalMetadataInternal用于接收和发送到服务器?

0 投票
1 回答
7754 浏览

android - Android:将 Parcelable 转换为 JSON

我正在使用向 socket.io 服务器发送消息的 socket.io 库。服务器需要 JSON 对象、数组等。我最初的实现使用 JSONOject 和 JSONArray 数据类型。但是,我想改用通过Parceler库生成的类。使用库的注释生成的类可以包装到 Parcels 中。这似乎是管理此类通信的一种非常方便的方式。但是,有没有办法将 Parceler 的类或 Parcel 类转换为 JSON 字符串或 JSONObject/Array?

GSON 库支持toJson方法,我知道 Retrofit 对 Parcels、JSON 和 GSON 有一些魔力。

0 投票
2 回答
1195 浏览

java - 当我将对象作为捆绑发送时尝试解开它

我有一个使用@Parcelable 的复杂类(我正在使用 Parceler 库https://github.com/johncarl81/parceler

该类还有许多其他对象,但它们大多是字符串。

我将它包装在我的主要活动中,例如:

我有一个事件列表(eventList),我试图将列表中的一个对象发送到另一个活动。

我在我的其他活动中打开它,例如:

在我的 onCreate() 里面

但是我的参数下有一条红线说:

0 投票
2 回答
3398 浏览

android - 将 Android 注解与 Parceler 一起使用

我在我的 Android 项目中使用 Android 注释。由于实现 Parcelable 需要做很多工作,我想使用 Parceler 和 @Parcel 注释。

问题是,如果我想通过 Android Annotations 使用 @FragmentArg 注释,它不会(出于显而易见的原因)认识到该类将在实现 Parcelable 接口的情况下生成。我现在有两个问题:

  • Parceler 将生成的类放在哪里以便我可以使用这些类?在 parceler.org 上声明:“要使用生成的代码,您可以直接引用生成的类,或通过 Parcels 实用程序类”
  • 是否有另一种方法可以使用 Parceler 或任何使用 Android Annotations 生成 Parcelable 样板代码的库?

到目前为止,我的 Fragment 代码如下所示:

生成的 POJO 类使用 @Parcel 进行注释:

在生成的 FaqFragment_ 中,有趣的部分是:

如您所见,生成的类将 POJO 视为可序列化...

0 投票
2 回答
1473 浏览

java - Java Parceler 的问题

我正在构建一个连接到 REST 服务器的 Android 应用程序,并且在模拟服务器响应的类中出现此错误:

错误:(16, 15) 错误: Parceler: Unable to find read/write generator for type java.lang.Object for com.myapp.ServerResponse.result

我认为错误是因为我使用泛型 E。ServerResponse.java 是:

有什么办法可以解决这个问题吗?

0 投票
3 回答
7441 浏览

android - 在 Android 中使用 Parceler

我正在尝试适用于 Android 的Parceler库。到目前为止,使用文档中的简单示例,我只有一个相同的错误。

哪个崩溃

我想念什么?

0 投票
2 回答
972 浏览

android - Parceler 解包给出错误数据

我正在使用parceler库来实现 Parcelable 接口。

我有这样的模型

我正在包装我的模型并将其放入意图中。

并在活动中展开

但有时在活动中展开后字段“creationDate”的值错误。

我试图记录它,在从 Bundle 解包之后 - 没关系,但在活动中 - 它有奇怪的数据。

例子 :

创建后立即从捆绑包中解包

广告{id=16, title='Mtitle', description='Mads', adsType=BUY, phone='+30890931231', email='+380932309046', city='Анабарский национальный улус', creationDate='[2015, 8、8、9、27、0、350946000]}

从活动 intent.getExtra() 中解包

广告{id=null, title='null', description='null', adsType=null, phone='null', email='null', city='null', creationDate='[8, 8, 9, 27, 0, 350946000, null, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

我不知道为什么,但它正在创建一个大小为 creationDate 1的数组并用零填充它。

0 投票
1 回答
839 浏览

android - 如何使用改造和 parceler 库解析 Json

我已经读过更好的方法是根据这篇博客文章http://blog.robinchutaux.com/blog/a-smart-way-to-use-retrofit/解析 parcelable 而不是 serialisable

但是如何使用 Parceler 库(https://github.com/johncarl81/parceler)自定义解析?

在 GSON 库中,我们可以这样做:

并像这样配置 GsonBuilder:

所以,问题是:如何使用 Retrofit 和 Parceler 库解析 json 字符串?例如,我需要两个具有以下模型的对象。

我需要解析这个:

0 投票
1 回答
1349 浏览

android - 使用带有 minifyEnabled 的 android Parceler 库

每当我尝试缩小使用parceler 库的项目时,由于来自 proguard 的大量警告,我无法构建发布 apk。例如:

警告:org.parceler.transfuse.gen.FilerResourceWriter:找不到引用的类 javax.tools.FileObject

我什至没有使用此消息中报告的大多数库。我想知道是否有人遇到过这个问题并设法解决它。我尝试使用 -dontwarn 来抑制所有消息,但它似乎不正确,此外它在极少数情况下会使我的应用程序崩溃(这让我觉得某些警告消息确实是正确的,但我想要这个库自动保留所需的类)。

我的gradle脚本如下: