Die Anwendung funktioniert, wenn ich die URL in ReadJSON() fest codiert habe. Execute (meine URL hier);Die Bilder werden nicht aus der JSON-Datei in den ListView geladen
Aber nach dem Ändern der URL zu Texteingabe wird es keine Bilder laden.
Dies ist das erwartete Ergebnis: https://imgur.com/a/QyKG1
Hier ist die gesamte Datei: https://pastebin.com/e6Q5ViuS
Hier ist der Code, der den Fehler enthält:
class ReadJSON extends AsyncTask<String, Integer, String> {
@Override
protected String doInBackground(String... params) {
return readURL(params[0]);
}
@Override
protected void onPostExecute(String content) {
try {
JSONArray jsonArray = new JSONArray(content);
for(int i =0;i<jsonArray.length(); i++){
JSONObject productObject = jsonArray.getJSONObject(i);
arrayList.add(new Product(
productObject.getString("photo"),
productObject.getString("author")
));
}
} catch (JSONException e) {
e.printStackTrace();
}
CustomListAdapter adapter = new CustomListAdapter(
getApplicationContext(), R.layout.custom_list_layout, arrayList
);
lv.setAdapter(adapter);
}
}
private static String readURL(String theUrl) {
StringBuilder content = new StringBuilder();
try {
// create a url object
URL url = new URL(theUrl);
// create a urlconnection object
URLConnection urlConnection = url.openConnection();
// wrap the urlconnection in a bufferedreader
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
String line;
// read from the urlconnection via the bufferedreader
while ((line = bufferedReader.readLine()) != null) {
content.append(line + "\n");
}
bufferedReader.close();
} catch (Exception e) {
e.printStackTrace();
}
return content.toString();
}
}
Beachten Sie, dass StackOverflow Ihren Code lieber in der Post selbst statt der externen Links bevorzugt. Externe Links könnten in Zukunft nicht mehr funktionieren, was Ihre Frage für andere unklar macht. –