0

Android で AsyncTask を使用して mysql に接続しようとしていますが、問題が発生しています。インターフェイスを使用して AsyncTask からデータを返していますが、コードを実行すると次のエラーが発生します: 例外 RuntimeException. 本当にありがとうございました。

4

2 に答える 2

1

一般的なExceptionブロックをJSON解析のtry/catchに追加し、キャッチされたエラーを投稿します。

//parse json data
 try{
     JSONArray jarray = new JSONArray(result);
        for(int i=0 ; i<jarray.length() ; i++) {
        JSONObject ob = jarray.getJSONObject(i);
        String titulo = ob.getString("title");
        String cate = ob.getString("catid");
        int cat = Integer.parseInt(cate);
        String coord = ob.getString("extra_fields_search");

        String latitud = coord.substring(0, 9);
        Float lat_f = Float.parseFloat(latitud);
        int lat = lat_f *1000000;

        String longitud = coord.substring(10, 19);
        Float lon_f = Float.parseFloat(longitud);
        int lon = lon_f*1000000;

        GeoPoint point = new GeoPoint(lat, lon);
        negocioNuevo = new Negocio(titulo, cat, point);
        listaNegocios.add(negocioNuevo);
        }  
 }catch(JSONException e){
     Log.e("miError de JSON", "Error parsing JSON "+e.toString());
 }catch(Exception e){
     Log.e("miError de General", "Error parsing data "+e.toString());
 }
于 2012-12-12T16:04:44.553 に答える
0

接続クラスで置き換えてみてください

public Conexion(OnTaskCompleted listener){
    this.listener=listener;
}

public void setOnResultsListener(OnTaskCompleted listener) {
        this.listener = listener;
    }

次に、MainActivity で置き換えます。

Conexion conexion = new Conexion(this);
conexion.execute("tipo");

と:

Conexion conexion = new Conexion();
conexion.setOnResultsListener(this);
conexion.execute("tipo");
于 2012-12-12T14:11:06.517 に答える