当我以这种方式传递arg时,一切正常:
new MerrTeDhenatEDegeve().execute("https://navigator.bkt.com.al/bktnavigator/al/deget/al_ilamre_deget.php");
当我以这种方式通过arg时它会崩溃:
sh_d sh_d_instance = new sh_d();
new MerrTeDhenatEDegeve().execute(new String(sh_d_instance.deshifro(url_Deget)));
这是我的异步类:
class MerrTeDhenatEDegeve extends AsyncTask<String, String, String> {
// Marrja e te dhenave te degeve
protected String doInBackground(String... args) {
// Ketu po krijojme parametrat qe do te na duhet per te krijuar querin ne db
List<NameValuePair> params = new ArrayList<NameValuePair>();
// Ketu po bejme kerkesen per tek serveri dhe presim te marrim pergjigjen e json ne string
JSONObject jsonDega = jParserDega.makeHttpRequest(args[0], "GET", params);
try {
// Si fillim kontrollojme nqs kemi sukses ne marrjen e te dhenave apo jo
int sukses = jsonDega.getInt(TAG_SUKSES);
if (sukses == 1) {
// Ne rast suksesi atehere dmth qe kemi marre te dhenat e degeve dhe fillojme qe ti vendosim ato ne listat perkatese te tyre
Deget = jsonDega.getJSONArray(TAG_DEGET);
// Bredhim tek secili objekt me te dhenat e vektorit json dhe per secilin prej objekteve marrim vlerat qe na duhen
for (int i = 0; i < Deget.length(); i++) {
JSONObject VlObj = Deget.getJSONObject(i);
// Rruajme te dhenat ne listat perkatese ne menyre qe pastaj ti kapim globalisht
listaDegaID.add(VlObj.getString(TAG_DEGE_DID));
listaDegaEmrave.add(VlObj.getString(TAG_DEGE_EMRI));
listaDegaAdresave.add(VlObj.getString(TAG_DEGE_ADRESA));
listaDegaQyteteve.add(VlObj.getString(TAG_DEGE_QYTETI));
listaDegaLat.add(VlObj.getString(TAG_DEGE_LATITUDE));
listaDegaLng.add(VlObj.getString(TAG_DEGE_LONGITUDE));
listaDegaUrlFoto1.add(VlObj.getString(TAG_DEGE_URLFOTO_1));
}
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
}
当它从另一个返回字符串的方法获取数据时崩溃。
我需要帮助。 谢谢
答案 0 :(得分:0)
你有哪些错误?你可以发布堆栈跟踪吗?很难说没有看到堆栈的东西,但是,我会告诉你检查这个deshifro
方法的结果。如果返回null,则可能是在此处获得nullPointerException:JSONObject jsonDega = jParserDega.makeHttpRequest(args[0], "GET", params);