2016-01-18 35 views
0

我想從服務器中的文件夾中使用抽排檢索圖像。該應用程序的工作一次,但突然間,當我運行於Android工作室的應用程序,我不明白JSON響應,我得到了一個空白頁面JSON沒有響應

package com.example.alex.imagerequestapp; 

import android.graphics.Bitmap; 
import android.os.Bundle; 
import android.support.design.widget.FloatingActionButton; 
import android.support.design.widget.Snackbar; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.View; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.widget.ImageView; 

import com.android.volley.Response; 
import com.android.volley.VolleyError; 
import com.android.volley.toolbox.ImageRequest; 

public class MainActivity extends AppCompatActivity { 
ImageView mImageView; 
String url; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    //refernce both the image and the url to the image in the netwrok folder 
    mImageView = (ImageView) findViewById(R.id.myImage); 
    url = "http://192.168.56.1:80/bio_data_test/images/summerfestival.jpg"; 

    //begin the ImageRequest 
    ImageRequest request = new ImageRequest(url, 
      new Response.Listener<Bitmap>() { 
       @Override 
       public void onResponse(Bitmap bitmap) { 
        mImageView.setImageBitmap(bitmap); 
       } 
      }, 0, 0, null, 
      new Response.ErrorListener() { 
       public void onErrorResponse(VolleyError error) { 

       } 
      }); 
    // Access the RequestQueue through your AppConroller class. 
    // AppController.getmInstance().addToRequestQueue(request); 
    AppController.getmInstance().addToRequestQueue(request); 


    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
    fab.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 
        .setAction("Action", null).show(); 
     } 
    }); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_main, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.action_settings) { 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
    } 
} 
+0

嘗試記錄響應 –

+0

您確定您的WLAN已啓用? – vilpe89

+0

你是否在清單中添加了Internet權限? –

回答

0

如果你正在使用模擬器,你有本地服務器,使用此IP地址10.0.2.2

,你可以很容易地從url使用畢加索庫ImageView加載圖像,它處理網絡調用你

例如:

Picasso.with(getApplicationContext()).load(image_url).into(mImageView); 


where, 
mImageView ===> is your imageView instance after 
image_url ===> url of the image on the server 

添加Picasso庫添加以下代碼依賴於build.gradle文件塊這樣

compile 'com.squareup.picasso:picasso:2.5.2' 

,你將能夠使用picasso

0

我已經能夠解決這個問題..網址從192.168.56.1/bio_data_test/images/summerfestival.jpg更改爲192.168.56.2/bio_data_test/images/summerfestival.jpg。我在cmd上運行ipconfig後發現了這個問題。它改變了IP地址後,它工作。