从 Parse.com 检索数据到 ArrayList<Object>
Posted
技术标签:
【中文标题】从 Parse.com 检索数据到 ArrayList<Object>【英文标题】:Retrieving data from Parse.com to ArrayList<Object> 【发布时间】:2016-06-15 19:17:18 【问题描述】:我必须尝试将 Data 下载到 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 ).
【问题讨论】:
【参考方案1】:你可以声明一个继承ParseObject
的子类。
在调用Parse.initialize()
之前,在您的应用程序构造函数中调用ParseObject.registerSubclass(YourClass.class)
。
关注这个Subclasses
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.
);
【讨论】:
以上是关于从 Parse.com 检索数据到 ArrayList<Object>的主要内容,如果未能解决你的问题,请参考以下文章
从 Parse.com 检索数据到 ArrayList<Object>
如何将检索到的对象从 parse.com 传递到 NSMutableArray 以与 UITableView 一起使用?