2012-06-15 2 views
2

Итак, я разрабатываю приложение для 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.

Заранее спасибо.

+0

Никто? :/Я проделал некоторые тесты, я пытался увидеть, в какой момент кода, который компилятор остановил, но на самом деле он даже не доходит до начала кода, он падает непосредственно перед тем, как даже начать его выполнять. –

ответ

0

Попробуйте this обходной путь, он может решить вашу проблему.

Смежные вопросы