如何用 Parse.com API 修复 "Unchecked call to findInBackground"
How to fix "Unchecked call to findInBackground" with Parse.com API
我正在研究我从 iOS 移植的 Android 应用程序,并试图找出我收到的任何警告的原因,并使我的代码符合 Android Studio 的 lint。
到目前为止,大多数 "problems" 都非常容易修复,但我收到了一个关于特定 Parse.com API 函数的警告,这让我很困惑。
代码如下:
private void loadData() {
ParseQuery query = ParseQuery.getQuery("someClass");
query.include("someProperty1");
query.include("someProperty2");
query.include("someProperty3");
query.orderByAscending("sequence");
query.whereEqualTo("owner", ParseUser.getCurrentUser());
// This next line causes the warning
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> items, ParseException e) {
if (e != null) {
// Error handling here
} else {
// Got query results here
}
}
});
}
出现的警告是:
Unchecked call to 'findInBackground(FindCallback < T >)' as a member of raw type 'com.parse.ParseQuery'.
当您允许为您自动完成 "fill out" 一个 new FindCallback
时,您会得到:
query.findInBackground(new FindCallback() {
@Override
public void done(List list, ParseException e) {
}
@Override
public void done(Object o, Throwable throwable) {
}
});
嗯,这很烦人,因为返回的实际结果是类型 ParseObject
的 List
。因此,我将该代码编辑为上面的代码以简化我的代码。有趣的是,甚至自动完成代码 也有与之相关的相同警告。
我想我理解生成此警告的原因,但我已尽我所能尝试指定我的类型。我还能做些什么来让我的代码正常工作吗?或者更确切地说,鉴于我无法重写 Parse 的代码,我该如何 正确修复 这个警告?
您只需输入您的 ParseQuery:
将ParseQuery query
替换为ParseQuery<ParseObject> query
我正在研究我从 iOS 移植的 Android 应用程序,并试图找出我收到的任何警告的原因,并使我的代码符合 Android Studio 的 lint。
到目前为止,大多数 "problems" 都非常容易修复,但我收到了一个关于特定 Parse.com API 函数的警告,这让我很困惑。
代码如下:
private void loadData() {
ParseQuery query = ParseQuery.getQuery("someClass");
query.include("someProperty1");
query.include("someProperty2");
query.include("someProperty3");
query.orderByAscending("sequence");
query.whereEqualTo("owner", ParseUser.getCurrentUser());
// This next line causes the warning
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> items, ParseException e) {
if (e != null) {
// Error handling here
} else {
// Got query results here
}
}
});
}
出现的警告是:
Unchecked call to 'findInBackground(FindCallback < T >)' as a member of raw type 'com.parse.ParseQuery'.
当您允许为您自动完成 "fill out" 一个 new FindCallback
时,您会得到:
query.findInBackground(new FindCallback() {
@Override
public void done(List list, ParseException e) {
}
@Override
public void done(Object o, Throwable throwable) {
}
});
嗯,这很烦人,因为返回的实际结果是类型 ParseObject
的 List
。因此,我将该代码编辑为上面的代码以简化我的代码。有趣的是,甚至自动完成代码 也有与之相关的相同警告。
我想我理解生成此警告的原因,但我已尽我所能尝试指定我的类型。我还能做些什么来让我的代码正常工作吗?或者更确切地说,鉴于我无法重写 Parse 的代码,我该如何 正确修复 这个警告?
您只需输入您的 ParseQuery:
将ParseQuery query
替换为ParseQuery<ParseObject> query