Ron*_*shi 5 java android parse-platform parse-server parse-sdk-android
我正在开发具有Parse Platform的应用程序.要获取数据我正在调用ParseCloud.callFunctionInBackground函数.
我已将Parse及其子类注册到Application类中,如下所示:
public class App extends Application {
@Override
public void onCreate(){
super.onCreate();
Parse.setLogLevel(Parse.LOG_LEVEL_VERBOSE);
OkHttpClient.Builder builder = new OkHttpClient.Builder();
HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor();
httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
builder.networkInterceptors().add(httpLoggingInterceptor);
ParseObject.registerSubclass(ParseMessage.class);
Parse.initialize(new Parse.Configuration.Builder(this)
.applicationId("KEY")
.server("URL")
.build());
}
}
Run Code Online (Sandbox Code Playgroud)
我有下面扩展ParseObject的模型类:
@ParseClassName("ParseMessage")
public class ParseMessage extends ParseObject {
// Ensure that your subclass has a public default constructor
public ParseMessage() {
super();
}
public ParsePhoto getPhotos() {
return (ParsePhoto) getParseObject("photos");
}
public void setPhotos(ParsePhoto value) {
put("photos", value);
}
public String getCaption() {
return getString("caption");
}
public void setCaption(String value) {
put("caption", value);
}
}
Run Code Online (Sandbox Code Playgroud)
当我从片段中调用以下方法时:
HashMap<String, Object> params = new HashMap<String, Object>();
ParseCloud.callFunctionInBackground("MY_METHOD", params, new FunctionCallback<ArrayList<ParseMessage>>() {
public void done(ArrayList<ParseMessage> mapObject, ParseException e) {
if (e == null) {
ParseMessage object = mapObject.get(i);
}
} else {
}
}
});
Run Code Online (Sandbox Code Playgroud)
但我得到以下异常:
java.lang.ClassCastException:com.parse.ParseObject无法强制转换为com.example.ParseMessage
我已经从谷歌和Stackoverflow搜索了很多东西,但我没有得到任何解决方案.任何人都可以帮助我,因为我已经花了很多时间在这上面.以下是我从Parse获得的回复:
小智 0
您提供的信息不是很具体,但从调试器屏幕来看,您似乎正在尝试转换ParsePhoto为ParseMessage. ParsePhoto是 的子类ParseObject,我相信这是导致问题的原因。
| 归档时间: |
|
| 查看次数: |
244 次 |
| 最近记录: |