AndroidはネットワークのUrlリソースをDrawableリソース方式に変換します。
Overview
今日の開発学習では、AppのflashページにBingを追加する必要があります。これらは簡単ですが、画像のギャルを手に入れた時、私はとてもばつが悪い問題に出会いました。どのようにUrlをDrawablに変換し、ImageViewに追加しますか?
こちらで写真を取得したUrlは言いません。どうやってUrlをDrawableに変換するか見てみます。
UrlがDrawableに変換される
まずソースを見ます。
それから私達は私達のソースコードによって一波を分析します。
首相は我々がドラブルを作った。
そして私たちはUrl資源を通じてDrawable資源を生成します。
このように私達のUrlネットワークの資源はDrawableに変換して完成します。
補足知識:URL DrawableのAndroidからネットワーク画像を取得する3つの方法
Androidでネットワーク画像を取得するのは時間がかかる操作です。直接取得すると、アプリケーションが応答しない場合があります。この場合、一般的な方法は時間をかけてスレッドを使って行うことである。以下の3つの方法でurl画像を取得します。
1.直接取得:(容易:ANR、不推奨)
今日の開発学習では、AppのflashページにBingを追加する必要があります。これらは簡単ですが、画像のギャルを手に入れた時、私はとてもばつが悪い問題に出会いました。どのようにUrlをDrawablに変換し、ImageViewに追加しますか?
こちらで写真を取得したUrlは言いません。どうやってUrlをDrawableに変換するか見てみます。
UrlがDrawableに変換される
まずソースを見ます。
private Drawable loadImageFromNetwork(String imageUrl) {
Drawable drawable = null;
try {
drawable = Drawable.createFromStream(
new URL(imageUrl).openStream(), "image.jpg");
} catch (IOException e) {
Log.d("test", e.getMessage());
}
if (drawable == null) {
Log.d("test", "null drawable");
} else {
Log.d("test", "not null drawable");
}
return drawable;
}
この部分は私達がネットのUrl資源をDrawable資源に変えました。それから私達は私達のソースコードによって一波を分析します。
首相は我々がドラブルを作った。
そして私たちはUrl資源を通じてDrawable資源を生成します。
このように私達のUrlネットワークの資源はDrawableに変換して完成します。
補足知識:URL DrawableのAndroidからネットワーク画像を取得する3つの方法
Androidでネットワーク画像を取得するのは時間がかかる操作です。直接取得すると、アプリケーションが応答しない場合があります。この場合、一般的な方法は時間をかけてスレッドを使って行うことである。以下の3つの方法でurl画像を取得します。
1.直接取得:(容易:ANR、不推奨)
mImageView = (ImageView)this.findViewById(R.id.imageThreadConcept) ;
Drawable drawable = loadImageFromNetwork(IMAGE_URL);
mImageView.setImageDrawable(drawable) ;
共通の方法:
private Drawable loadImageFromNetwork(String imageUrl)
{
Drawable drawable = null;
try {
// ,
drawable = Drawable.createFromStream(
new URL(imageUrl).openStream(), "image.jpg");
} catch (IOException e) {
Log.d("test", e.getMessage());
}
if (drawable == null) {
Log.d("test", "null drawable");
} else {
Log.d("test", "not null drawable");
}
return drawable ;
}
2.バックグラウンドスレッドはurl画像を取得する:
mImageView = (ImageView)this.findViewById(R.id.imageThreadConcept) ;
new Thread(new Runnable(){
Drawable drawable = loadImageFromNetwork(IMAGE_URL);
@Override
public void run() {
// post() , UI
mImageView.post(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
mImageView.setImageDrawable(drawable) ;
}}) ;
}
}).start() ;
3.AsyncTask url写真を取得する
mImageView = (ImageView)this.findViewById(R.id.imageThreadConcept) ;
new DownloadImageTask().execute(IMAGE_URL) ;
private class DownloadImageTask extends AsyncTask<String, Void, Drawable>
{
protected Drawable doInBackground(String... urls) {
return loadImageFromNetwork(urls[0]);
}
protected void onPostExecute(Drawable result) {
mImageView.setImageDrawable(result);
}
}
以上のAndroidはネットのUrl資源をDrawableの資源方式に転換しました。つまり、小編纂は皆さんに全部の内容を共有しました。参考にしてもらいたいです。どうぞよろしくお願いします。