2016-11-22 2 views
1

У меня есть некоторая ошибка при попытке загрузить изображение с сервера с помощью Volley.Ошибка с Volley Bad URL при получении изображения

Это мой журнал:

E/Volley: [31648] NetworkDispatcher.run: Unhandled exception java.lang.RuntimeException: Bad URL kinandayu.com/image_content/uploads/103.png 
    java.lang.RuntimeException: Bad URL kinandayu.com/image_content/uploads/103.png 
     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:144) 
     at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112) 
    Caused by: java.net.MalformedURLException: Protocol not found: kinandayu.com/image_content/uploads/103.png 
     at java.net.URL.<init>(URL.java:176) 
     at java.net.URL.<init>(URL.java:125) 
     at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:102) 
     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:96) 
     at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112)  
E/Volley: [31650] NetworkDispatcher.run: Unhandled exception java.lang.RuntimeException: Bad URL kinandayu.com/image_content/uploads/106.png 
    java.lang.RuntimeException: Bad URL kinandayu.com/image_content/uploads/106.png 
     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:144) 
     at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112) 
    Caused by: java.net.MalformedURLException: Protocol not found: kinandayu.com/image_content/uploads/106.png 
     at java.net.URL.<init>(URL.java:176) 
     at java.net.URL.<init>(URL.java:125) 
     at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:102) 
     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:96) 
     at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112)  
E/Volley: [31651] NetworkDispatcher.run: Unhandled exception java.lang.RuntimeException: Bad URL kinandayu.com/image_content/uploads/106.png 
    java.lang.RuntimeException: Bad URL kinandayu.com/image_content/uploads/106.png 
     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:144) 
     at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112) 
    Caused by: java.net.MalformedURLException: Protocol not found: kinandayu.com/image_content/uploads/106.png 
     at java.net.URL.<init>(URL.java:176) 
     at java.net.URL.<init>(URL.java:125) 
     at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:102) 
     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:96) 
     at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112)  
E/Volley: [31649] NetworkDispatcher.run: Unhandled exception java.lang.RuntimeException: Bad URL kinandayu.com/image_content/uploads/103.png 
    java.lang.RuntimeException: Bad URL kinandayu.com/image_content/uploads/103.png 
     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:144) 
     at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112) 
    Caused by: java.net.MalformedURLException: Protocol not found: kinandayu.com/image_content/uploads/103.png 
     at java.net.URL.<init>(URL.java:176) 
     at java.net.URL.<init>(URL.java:125) 
     at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:102) 
     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:96) 
     at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112)  
E/Volley: [31648] NetworkDispatcher.run: Unhandled exception java.lang.RuntimeException: Bad URL kinandayu.com/image_content/uploads/0.png 
    java.lang.RuntimeException: Bad URL kinandayu.com/image_content/uploads/0.png 
     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:144) 
     at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112) 
    Caused by: java.net.MalformedURLException: Protocol not found: kinandayu.com/image_content/uploads/0.png 
     at java.net.URL.<init>(URL.java:176) 
     at java.net.URL.<init>(URL.java:125) 
     at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:102) 
     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:96) 
     at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112)  
E/Volley: [31650] NetworkDispatcher.run: Unhandled exception java.lang.RuntimeException: Bad URL kinandayu.com/image_content/uploads/107.png 
    java.lang.RuntimeException: Bad URL kinandayu.com/image_content/uploads/107.png 
     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:144) 
     at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112) 
    Caused by: java.net.MalformedURLException: Protocol not found: kinandayu.com/image_content/uploads/107.png 
     at java.net.URL.<init>(URL.java:176) 
     at java.net.URL.<init>(URL.java:125) 
     at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:102) 
     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:96) 
     at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112)  
E/Volley: [31651] NetworkDispatcher.run: Unhandled exception java.lang.RuntimeException: Bad URL kinandayu.com/image_content/uploads/0.png 
    java.lang.RuntimeException: Bad URL kinandayu.com/image_content/uploads/0.png 
     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:144) 
     at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112) 
    Caused by: java.net.MalformedURLException: Protocol not found: kinandayu.com/image_content/uploads/0.png 
     at java.net.URL.<init>(URL.java:176) 
     at java.net.URL.<init>(URL.java:125) 
     at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:102) 
     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:96) 
     at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112)  
E/Volley: [31651] NetworkDispatcher.run: Unhandled exception java.lang.RuntimeException: Bad URL kinandayu.com/image_content/uploads/107.png 
    java.lang.RuntimeException: Bad URL kinandayu.com/image_content/uploads/107.png 
     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:144) 
     at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112) 
    Caused by: java.net.MalformedURLException: Protocol not found: kinandayu.com/image_content/uploads/107.png 
     at java.net.URL.<init>(URL.java:176) 
     at java.net.URL.<init>(URL.java:125) 
     at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:102) 
     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:96) 
     at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112)  

Это мой Activity.java:

public class Child_Tab1 extends Activity { 

    List<GetDataAdapter> GetDataAdapter1; 
    RecyclerView recyclerView; 
    RecyclerView.LayoutManager recyclerViewlayaoutManager; 
    RecyclerView.Adapter recyclerViewadapter; 
    String GET_JSON_DATA_HTTP_URL = "http://www.kinandayu.com/image_content/getAllImage.php"; 
    String JSON_IMAGE_TITLE_NAME = "id"; 
    String JSON_IMAGE_URL = "image"; 

    JsonArrayRequest jsonArrayRequest; 
    RequestQueue requestQueue; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.child_tab_1); 
    GetDataAdapter1 = new ArrayList<>(); 
    recyclerView = (RecyclerView) findViewById(R.id.rv1); 
    recyclerView.setHasFixedSize(true); 
    recyclerViewlayaoutManager = new LinearLayoutManager(this); 
    recyclerView.setLayoutManager(recyclerViewlayaoutManager); 

    JSON_DATA_WEB_CALL(); 
    } 

    private void JSON_DATA_WEB_CALL() { 
    jsonArrayRequest = new JsonArrayRequest(GET_JSON_DATA_HTTP_URL, new Response.Listener<JSONArray>() { 
     @Override 
     public void onResponse (JSONArray response) { 
      JSON_PARSE_DATA_AFTER_WEBCALL(response); 
     } 
    }, 
    new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 

     } 
    }); 
    requestQueue = Volley.newRequestQueue(this); 
    requestQueue.add(jsonArrayRequest); 
    } 

    public void JSON_PARSE_DATA_AFTER_WEBCALL(JSONArray array) { 
    for (int i = 0; i<array.length(); i++) { 
     GetDataAdapter GetDataAdapter2 = new GetDataAdapter(); 
     JSONObject json = null; 
     try { 
      json = array.getJSONObject(i); 

    GetDataAdapter2.setImageTitleNamee(json.getString(JSON_IMAGE_TITLE_NAME)); 
    GetDataAdapter2.setImageServerUrl(json.getString(JSON_IMAGE_URL)); 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 
     GetDataAdapter1.add(GetDataAdapter2); 
    } 
     recyclerViewadapter = new RecyclerViewAdapter(GetDataAdapter1, this); 
     recyclerView.setAdapter(recyclerViewadapter); 
     } 
    } 

Это мой ServerImageParseAdapter.java:

public class ServerImageParseAdapter { 
    public static ServerImageParseAdapter SIAdapter; 
    public static Context context1; 
    public RequestQueue requestQueue1; 
    public ImageLoader ImageLoader1; 
    public Cache cache1; 
    public Network networkOBJ; 
    LruCache<String, Bitmap> LRUCACHE = new LruCache<String, Bitmap>(30); 

    private ServerImageParseAdapter(Context context) { 
     this.context1 = context; 
     this.requestQueue1 = RQ(); 
     ImageLoader1 = new ImageLoader(requestQueue1, new ImageLoader.ImageCache() { 

     @Override 
     public Bitmap getBitmap(String URL) { 
      return LRUCACHE.get(URL); 
     } 

     @Override 
     public void putBitmap(String url, Bitmap bitmap) { 
      LRUCACHE.put(url,bitmap); 
     } 
     }); 
    } 

    public ImageLoader getImageLoader() { 
    return ImageLoader1; 
    } 

    public static ServerImageParseAdapter getInstance(Context SynchronizedContext) { 
    if (SIAdapter == null) { 
     SIAdapter = new ServerImageParseAdapter(SynchronizedContext); 
    } 
    return SIAdapter; 
    } 

    public RequestQueue RQ() { 
    if (requestQueue1 == null) { 
     cache1 = new DiskBasedCache(context1.getCacheDir()); 
     networkOBJ = new BasicNetwork(new HurlStack()); 
     requestQueue1 = new RequestQueue(cache1, networkOBJ); 
     requestQueue1.start(); 
    } 
    return requestQueue1; 
    } 
} 

Я использую компиляции ' com.android.volley: volley: 1.0.0 '

Проблема заключается в том, что изображение не отображается в моем CardView, но отображается имя image("id").
Я прочитал несколько вопросов относительно моей же проблемы, но у меня нет никакого решения.

+0

«Плохой URL-адрес kinandayu.com» ... У вас отсутствует «http: //». –

+0

'String GET_JSON_DATA_HTTP_URL =" http://www.kinandayu.com/image_content/getAllImage.php ";' я уже добавляю http: // выше @ cricket_007 –

+0

Нет, не так ... Вы открыли этот адрес в ваш браузер? Посмотрите на JSON –

ответ

2

Это проблема на стороне сервера. Вам нужно fix your PHP & JSON, чтобы получить правильные адреса URL,

{ 
    "id": "106", 
    "image": "kinandayu.com\/image_content\/uploads\/103.png" 
} 

Если вы не можете сделать это, а затем добавить http:// на струнах URL изображения.

String imgURL = json.getString(JSON_IMAGE_URL); 
if (!imgURL.startsWith("http://") { 
    imgURL = "http://"+imgURL; 
} 
GetDataAdapter2.setImageServerUrl(imgURL); 
+1

Я думаю, что http: // необходимо –

+0

@AbhishekSingh Right .. . Это то, что я сказал. Я скопировал этот JSON прямо из URL-адреса в коде. http://www.kinandayu.com/image_content/getAllImage.php –

+0

@ cricket_007 wait Я попробую добавить свой код –

Смежные вопросы