Android AsyncTack 异步任务实例详解
发布时间:2016-11-27 13:05:36 所属栏目:大数据 来源:站长网
导读:Android AsyncTack 异步任务 nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; 这里写一个小实例,来学习巩固Android AsyncTack 异步任务的知识,以便在项目中使用。 介绍一下如何使用 1, 继承AsyncTask public class MyTask extends A
|
图片加载器(通用型)
/**
* Created by Lulu on 2016/8/31.
* 图片网络加载器
* 下载成功返回Bitmap
* 否则返回null
*/
public class ImageLoader extends AsyncTasklt;String, Void, Bitmapgt;{
private ImageView image;
public ImageLoader(ImageView image) {
this.image = image;
image.setImageResource(R.mipmap.ic_launcher);
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Bitmap doInBackground(String... params) {
String url = params[0];
try {
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
connection.setRequestMethod("GET");
connection.setDoInput(true);
int code = connection.getResponseCode();
if (code == 200) {
InputStream is = connection.getInputStream();
return BitmapFactory.decodeStream(is);
}
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Bitmap bitmap) {
super.onPostExecute(bitmap);
if (bitmap != null) {
image.setImageBitmap(bitmap);
} else {
image.setImageResource(R.mipmap.failed);
}
}
}
4, 测试Activity 注意: 看如何解决大图在webView中不左右滑动的问题!
public class Main2Activity extends AppCompatActivity implements NetWorkTask.Callbacklt;Entrygt;{
private WebView web;
private ImageView image;
//解决大图在webView中不左右滑动的问题
private static final String CSS = "lt;stylegt;img{max-width:100%} lt;/stylegt;";
private String title;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
web = (WebView) findViewById(R.id.main2_web);
image = (ImageView) findViewById(R.id.main2_image);
new NetWorkTasklt;gt;("http://www.tngou.net/api/top/show#63;id=13122", Entry.class).execute(this);
}
@Override
public void onSuccess(Entry t) {
web.loadDataWithBaseURL("", t.getMessage(), "text/html; charset=utf-8", "UTF-8", null);
new ImageLoader(image).execute("http://img.blog.csdn.net/20160829134937003");
}
@Override
public void onFailed(Exception e) {
web.loadDataWithBaseURL("", "加载失败", "text/html; charset=utf-8", "UTF-8", null);
}
}
5.效果图:
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持! (编辑:宣城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


