【问题标题】:Android studio with java带有java的Android工作室
【发布时间】:2020-05-07 16:05:12
【问题描述】:

我无法从数据库中获取数据,这里没有数据, 数据不显示在方法之外。 你能帮帮我吗?

List<Person> Refresh() {
    Person p = new Person();
    ParseQuery <ParseObject> query = ParseQuery.getQuery(NAME_DATABASE);
    query.findInBackground(new FindCallback<ParseObject>() {
        public void done(List<ParseObject> scoreList , ParseException e) {
            if (e == null) {
                for (int i = 0; i < scoreList.size(); i++){
                    p.setId(scoreList.get(i).getInt(Key.ID));
                    p.setName(scoreList.get(i).getString(Key.NAME));
                    p.setAge(scoreList.get(i).getString(Key.AGE));                       p.setDate_start(scoreList.get(i).getString(Key.DATE_START));
                    p.setMonth_number(scoreList.get(i).getString(Key.MONTH_NUMBER));
                    p.setPropriety(scoreList.get(i).getString(Key.PROPRIETY));
                    p.setPrice(scoreList.get(i).getString(Key.PRICE));
                    p.setGender(scoreList.get(i).getString(Key.GENDER));                       
                    persons.add(p); //there is find data
                }
            }
            else {
                Log.d("score", "Error: " + e.getMessage());
            }
        }
    });
    return persons; //here there isn't data (size=0)
}

【问题讨论】:

  • 嗨! (只是检查)您是否已经查看了您的应用程序的 API 参考?有一个可定制的代码可以帮助您从您想要的类中获取数据。您可以在仪表板 > API 参考中访问它

标签: back4app


【解决方案1】:

答案真的很简单。您正在返回 findInBackground() 方法之外的人员。

    else{
     Log.d("score", "Error: " + e.getMessage());
    }
     //Return here after the else statement
     return persons;
    }

注意:您可能希望将 person 设为全局变量,否则 android studio 会告诉您将其声明为 final 变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-27
    • 2020-07-29
    • 1970-01-01
    • 2020-11-13
    相关资源
    最近更新 更多