我正在使用Parse.com數據庫系統。在我的Android應用程序中,用戶選擇他們是哪個人(所有數據已經加載到數據庫中)。用戶被保存並記住。Parse.com - Android - 在大對象列表中搜索3個對象
該應用程序是我的教堂主辦的本地排球比賽。我有一項活動向他們展示了未來的3場比賽。
這是我的問題。我如何掃描整個Parse.com類並從中取出3個對象?
這裏是我的Parse.com類(這只是一些假團隊一起打耳光,所以我可以測試應用程序(事件在10個月內))。
鏈接:http://i.gyazo.com/c86a2a2f50a4bfdd8762e689c1b77585.png
(我不能直接把圖片了(我需要10 REP))。
這裏是我的代碼變量:
//Variable Members
String usernameString;
String ageString;
String ageGroupGames;
String game1;
String game2;
String game3;
int ageGroupInt;
int team;
int i = 0;
int i2;
int i3;
int MethodGameLog = 0;
int simpleID1;
String teamNumber;
TextView username;
TextView sched1;
TextView sched2;
TextView sched3;
TextView gameL1;
TextView gameL2;
TextView gameL3;
String g1t1;
String g1t2;
String g2t1;
String g2t2;
String g3t1;
String g3t2;
g1t1
代表遊戲1隊1,依此類推。所有變量都設置爲它們應該是的,以及所有but g1t1, g2t1, ect
。
這是我嘗試代碼:
public void singleGameData(int simpleID) {
ParseQuery<ParseObject> query = new ParseQuery<ParseObject>(ageGroupGames);
simpleID1 = simpleID;
query.whereEqualTo("team1", simpleID);
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> list, ParseException e) {
if (e == null) {
if(team == -3){
Toast.makeText(getApplicationContext(), "The toast has been burnt!", Toast.LENGTH_SHORT);
return;
}
for (i = i; i < list.size(); i++) {
if(MethodGameLog == 0){
g1t1 = list.get(i).getString("team1");
g1t2 = list.get(i).getString("team2");
} else if (MethodGameLog == 1){
g2t1 = list.get(i).getString("team1");
g2t2 = list.get(i).getString("team2");
} else if(MethodGameLog == 2){
g3t1 = list.get(i).getString("team1");
g3t2 = list.get(i).getString("team2");
} else {
Toast.makeText(getApplicationContext(), "The toast has been fried!", Toast.LENGTH_SHORT);
}
MethodGameLog++;
if(MethodGameLog < 2) {
for (i = 0; i < list.size(); i++) {
singleGameData(simpleID1);
}
}
}
} else { //if no game1 in team1 search
for (i = i; i < list.size(); i++) {
if(MethodGameLog == 0){
g1t1 = list.get(i).getString("team1");
g1t2 = list.get(i).getString("team2");
i2 = i;
} else if (MethodGameLog == 1){
g2t1 = list.get(i).getString("team1");
g2t2 = list.get(i).getString("team2");
} else if(MethodGameLog == 2){
g3t1 = list.get(i).getString("team1");
g3t2 = list.get(i).getString("team2");
}
MethodGameLog++;
if(MethodGameLog < 2){
for (i = 0; i < list.size(); i++) {
singleGameData(simpleID1);
}
}
}
}
}
});
}
我能得到什麼,當我運行的方法:我沒有得到任何錯誤,但我得到:
g1t1 = null
g1t2 = null
ect........
我把它們變成一個字符串:
:String game1 = g1t1 + " vs " + g1t2
,然後在屏幕上設置
textview1.setText(game1);
但我在屏幕上看到的是:
null vs null
你可以添加日誌消息findcallback的完成方法,並檢查您的查詢檢索你需要的數據? – 55597
您可以提供您的要求,沒有所有的細節,因爲我有點混淆你的實際要求是什麼。 –
@ 55597我已經添加log.w消息和日誌不**顯示他們。我在** onCreate **方法中調用方法(在調用了其他所有方法(因此每個需要事先定義的變量都已定義)之後))。我回顧了我自己的代碼,並且看起來一切都已到位。 Thx的答覆。沒有很多人知道Parse.com。 –