android java.net.MalformedURLException: протокол не найден: null

#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. но я не знаю, почему произошла ошибка