我正在尝试使用Android中的AsyncTask连接到mysql,但我遇到了并发症。我正在使用一个接口从AsyncTask返回数据,但是当我运行代码时,我收到以下错误:异常RuntimeException。非常感谢大家。
答案 0 :(得分:1)
将一般异常块添加到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());
}
答案 1 :(得分: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");