0
我有一個android應用程序,它有兩個相鄰的查詢,它們都填充了私有變量。我在模擬器上運行它,並由於空指針異常而崩潰。在對它進行調試並跟蹤程序之後,它會轉到下面的代碼並完全跳過它並轉到imgFavorite行。有關爲何發生這種情況的任何建議?Windows Azure查詢不在Android應用程序中執行
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test_activity);
try {
mClient = new MobileServiceClient(
"https://classconnect.azure-mobile.net/",
"HzaUWkJBnWTXxCuREwxyQSaxJSyyJm51",
this
);
// TODO: 3 Get the Mobile Service Table instance to use
mUserTable = mClient.getTable(User.class);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mEmail = getIntent().getStringExtra("Email");
mUserTable.where().field("email").eq(mEmail).execute(new TableQueryCallback<User>() {
@Override
public void onCompleted(List<User> result, int arg1,
Exception arg2, ServiceFilterResponse arg3) {
// TODO Auto-generated method stub
if (arg2 == null){
if(!result.isEmpty()){
currentUser = result.get(0);
System.out.println(currentUser.getfName());
} else{
System.out.println("Error");
}
}
}
});
mUserTable.select("email").execute(new TableQueryCallback<User>(){
@Override
public void onCompleted(List<User> result, int arg1,
Exception arg2, ServiceFilterResponse arg3) {
// TODO Auto-generated method stub
if(arg2 == null){
for(User i : result){
allUsers.add(i.getEmail());
}
} else{
System.out.println("Error");
}
}
});
imgFavorite = (ImageView) findViewById(R.id.imageView1);
我應該更具體。當我試圖操縱我試圖從數據庫中獲取的「currentUser」時,我得到一個空指針。我使用oncreateview片段方法訪問它。我是否應該用這種方法執行等待或等待來自天藍色的響應? – rhoran2
我會考慮顯示一個活動指示器,以便用戶知道發生了什麼,然後在知道您收到回調代碼後對當前用戶進行操作。 – Chris