#android
#Android
Вопрос:
У меня есть данные записи в моей базе данных (MySQL) путь к изображению также в другой таблице
Я запросил путь к изображению в Android, и я могу получить свои изображения, но проблема возникла в logcat введите описание изображения здесь
вот так….
private void showRankingByMedal() {
class RankingPHPRequest extends AsyncTask<String, Void, String> {
private URL url;
public RankingPHPRequest(String url) throws MalformedURLException {
this.url=new URL(url);
}
private String readStream(InputStream in) throws IOException {
StringBuilder jsonHtml = new StringBuilder();
BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
String line = null;
while((line = reader.readLine()) != null)
jsonHtml.append(line);
reader.close();
//System.out.println(jsonHtml.toString() "READING");
return jsonHtml.toString();
}
@Override
protected String doInBackground(String... params) {
try {
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestMethod("POST");
conn.setConnectTimeout(5000);
conn.setDoOutput(true);
conn.setDoInput(true);
String result = readStream(conn.getInputStream());
conn.disconnect();
return resu<
}
catch (Exception e) {
Log.i("PHPRequest", "request was failed.");
return null;
}
}
@Override
protected void onPostExecute(String s) {
Bitmap bitmap;
listView1 = (ListView) view.findViewById (R.id.ranking_medal_listview);
adapter = new RankingAdapter(getActivity().getBaseContext(), 3);
Resources res = getResources();
listView1.setAdapter(adapter);
super.onPostExecute(s);
try {
JSONObject jObject = new JSONObject(s);
JSONArray results = jObject.getJSONArray("result");
System.out.println(results.toString());
username = new String[results.length()];
goldMedal = new String[results.length()];
silverMedal = new String[results.length()];
bronzeMedal = new String[results.length()];
imagepath = new String[results.length()];
for ( int i = 0; i < results.length(); i ) {
JSONObject temp = results.getJSONObject(i);
username[i] = temp.getString("name");
goldMedal[i] = temp.getString("gold");
silverMedal[i] = temp.getString("silver");
bronzeMedal[i] = temp.getString("bronze");
imagepath[i] = temp.getString("imagepath");
}
for(int i=0; i<results.length(); i) {
try {
URL url = new URL(imagepath[i]);
System.out.println(imagepath[i] "%%%%%%%%%%%%%%%%");
URLConnection conn = url.openConnection();
conn.connect();
BufferedInputStream bis = new BufferedInputStream(conn.getInputStream());
bitmap = BitmapFactory.decodeStream(bis);
bis.close();
String totalMedal = goldMedal[i] " " silverMedal[i] " " bronzeMedal[i];
System.out.println("@@@@@@@@@@@@@@@@@" username[i]);
System.out.println(totalMedal);
adapter.addItem(new RankingObject(bitmap, String.valueOf(i 1), username[i], totalMedal));
} catch (Exception e) {
e.printStackTrace();
}
}
} catch (JSONException e) {
e.printStackTrace();
}
listView1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
RankingObject curItem = (RankingObject) adapter.getItem(position);
String[] curData = curItem.getData();
}
});
}
}
RankingPHPRequest rankingPHPRequest = null;
try {
rankingPHPRequest = new RankingPHPRequest("http://117.17.158.242/ranking/getRankingByMedal.php");
rankingPHPRequest.execute();
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
Я должен использовать другой сетевой запрос из-за пути к изображению
Должен ли я выполнять двойную асинхронную задачу (AsyncTask внутри AsyncTask)??
пожалуйста, помогите мне проблема не решена почти неделю
Комментарии:
1. Добро пожаловать в SO. Не публикуйте код или ошибки в виде изображений.
2.
this.url=new URL(url);
Сообщите нам значениеurl
. И поместите всю информацию в текст. Не только в теме.3. ваш URL-адрес может быть
null
4. Нет, это не null, но я могу получить правильный URL…
5. но я не знаю, почему произошла ошибка