私はParseを使用しており、2 つのモデル間に 1 対 1 の関係を作成しました (場所にはキューがあります)。場所だけを使用してキューの属性を取得するにはどうすればよいですか?
質問する
1067 次
2 に答える
2
Parseを使い始めたばかりです。Android documentationによると、それらを保存する前に、キュー ParseObject を場所 ParseObject に追加する必要があります (またはその逆)。
2 つの間の関係をロケーション オブジェクト に配置すると仮定すると、次のような方法でキューをプルできるはずです。
保管:
// Create location
ParseObject location = new ParseObject("Location");
location.put("foo", "bar");
// Create queue
ParseObject queue = new ParseObject("Queue");
queue.put("name", "Ben");
// Store the queue in the location (location will contain a pointer to queue)
location.put("Queue", queue);
// Save both location and queue
location.saveInBackground();
取得中:
// Retrieve location using objectId
ParseQuery query = new ParseQuery("Location");
query.getInBackground("QkKt30WhIA", new GetCallback() { // objectId!
public void done(ParseObject object, ParseException e) {
if (e == null) {
// Location found! Query for the queue
object.getParseObject("Queue").fetchIfNeededInBackground(new GetCallback() {
public void done(ParseObject object, ParseException e) {
// Queue found! Get the name
String queueAttr = object.getString("name");
Log.i("TEST", "name: " + queueAttr);
}
});
}
else {
// something went wrong
Log.e("TEST", "Oops!");
}
}
});
于 2013-01-25T03:14:54.473 に答える
0
これは私がやったことです:
// create qLocation
ParseObject qLocation = new ParseObject("QLocations");
qLocation.put("name", qname);
qLocation.put("streetAddress", streetAddress);
qLocation.put("cityState", cityState);
// create qLine
ParseObject qLine = new ParseObject("Lines");
Random r = new Random();
qLine.put("length", r.nextInt(10)); //set line length to a random number between 0-10
qLine.put("qName",qname);
// add relationship
qLine.put("parent", qLocation);
// save line and location
qLine.saveInBackground();
最後に、行 qline.put("parent", qLocation); その関係を使用して特定の場所からキューを取得する方法がわからなかったため、問題になりませんでした。そのため、qLineの列「qName」を使用して、どのキューがどの場所に関連付けられているかを確認しました。
于 2013-01-25T03:40:35.483 に答える