我嘗試使用Volley從服務器加載圖像時出現一些錯誤。獲取圖像時排除錯誤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")
。
我讀過一些關於我的同樣問題的問題,但我沒有得到任何解決方案。
'錯誤的網址kinandayu.com' ...您從中缺少'http://'。 –
'String GET_JSON_DATA_HTTP_URL =「http://www.kinandayu.com/image_content/getAllImage.php」;'我已經添加http://以上@ cricket_007 –
不,不是...你是否打開了該地址你的瀏覽器?看看JSON –