在 Realm 中使用反射 (Android)
Using Reflection with Realm (Android)
上周我切换到了 Realm。
现在,我在使用反射时遇到了这个问题:
通常我会使用反射来获取字段,当可用时我会用它来替换 API url f/e 中的 url 参数:
blog/{blogId}/comments <- 不是实际的 url 而是一个示例。
该代码将检查是否有一个名为 blogId 的字段,如果是,它将调用 getter (getBlogId) 并替换路径中的值。现在有了 realm,我得到一个 "BlogRealmProxy",它不包含我在 RealmObject 上期望的属性,它有像 INDEX_BLOGID(或类似的)这样的字段。
知道如何使用反射吗?我需要它来提供通用功能。
更新:
好吧,我找到了一个方法,通过做一些非常愚蠢的事情,还有更好的选择吗?:
Class clazz = obj.getClass();
if (clazz.getName().endsWith("Proxy")) {
clazz = clazz.getSuperclass();
}
我 100% 确定对象永远不会以 Proxy 结尾 ;)
好吧,我找到了一个方法,通过做一些非常愚蠢的事情,还有更好的选择吗?:
Class clazz = obj.getClass();
if (clazz.getName().endsWith("Proxy")) {
clazz = clazz.getSuperclass();
}
我 100% 确定对象永远不会以 Proxy 结尾 ;) 在我的应用程序中。
上周我切换到了 Realm。 现在,我在使用反射时遇到了这个问题:
通常我会使用反射来获取字段,当可用时我会用它来替换 API url f/e 中的 url 参数: blog/{blogId}/comments <- 不是实际的 url 而是一个示例。
该代码将检查是否有一个名为 blogId 的字段,如果是,它将调用 getter (getBlogId) 并替换路径中的值。现在有了 realm,我得到一个 "BlogRealmProxy",它不包含我在 RealmObject 上期望的属性,它有像 INDEX_BLOGID(或类似的)这样的字段。
知道如何使用反射吗?我需要它来提供通用功能。
更新:
好吧,我找到了一个方法,通过做一些非常愚蠢的事情,还有更好的选择吗?:
Class clazz = obj.getClass();
if (clazz.getName().endsWith("Proxy")) {
clazz = clazz.getSuperclass();
}
我 100% 确定对象永远不会以 Proxy 结尾 ;)
好吧,我找到了一个方法,通过做一些非常愚蠢的事情,还有更好的选择吗?:
Class clazz = obj.getClass();
if (clazz.getName().endsWith("Proxy")) {
clazz = clazz.getSuperclass();
}
我 100% 确定对象永远不会以 Proxy 结尾 ;) 在我的应用程序中。