java - Syncano Android SDK - 类对象中的引用字段

标签 java android syncano

我想在我的类对象中使用“引用”类型的字段。 我不确定如何在 Java POJO 对象中定义它 - 我尝试将 String、Integer、int 以及在 Web Dashboard 中定义的对象设置为引用类 - 我在创建此类对象时失败了(但是它是正确可见的在网络仪表板中):

Response{resultCode=5, httpResultCode=201, error='Error parsing response. com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected an int but was BEGIN_OBJECT at line 1 column 257 path $.userid', httpReasonPhrase='Created', data=null}

如果我在那里放另一个对象类型,应用程序会崩溃,Field type Xyz is not supported.

我的类对象:

@SyncanoClass(name = "custom_obj")
public class CustomObj extends SyncanoObject {
    public static final String FIELD_TITLEID = "title";
    public static final String FIELD_USERID = "userid";

    @SyncanoField(name = FIELD_TITLEID)
    public String title;
    @SyncanoField(name = FIELD_USERID)
    public Integer userId;
}

没有设置 userId - 我得到成功响应。

最佳答案

是的,我们知道这个错误并已在分支 Virtual Table support 上修复.在下周末应该合并到 master 并发布。我在下面的回答与这个分支有关。

我们决定放弃将引用存储为 Integer 的想法,并将其替换为 SyncanoObject 以允许轻松访问对象。

例如,如果您下载 CustomObj,所有内部对象(例如 YourSyncanoObject)都会折叠 - 这意味着您只获得带有 id 的对象,没有所有其他字段。如果您想了解有关对象的更多信息,您应该调用 syncanoObject.fetch();

但是如果你想扩展对象,我们几乎可以完成类似于 Virtual Table 的 future 允许您获得具有扩展的内部 syncano 对象字段的 CustomObj。

@SyncanoClass(name = "custom_obj")
public class CustomObj extends SyncanoObject {
    public static final String FIELD_TITLEID = "title";
    public static final String FIELD_USERID = "userid";

    @SyncanoField(name = FIELD_TITLEID)
    public String title;
    @SyncanoField(name = FIELD_USERID)
    public YourSyncanoObject syncanoObject;
}

关于java - Syncano Android SDK - 类对象中的引用字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35379668/

相关文章:

android - 如何删除此警告 - "Element SwitchPreferenceCompat is not allowed here"?

java - 我们如何在 Android 上创建 ssh 连接?

javascript - 将数据保存到 Syncano Angular 应用程序

java - 在 Eclipse 中查看 Java 应用程序的日期

java - spring boot mongodb审计报错

android - 改造方法调用可能产生 'java.lang.NullPointerException'

c# - 通过 Monodroid 中的 BluetoothSocket 传递带符号的字节数组

java - 如何反序列化 OpenNLP 训练的模型?

android - 如何使用 android 编程在 syncano 中更新用户数据,如用户名和密码?