android - 从 Parse.com 检索数据到 ArrayList<Object>

标签 android parse-platform local-datastore

我必须尝试将数据下载到 ArrayList 中。当我在 done() 方法中调用它时没问题,但是当我在 done() 之外调用它时它将为空。我该如何解决?

        ParseQuery<ParseObject> query = ParseQuery.getQuery("code");
    query.findInBackground(new FindCallback<ParseObject>() {
        public void done(List<ParseObject> provineList, ParseException e) {
            if (e == null) {
                for (ParseObject mProvine : provineList) {
                    Provine provine = new Provine();
                    provine.setPro((String) mProvine.get("provine"));
                    provine.setNumber((String) mProvine.get("code_number"));
                    provines.add(provine);
                    Log.d("All provine", provines.get(i).getPro()); (it's ok, no problem).
                    i++;
                }
            } else
                Log.d("Provines", "Error: " + e.getMessage());
            }
        }
    });
Log.d("All provine", provines.get(0).getPro()); (it's null ).

最佳答案

您可以声明一个扩展 ParseObject 的子类。

在调用 Parse.initialize() 之前,在您的应用程序构造函数中调用 ParseObject.registerSubclass(YourClass.class)

遵循此子类 https://www.parse.com/docs/android/guide#objects-subclassing-parseobject

      // Armor.java
    import com.parse.ParseObject;
    import com.parse.ParseClassName;

    @ParseClassName("Armor")
    public class Armor extends ParseObject {
    }

    // App.java
    import com.parse.Parse;
    import android.app.Application;

    public class App extends Application {
      @Override
      public void onCreate() {
        super.onCreate();

        ParseObject.registerSubclass(Armor.class);
        Parse.initialize(this, PARSE_APPLICATION_ID, PARSE_CLIENT_KEY);
      }
    }

在查询时,您会以 ArrayList 形式获取该数据。

ParseQuery<Armor> query = ParseQuery.getQuery(Armor.class);
query.whereLessThanOrEqualTo("rupees", ParseUser.getCurrentUser().get("rupees"));
query.findInBackground(new FindCallback<Armor>() {
  @Override
  public void done(List<Armor> results, ParseException e) {

    // here you can use results same as object model.


  }
});

关于android - 从 Parse.com 检索数据到 ArrayList<Object>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35755653/

相关文章:

android - 如何不通过 xml 将文本放在图像按钮上

ios - 解析 API - Facebook 登录在 iPhone 设备上不起作用

xcode - 检测用户是否报告了当前项目

ios - 更改 PFUser 用户名,解析与 Facebook 的集成

ios - Parse.com 本地数据存储 : Tried to save an object with a new, 未保存的子项

Android,我们可以使用 Parse LocalDataStore 进行本地存储吗?

java - 两个不同时区之间的时差计算?

Android报错: java. lang.Object无法解析,缺少Android 4.2.2 "directory"

java - 如何在单个viewholder中实现onClickListener和onLongClickListener?

ios - 解析本地数据存储不一致