- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
ActiveAndroid 有一个约束,它的所有实体都需要从某个基类继承,并且需要有一个以上下文(来自 Activity )作为输入的单参数构造函数。 [不喜欢这种限制]。
使用 gson,我可以创建一个类型适配器来绕过这个约束。
public class PolicyInstanceCreator implements InstanceCreator<Policy>{
private Context context;
public PolicyInstanceCreator(Context context) {
this.context = context;
}
@Override
public Policy createInstance(Type type) {
return new Policy(context);
}
}
Gson gson = new GsonBuilder().registerTypeAdapter(Policy.class, new PolicyInstanceCreator(context)).create();
Policy[] policies = gson.fromJson(myString, Policy[].class);
一种可能性似乎是我们需要使用 Jackson 实现自定义反序列化器。
除了必须为 jackson 编写自定义反序列化程序之外,还有其他选择吗?或者这是我使用特定的单参数构造函数的唯一选择吗?
如果有其他选择,请告诉我。
谢谢
最佳答案
一种替代方法是应用混合注释(参见 wiki 或 this blog post)以添加 @JsonCreator 以指定要使用此特定构造函数。这需要“上下文”来自 JSON(可以在构造函数参数上使用 @JsonProperty 指定 JSON 中的名称);或者可以传入 null(如果未从 JSON 中找到此类字段,则会发生这种情况)。如果需要传递实际的外部上下文对象,则可以使用自定义反序列化器(直到实现“外部值注入(inject)”;这已计划但尚未添加)。
关于安卓 : Jackson with ActiveAndroid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6257002/
如何在 ActiveAndroid 中添加两列唯一约束?我尝试添加 2.sql 并增加数据库版本,但它似乎没有正确更新(可能是因为我重新安装了应用程序?)。无论如何,有没有办法添加一些注释,我可以在
我想知道是否有可能,以及如何使用“IN”子句在ActiveAndroid中执行where子句。 例如,我想做这样的事情: 新的Select()。from(Table).where(“id in?”,l
我正在使用 ActiveAndroid作为第三方库,以便在 android 中使用 sqlite 数据库,我在使用该库创建和使用新数据库时没有任何问题,但我不知道如何将我自己的现有数据库与该库一起使用
ActiveAndroid 有一个约束,它的所有实体都需要从某个基类继承,并且需要有一个以上下文(来自 Activity )作为输入的单参数构造函数。 [不喜欢这种限制]。 使用 gson,我可以创建
我是 Android 的新手,我正在尝试将 SQLite 与 Active Android ORM 结合使用。我有一个简单的待办事项应用程序,我正在按照教程设置 Activity 的 android。
我学会了在我的 Android 应用程序中使用 ActiveAndroid,谁能告诉我如何只保存具有唯一 ID 的数据?在我的模型中,我将 id 设置为非主键列。这是我的模型类: package co
我的 Android 应用程序正在使用 DB 工具 ActiveAndroid。数据库只是一个简短的本地缓存。所有数据均从服务器重复更新。效果很好。我可以轻松地放下 table 并重新装满它们。 De
我正在使用 ActiveAndroid 并且有两个模型: @Table(name = "Topics") public class Topic extends Model { @Column(name
我想进行最简单的查询,但在网上找不到任何地方如何在 Activity 的 android 中进行查询。 我有一个 Items 表,我只想获取其中的所有项目,但我的查询只返回一个项目。 items1.
我正在尝试使用 ActiveAndroid 来处理我应用中的数据库。 这是我的模型类: package ro.adrian.trivia.datamodel; import java.io.Seria
大家好,作为我类(class)的一部分,我正在尝试测试如何在 android 中使用数据库,但我对这两者都很陌生,所以我在网上找到的大多数帮助都让我有点不知所措。 我想知道如何从表中更新和删除。目前我
我使用图书馆ActiveAndroid with RetroFit . 如果我有一个简单的模型,一切都会很好。但是如果模型包含不同的模型,我不知道所有这些是如何存储在数据库中的 我的模型: @Tabl
我尝试将 ActiveAndroid 添加到我的第一个 Android 应用程序中。到目前为止没有错误,我的项目正在保存(我用 sqlite 管理器检查过)但无论我使用什么查询,结果总是空的。我只有一
伙计们!我写了一个 Book 类,它有 Chapter 对象(一对多关系)。它实现了方法 public List chapters(),如文档中所述。这是 Book.java @Table(name
我正在使用 active android在 Android 上使用 SQLite。 例如,我有以下具有这种结构的 Pets 表: @Table(name = "Pets") public class
我在我的项目中使用 ActiveAndroid 作为 ORM 系统,我使用这行代码对数据库进行查询 List s = new Select() .from(Chats
使用 ActiveAndroid ORM 填充 RecyclerView 和跟踪数据更改的首选方法是什么? 我有 asked a question最近关于这个话题。但是它太冗长了,而且人们又很懒惰,几
我开发了一个 Android 应用程序,我使用 SQLiteOpenHelper 将数据保存在 SQLite 数据库中。 我想知道我是否可以使用 ActiveAndroid 更新我的应用程序,但会保留
您好,我正在开发 Android 应用程序,我在其中使用了 active android。我尝试使用迁移将一列添加到我的表中。我尝试使用以下代码: ALTER TABLE TAGS ADD COLUM
我正在开发一个 Android 应用程序,并考虑使用 ORM 来利用一些数据库工作,我已经看到了一些,它们似乎都适合这项工作,现在我只剩下一个主要问题,我还没有我找到了一种在运行时设置数据库位置的方法
我是一名优秀的程序员,十分优秀!