を取得Androidのは、非同期Iは、入力ストリームのURLからbipmapして解読しようとする画像
プレゼンターは、私が手MVPmain.presenterそれは、コードの一部です{
String LOG_TAG = "Presenter: ";
private final MVPmain.view view;
String url = "https://jsonplaceholder.typicode.com/";
public Presenter(MVPmain.view view) {
this.view = view;
}
void photosUrl() {
String photoUrl = "http://placehold.it/600/92c952";
AsyncLoadImage asyncLoadImage = new AsyncLoadImage();
asyncLoadImage.execute(photoUrl);
}
}
@Override
public void button_photos_clicked() {
photosUrl();
}
Bitmap loadImage(String url) {
Bitmap bitmapImage = null;
URL imageUrl = null;
HttpURLConnection httpURLConnection = null;
try {
imageUrl = new URL(url.replaceAll("\\r|\\n", ""));
httpURLConnection = (HttpURLConnection) imageUrl.openConnection();
bitmapImage = BitmapFactory.decodeStream(httpURLConnection.getInputStream());
Log.d(LOG_TAG, "Runneble: " + "OK");
} catch (MalformedURLException e) {
Log.e(LOG_TAG, "image url error: " + e);
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return bitmapImage;
}
class AsyncLoadImage extends AsyncTask<String, Void, Bitmap> {
String LOG_TAG = "AsyncLoadImage: ";
Bitmap bitmapImage;
@Override
protected Bitmap doInBackground(String... strings) {
String request = "";
final URL imageUrl = null;
JSONObject jsonObject = null;
for (final String address : strings) {
Log.d(LOG_TAG, "img url: " + address);
bitmapImage = loadImage(address);
}
return bitmapImage;
}
@Override
protected void onPostExecute(Bitmap bitmapImg) {
view.setPhotos(bitmapImg);
}
}
を}、実装
パブリッククラス例外:httpURLConnection.getInputStream()で接続が拒否されました。私は.getContentを試してこのエラーも受け取ります。 どうすればいいのか教えてください。
は このエラーケースを解決しAdWay!)
マニフェストに を追加しました –
はい。私はここから写真のアドレスを取得します:https://jsonplaceholder.typicode.com/photos/3、asynctaskはこのURLで動作しますが、image urlでは動作しません:http://placehold.it/600/92c952 。 例:このURL:https://image.flaticon.com/teams/slug/freepik.jpg仕事... –