Я попытался загрузить изображение из URL с помощью OkHttp. Он возвращает null.Загрузка изображения с использованием OkHttp дает нуль
У меня есть разрешения
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Вот мой отдых Клиент
public class RestClient {
private static volatile RestClient instance;
private final OkHttpClient client;
private RestClient(Context context) throws Exception {
client = new OkHttpClient();
}
public static RestClient getInstance(Context context) throws Exception {
if (instance == null)
synchronized (RestClient.class) {
if (instance == null)
instance = new RestClient(context);
}
return instance;
}
public Call uploadPicture(Callback callback){
String link = "http://www.101apps.co.za/images/headers/101_logo_very_small.jpg";
Request request = new Request.Builder()
.url(String.format(link))
.get()
.build();
Call call = client.newCall(request);
call.enqueue(callback);
return call;
}
}
Вот мой метод getPicture в основной деятельности
public void getPicByURL() {
try {
RestClient.getInstance(getActivity()).uploadPicture(new Callback() {
@Override
public void onFailure(Request request, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Response response) throws IOException {
final String json = response.body().string();
if (response.code() == Constants.SUCCESSFUL_DOWNLOAD) {
ResponseBody in = response.body();
InputStream inputStream = in.byteStream();
BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
updateImage(BitmapFactory.decodeStream(bufferedInputStream));
}
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
private void updateImage(final Bitmap bitmap) {
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
if (bitmap != null) {
mSelectedPic.setImageBitmap(bitmap);
} else {
Toast.makeText(getActivity(), R.string.show_error, Toast.LENGTH_SHORT).show();
}
}
});
}
updateImage()
метод принимает растровый = NULL. Я не знаю, что я делаю неправильно. Пожалуйста помоги.
Вы проверили URL? открытие вашего url в borwser дает мне 404 не найдено – Raghunandan
@ Raghunandan - да. Другой URL-адрес также возвращает null – Jackky777
С этим изображением url ('http: // www.101apps.co.za/images/headers/101_logo_very_small.jpg') почему бы вам не использовать [Picasso] (http: //square.github .io/picasso /) или [Glide] (https://github.com/bumptech/glide)? – BNK