【发布时间】:2016-01-18 09:15:41
【问题描述】:
我正在尝试使用 volley 从服务器中的文件夹中检索图像。该应用程序工作了一次,但是当我从 android studio 运行应用程序时,突然间,我没有收到 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);
}
}
【问题讨论】:
-
尝试记录响应
-
您确定您的 WLAN 已启用?
-
您是否在清单中添加了互联网权限??
-
记录您的响应并设置错误图像以确保出现错误
mImageView.setImageResource(R.drawable.image_load_error); -
@ Shree Krishna 我已经这样做了,它会返回错误消息。 @Vivek Mishra 我添加了互联网权限。你想看看我的 android manifest 文件吗
标签: android json android-volley