Android:AysncTask异步加载
2015-10-05 23:04
429 查看
以下是链接:
/article/3659499.html
http://keeponmoving.iteye.com/blog/1515611
/article/6413480.html
http://blog.csdn.net/lanjianhun/article/details/8675299
http://blog.csdn.net/alex0203/article/details/7646973
http://www.cnphp6.com/archives/58164
http://blog.csdn.net/weihan1314/article/details/8045993
转:
main.xml:
/article/3659499.html
http://keeponmoving.iteye.com/blog/1515611
/article/6413480.html
http://blog.csdn.net/lanjianhun/article/details/8675299
http://blog.csdn.net/alex0203/article/details/7646973
http://www.cnphp6.com/archives/58164
http://blog.csdn.net/weihan1314/article/details/8045993
转:
package com.wyl.myasyctask; import java.io.InputStream; import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.ImageView; public class MainActivity extends Activity { private static final String sImageUrl = "http://fashion.qqread.com/ArtImage/20110225/0083_13.jpg"; private Button mLoadButton; private ImageView mImageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Log.i("UI thread", " >> onCreate()"); mImageView = (ImageView) this.findViewById(R.id.ImageVivew); mLoadButton = (Button) this.findViewById(R.id.LoadButton); mLoadButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { LoadImageTask task = new LoadImageTask(v.getContext()); task.execute(sImageUrl);// 源码中得知,会调用onPreExecute()...方法 } }); } class LoadImageTask extends AsyncTask<String, Integer, Bitmap> { private ProgressDialog mProgressBar; LoadImageTask(Context context) { mProgressBar = new ProgressDialog(context); mProgressBar.setCancelable(true); mProgressBar.setMessage("setMessage()..."); mProgressBar.setProgressStyle(ProgressDialog.STYLE_SPINNER); mProgressBar.setMax(100); } @Override protected Bitmap doInBackground(String... params) { System.out.println("doInBackground()..."); Bitmap bitmap = null; try { publishProgress(10); Thread.sleep(1000); InputStream in = new java.net.URL(sImageUrl).openStream(); publishProgress(60); Thread.sleep(1000); bitmap = BitmapFactory.decodeStream(in); in.close(); } catch (Exception e) { e.printStackTrace(); } publishProgress(100); return bitmap; } @Override protected void onCancelled() { super.onCancelled(); } @Override protected void onPreExecute() { mProgressBar.setProgress(0); mProgressBar.setMessage("Image downloading ... 0%"); mProgressBar.show(); System.out.println("onPreExecute()..."); } @Override protected void onPostExecute(Bitmap result) { System.out.println("onPostExecute()..."); if (result != null) { mProgressBar.setMessage("Image downloading success!"); mImageView.setImageBitmap(result); } else { mProgressBar.setMessage("Image downloading failure!"); } mProgressBar.dismiss(); } @Override protected void onProgressUpdate(Integer... values) { System.out.println("onProgressUpdate()..."); mProgressBar.setMessage("Image downloading ... %" + values[0]); mProgressBar.setProgress(values[0]); } } }
main.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/AbsoluteLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/LoadButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Load"> </Button> <ImageView android:id="@+id/ImageVivew" android:layout_width="match_parent" android:layout_height="400dip" android:scaleType="centerInside" android:padding="2dp"> </ImageView> </LinearLayout>
相关文章推荐
- Android IOS WebRTC 音视频开发总结(四四)-- webrtc图书
- Android中的inflate()原理解析
- Android学习记录:SQLite数据库、res中raw的文件调用
- Android ListView使用BaseAdapter与ListView的优化
- android wear开发之:增加可穿戴设备功能到通知中 - Adding Wearable Features to Notifications
- android wear开发:为可穿戴设备创建一个通知 - Creating a Notification for Wearables
- android从应用到驱动之—camera(2)---cameraHAL的实现
- Android: 在onCreate()中获得对象尺寸
- 解决arcgis for android中feature不显示的问题
- Android基础学习之Menu(菜单)
- Android 动画的案例
- android ImageView 实现圆形图片(QQ头像)
- Android Notivation的使用
- Android Notivation的使用
- Android 获取服务器数据解析Text数据,存在htmel标签的处理办法
- Android 弹出通知Toast的使用
- Android 弹出通知Toast的使用
- Android studio 更新只显示"Download”的解决办法
- The following classes could not be instantiated: - android.support.v7.internal.widget.ActionBarOverl
- Android4.0以上调用设置方法