Я разрабатываю приложение, используя Kinvey в качестве backend. Проблема, которую я получаю, заключается в том, что когда я вызываю запрос kinvey appData, тогда элемент управления не переходит в метод onsuccess вызова kinvey и возвращается обратно в место вызова метода. Вот мой основной класс, где я вызываю функцию, которая имеет клиентский вызов kinvey для извлечения данных.как onsuccess метод звонка клиента kinvey может быть синхронизирован
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ac_image_list);
// kinvey login here//
// here is the function that fetch my data from kinvey
GetAllCategory();
imageUrls=urls // this is the assignment that cause Null pointer Exception
}
теперь вот мои GetAllCategories функционируют
public void GetAllCategory(){
AsyncAppData<EntityCategories> myEvents=mKinveyClient.appData("categories", EntityCategories.class);
myEvents.get(new Query(), new KinveyListCallback<EntityCategories>(){
@Override
public void onFailure(Throwable error) {
// TODO Auto-generated method stub
Log.e(TAG, "failed to save event data", error);
}
@Override
public void onSuccess(EntityCategories[] result1) {
// TODO Auto-generated method stub
// Log.e(TAG,"Name is "+result1[0].get("name"));
// Log.e(TAG,"type is"+result1[0].get("type"));
categories=result1;
//onPrintCategoryClick();
for(int i=0;i<categories.length;i++){
imageUrls[i]=(String) categories[i].get("icon");
}
}
});
}
но контроль восходит к OnCreate метод только после выполнения вызова kinvey и не идут к OnSuccess методы. После выполнения всего метода oncreate он возвращается к onSuccess. но до тех пор приложение получило сбой из-за исключения указателя NUll.
Прошу прощения за мое плохое образование, спросите меня, если хотите, чтобы я объяснил больше. Предвидимое благодаря