0
我想查詢我的應用程序中註冊的所有parse.com用戶。我跟着引導寫下了這個查詢Parse.com查詢無法檢索多個對象
try{
name=Name.getText().toString();
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.whereMatches("username", name);
query.findInBackground(new FindCallback<ParseUser>() {
public void done(List<ParseUser> objects, ParseException e) {
if (e == null) {
if (!objects.isEmpty()) {
show.setText(String.valueOf(objects.size()));
for (ParseUser singleobject : objects) {
mail[i] = singleobject.get("email").toString();
uname[i] = singleobject.get("username").toString();
i++;
}
} else {
show.setText("No Tuples");
}
} else {
Toast.makeText(getApplicationContext(), "Query Not Successful", Toast.LENGTH_LONG).show();
}
}
});
}catch (NullPointerException x){
Toast.makeText(getApplicationContext(), "Null Pointer Exception", Toast.LENGTH_LONG);
}}
這個查詢工作良好,當輸入檢索一個元組,但是當我給檢索多個元組則拋出一個空指針異常喜歡這個
Process: com.example.nirmal.sportsparse, PID: 15097
java.lang.NullPointerException
at com.example.nirmal.sportsparse.search_players$2.done(search_players.java:108)
at com.example.nirmal.sportsparse.search_players$2.done(search_players.java:99)
at com.parse.ParseTaskUtils$2$1.run(ParseTaskUtils.java:115)
at android.os.Handler.handleCallback(Handler.java:808)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:5292)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640)
at dalvik.system.NativeStart.main(Native Method)
輸入
錯誤代碼說明for
循環內的findInBackground()
和 中有一個NULL指針。我相信我給出的輸入必須檢索至少2個元組。
有時也拋出這個錯誤,我不知道這是什麼意思
libcore.io.ErrnoException: close failed: EBADF (Bad file number)
at libcore.io.Posix.close(Native Method)
at libcore.io.BlockGuardOs.close(BlockGuardOs.java:75)
at com.android.internal.os.ZygoteInit.closeServerSocket(ZygoteInit.java:220)
at com.android.internal.os.ZygoteConnection.handleChildProc(ZygoteConnection.java:879)
at com.android.internal.os.ZygoteConnection.runOnce(ZygoteConnection.java:242)
at com.android.internal.os.ZygoteInit.runSelectLoop(ZygoteInit.java:700)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
at dalvik.system.NativeStart.main(Native Method)
陣列被聲明如下
String name,mail[]=new String[100],uname[]=new String[100];
誰能告訴我在哪裏,我錯了? ?
什麼 '我' 值u宣佈在哪裏? –
@RameshBhupathi i在try塊之前被初始化。看起來我在粘貼代碼時沒有複製它。但它在那裏,並初始化爲0. –
檢查數組的聲明,它更好地使用Arraylists而不是陣列 –