- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经设置了 Backendless 应用程序,其中 User
具有行名称 posts
的表,这是 User
之间的数据对象关系和Post
表,数据关系是一对多。当我尝试使用 BackendlessUser.getProperty("key")
检索它时,它返回零个对象。一旦它返回HashMap
。我使用了docs中提到的方式,但由于 Object[]
的大小而获取 null为零。我确信该行中有数据,写道 <uses-permission>
用于互联网。
public class MainActivity extends AppCompatActivity {
BackendlessUser user = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Backendless.initApp(this, "app_id", "android_key", "v1");
Backendless.UserService.login("username", "password", new AsyncCallback<BackendlessUser>() {
@Override
public void handleResponse(BackendlessUser response) {
user = response;
doStuff();
}
@Override
public void handleFault(BackendlessFault fault) {
Log.e("Error logging in", "message: " + fault.getMessage());
}
});
}
//important
private void doStuff() {
Object[] postObjectArray = (Object[]) user.getProperty("posts");
Post[] posts = null;
if (postObjectArray != null && postObjectArray.length > 0)
posts = (Post[])postObjectArray;
if (posts == null)
{
Log.d("Problems", "posts is null");
}
}
}
Post
类:
public class Post extends Object{
private BackendlessUser user;
private String file;
private String message;
private String objectId;
public String getObjectId() {
return objectId;
}
public void setObjectId(String objectId) {
this.objectId = objectId;
}
public Post() {
}
public Post(BackendlessUser user, String file, String message) {
this.user = user;
this.file = file;
this.message = message;
}
public BackendlessUser getUser() {
return user;
}
public void setUser(BackendlessUser user) {
this.user = user;
}
public String getFile() {
return file;
}
public void setFile(String file) {
this.file = file;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
最佳答案
原因是未选中“自动加载”复选框,该复选框会在加载所属表时加载与该复选框对应的一对多关系的所有值。因此,user.getProperty("posts")
总是返回 null。但需要注意的是,如果该行是数据对象关系,则返回 HashMap<String, Object>
,所以 Post 需要有接受 HashMap<String, Object>
的构造函数:
public Post(HashMap hashMap)
{
this.hashMap = hashMap;
property1 = (String)hashMap.get("property1");
/*other properties*/
}
如果没有值,它将返回 Object
,它不能转换为任何其他类型,因此必须应用文档中使用的方式来修复边缘情况。
编辑:
这对于map data table to class很有用在对 Backendless 进行任何调用之前。这样,就可以消除 HashMap
的所有工作。并直接得到想要的类型。尽管如此,如果您通过 Backendless.Persistence
检索数据您可以将其指定为参数。
关于java - 从 BackendlessUser getProperty() 获取零个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37954345/
我正在查看 MSDN 作者在同一类的不同方法中使用以下代码的一些代码: if ( TypeDescriptor.GetProperties(ModelInstance)[propertyName] !
考虑以下代码。 Object obj; PropertyDescriptorCollection A = TypeDescriptor.GetProperties(obj); PropertyInfo
我有一种方法。在Java 8中,它在我的Macbook Pro M2上运行得很好。。结果是:。现在在迁移到Java 17之后,我得到了。我预计这两个版本的行为是相同的。我遗漏了什么?。我原以为这个方法
我有一种方法。在Java 8中,它在我的Macbook Pro M2上运行得很好。。结果是:。现在在迁移到Java 17之后,我得到了。我预计这两个版本的行为是相同的。我遗漏了什么?。我原以为这个方法
I have this method我有一种方法 static String getArchSuffix() { String arch = System.getProperty(&qu
System.getProperty("os.name") and System.getProperty("os.version") returning windows 10, 10.0, in wi
System.getProperty("os.name") and System.getProperty("os.version") returning windows 10, 10.0, in wi
我创建了包含用户列表的java类(称为“usersList”并包含每个值的用户名和密码), 现在我创建一个 JSP 文件并指定 JavaBeans 的范围: 我想将 usersList 获取到一
public object GetObjectToSerialize(object value, Type targetType) { var allProperties = value.
本文实例汇总了Java的System.getProperty()方法获取信息的用法。分享给大家供大家参考。具体如下: 复制代码代码如下: System.out.prin
我试图遍历类中的每个属性,输出属性的名称和值。但是我的代码没有返回任何属性。 正在循环的类: public class GameOptions { public ushort Fps;
我正在尝试编写一个通用实用程序,以便从 .NET 外部通过 COM 使用(/skip long story)。无论如何,我正在尝试向 ExpandoObject 添加属性,并且需要将 Property
我正在尝试使用 gradle 版本 4.8+ 的 Java、Serenity-BDD 项目,但应用程序没有提取 -Denvironment 和 -Dservicebranches 的 CLI 参数。我
我有一个源模块: import _ from 'underscore' import {Observable} from 'rxjs' export default function (rxfb) {
当我调用方法 System.getProperties(); 并打印它们时,它给出一个包含键值对的大列表,无需设置属性。 Java 从哪里获取那些属性来自? 最佳答案 来自托管 Java 的操作系统(
在这行代码中,我使用 getProperty 方法: PrintWriter writer = new PrintWriter("~/4413/ctrl/geo.txt".replaceFirst("
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
在一个非常庞大的代码库中,我发现了以下代码片段 System.getProperty("some stuff")。我尝试在一些 .properties 文件中查找该属性,但找不到它。你们有什么想法可以
让我大吃一惊! 根据 groovy 的文档,groovy 可以使用“getProperty”方法来获取对象的属性。所以当我想改变获取特殊对象属性的行为时,我使用一个类别类来覆盖“getProperty
这个问题可能会说明我缺乏关于 Groovy 类如何工作的知识,但我试图自己解决这个问题,但没有运气。我想在一个类上创建一个 getProperty() 方法,这样我就可以以 Groovyish 的方式
我是一名优秀的程序员,十分优秀!