【问题标题】:Trouble with the Parse tutorial (Android)解析教程的问题(Android)
【发布时间】:2015-01-17 22:26:33
【问题描述】:

我正在尝试使用 Parse 来编写 Android 应用程序。我正在关注此链接上的教程:https://www.parse.com/docs/android_guide

虽然教程/指南相当简单,但我在查询 Parse 数据库时遇到了问题。指南的具体部分是:https://www.parse.com/docs/android_guide#objects-retrieving

相关部分的代码:

ParseQuery<ParseObject> query = ParseQuery.getQuery("GameScore");
query.getInBackground("xWMyZ4YEGZ", new GetCallback<ParseObject>(){ 
    public void done(ParseObject object, ParseException e){ 
        if (e == null){ 
        // object will be your game score 
        } else { 
        // something went wrong 
        } 
    } 
});

我使用的是 Android Studio 1.0.1,我得到的错误是:

“从 GetCallback 派生的匿名类”必须是 声明抽象或实现抽象方法 'done(T,ParseException) 在 GetCallback 中

任何有关如何解决此问题的帮助或建议将不胜感激,谢谢。

编辑:

原来只是我在 Parse.com 上的数据库以某种方式损坏了......无论出于何种原因,创建一个新数据库都会修复它。然而,我还有另一个问题。我可以在 done 函数内部进行调试,并且该对象包含所有信息。但是,我无法在 done 函数之外提取它。这是怎么做的?谢谢。

【问题讨论】:

  • 如果将@Override 添加到done 方法会发生什么?
  • GetCallback 上的相同错误,但在 @Override 上显示:方法不会覆盖其超类中的方法
  • 你想在 done 函数中调试什么对象??
  • 不,我在 done 函数中进行了调试,以查看 'object' 是否包含任何信息,它确实包含,但是我希望这些信息(或对象)在 done 函数之外。
  • 我的 IDE 没有导入 com.parse.ParseException,导致出现同样的错误,希望这对其他人有帮助

标签: java android parse-platform


【解决方案1】:

我遇到了同样的错误。就我而言,我自动导入了错误的库:

import java.text.ParseException;

而不是

import com.parse.ParseException;

只需检查您的导入即可。

【讨论】:

    【解决方案2】:

    我认为这是不可能的。 done 函数是查询完成时的回调方法。如果你调试你的代码,你会注意到它跳过了函数,因为它是异步调用的,这意味着应用程序不会等待它完成。

    一旦查询返回,您应该检查是否存在错误,然后在检索到解析对象后执行您需要的任何操作。

    【讨论】:

    • 那么我如何让它等待从 Parse 中检索到对象或稍后检索它?我觉得 Parse 网站在这方面略去了一点,或者我忽略了它——我试图尽可能地遵循上面链接的文档。
    • 对于每个函数,往往都有一个相应的同步方法,即 findInBackground (检查解析实际格式)。不建议使用同步方法,因为您的 UI 在等待查询完成时会冻结。我不确定您所说的“稍后检索”是什么意思。您在回调函数中检索数据(完成),然后在完成函数中执行任何您想做的事情。我想你想在 done 函数之外做的任何事情都可以在里面完成
    • 我不能在 done 函数中做任何我想做的事情。假设我想更改 textView 使其等于存储在对象中的字符串值。现在,我可以通过调试看到该对象确实包含该字符串,但我无法提取它 - 我无法让 done 函数更改 textView 属性。这就是我想从 done 函数中提取对象的原因,因为在 done 函数之外我无论如何都可以更改 textView。
    • 是的,你可以。我建议您查看上下文并在某些情况下检索它们。
    猜你喜欢
    • 2015-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多