问题标签 [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.
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 字段?
java - GSON 自定义将字段反序列化为 Parcel
我正在使用Retrofit和Parceler库来与我的服务器通信。
服务器有以下两种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)并且应该创建两个元数据类MetadataExternal
并MetadataInternal
用于接收和发送到服务器?
android - Android:将 Parcelable 转换为 JSON
我正在使用向 socket.io 服务器发送消息的 socket.io 库。服务器需要 JSON 对象、数组等。我最初的实现使用 JSONOject 和 JSONArray 数据类型。但是,我想改用通过Parceler库生成的类。使用库的注释生成的类可以包装到 Parcels 中。这似乎是管理此类通信的一种非常方便的方式。但是,有没有办法将 Parceler 的类或 Parcel 类转换为 JSON 字符串或 JSONObject/Array?
GSON 库支持toJson
方法,我知道 Retrofit 对 Parcels、JSON 和 GSON 有一些魔力。
java - 当我将对象作为捆绑发送时尝试解开它
我有一个使用@Parcelable 的复杂类(我正在使用 Parceler 库https://github.com/johncarl81/parceler)
该类还有许多其他对象,但它们大多是字符串。
我将它包装在我的主要活动中,例如:
我有一个事件列表(eventList),我试图将列表中的一个对象发送到另一个活动。
我在我的其他活动中打开它,例如:
在我的 onCreate() 里面
但是我的参数下有一条红线说:
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 视为可序列化...
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 是:
有什么办法可以解决这个问题吗?
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的数组并用零填充它。
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 字符串?例如,我需要两个具有以下模型的对象。
我需要解析这个:
android - 使用带有 minifyEnabled 的 android Parceler 库
每当我尝试缩小使用parceler 库的项目时,由于来自 proguard 的大量警告,我无法构建发布 apk。例如:
警告:org.parceler.transfuse.gen.FilerResourceWriter:找不到引用的类 javax.tools.FileObject
我什至没有使用此消息中报告的大多数库。我想知道是否有人遇到过这个问题并设法解决它。我尝试使用 -dontwarn 来抑制所有消息,但它似乎不正确,此外它在极少数情况下会使我的应用程序崩溃(这让我觉得某些警告消息确实是正确的,但我想要这个库自动保留所需的类)。
我的gradle脚本如下: