Итак, я разрабатываю приложение для Android, и у меня было java.lang.VerifyError
последние пару дней.
Я прочитал в сообщении stackoverflow, что эта ошибка возникла из-за проблемы с возвратом (ожидаемый доход не тот, который он получает).Android: java.lang.VerifyError из-за универсального класса
Так что я считаю, что это связано с родовым классом, который вызывается в String, и я надеялся, что у кого-то есть решение!
Это общий класс:
public class ProcessJson {
public enum MessageType{
GetAppName,
GetItemsList
}
public static Object ProcessResult(MessageType messageType, String result) throws MalformedJsonException{
Gson gson = new Gson();
Object returnValue = null;
switch(messageType){
case GetAppName :
returnValue = gson.fromJson(result, String.class);
return returnValue;
case GetItemsList :
returnValue = gson.fromJson(result, Item[].class);
return returnValue;
}
return null;
}
}
Вот где я бросил класс:
public void LoginBtn_OnClick(View v){
ItemAdapter adapter = (ItemAdapter)this.itemListView.getAdapter();
//Clearing the ListView
if(adapter != null) {
this.itemListView.setAdapter(null);
}
//Fetch the AplicationName
String username = this.editTextUsername.getText().toString();
String appName = RESTClient.connect("ip/DevTest/WcfApi/Api1.svc/api1/appName", username);
try {
appName = (String)ProcessJson.ProcessResult(MessageType.GetAppName, appName);
appNameTextView.setText("Logged in as: " + appName);
} catch (MalformedJsonException e) {
e.printStackTrace();
appNameTextView.setText("Cannot Login");
}
catch (JsonSyntaxException e){
e.printStackTrace();
appNameTextView.setText("Cannot Login");
}
//Fetch the itemList
String itemList = RESTClient.connect("ip/DevTest/WcfApi/Api1.svc/api1/items", username);
try{
Item[] items = (Item[])ProcessJson.ProcessResult(MessageType.GetItemsList, itemList);
//Binding itemList to UI
//ItemAdapter itemAdapter = new ItemAdapter(this, R.layout.item_row, items);
//this.itemListView.setAdapter(itemAdapter);
} catch (MalformedJsonException e) {
e.printStackTrace();
appNameTextView.setText("Cannot Login");
}
catch (JsonSyntaxException e){
e.printStackTrace();
appNameTextView.setText("Cannot Login");
}
}
я управляю, чтобы избежать аварии, когда я поставил два try/catch блоки как комментарий. Именно это заставило меня поверить, что проблема связана с классом ProcessJson.
Заранее спасибо.
Никто? :/Я проделал некоторые тесты, я пытался увидеть, в какой момент кода, который компилятор остановил, но на самом деле он даже не доходит до начала кода, он падает непосредственно перед тем, как даже начать его выполнять. –