- 浏览: 252223 次
- 性别:
- 来自: 内蒙古
文章分类
- 全部博客 (237)
- Android 功能实现 (31)
- sql数据库的学习 (8)
- Android 美化界面 (2)
- Android 优化 (1)
- Ruby on Rails 方面 (45)
- git 方面的学习 (1)
- ruby 编程的琢磨 (13)
- linux下工具软件 (13)
- 操作系统的学习 (40)
- 非技术 (13)
- 网站开发 (18)
- js 学习笔记 (19)
- css学习 (5)
- 回顾总结 (2)
- Delphi 学习 (2)
- C 语言学习笔记 (1)
- 数据结构 (1)
- node js 学习 (6)
- 设计模式 (2)
- mongdb 学习笔记 (0)
- 软件服务 (3)
- osx系统 (4)
- 搜索引擎 (1)
- 测试工具 (1)
- Aliyun (1)
- 前端JS (1)
- python学习 (0)
- iOS系统 (1)
- 分布式锁 (1)
- 开发工具 (0)
- java代码 (2)
- java (1)
最新评论
-
jiguanghover:
写的不错,收藏一下
Ubuntu下RVM, Ruby, rails安装详细 和 卸载 -
maoghj:
回顾总结(二) -
yun2223:
对楼主表示感谢
Android控件开发之Gallery3D效果 -
zw_lovec:
说清楚点吧 亲 加点注释
out of memory -
lzyfn123:
http://www.iteye.com/images/smi ...
ruby-string 字符串的学习
AsyncTask的使用
- class DownloadImagesTask extends AsyncTask<String, Integer, Bitmap> {
- private int imageViewID;
- protected void onPostExecute(Bitmap bitmap1) {
- setImage(imageViewID, bitmap1);
- }
- public void setImageId( int imageViewID) {
- this .imageViewID = imageViewID;
- }
- @Override
- protected Bitmap doInBackground(String... url) {
- Bitmap bitmap1 =
- DownloadImage(url[ 0 ]);
- return bitmap1;
-
}
- /* 39. @Override
40. protected void onCancelled() {
41. super.onCancelled();
42. }
43. @Override
44. protected void onPostExecute(String result) {
45. // 返回HTML页面的内容
46. message.setText(result);
47. }
48. @Override
49. protected void onPreExecute() {
50. // 任务启动,可以在这里显示一个对话框,这里简单处理
51. message.setText(R.string.task_started);
52. }
53. @Override
54. protected void onProgressUpdate(Integer... values) {
55. // 更新进度
56. message.setText(values[0]);
57. }
41. super.onCancelled();
42. }
43. @Override
44. protected void onPostExecute(String result) {
45. // 返回HTML页面的内容
46. message.setText(result);
47. }
48. @Override
49. protected void onPreExecute() {
50. // 任务启动,可以在这里显示一个对话框,这里简单处理
51. message.setText(R.string.task_started);
52. }
53. @Override
54. protected void onProgressUpdate(Integer... values) {
55. // 更新进度
56. message.setText(values[0]);
57. }
*/
-
} //有很多的方法可以用
- DownloadImagesTask task1 = new DownloadImagesTask();
- task1.setImageId(R.id.img1);
- task1.execute( "http://assets.devx.com/articlefigs/39810_1.jpg" );
- private Bitmap DownloadImage(String URL)
- {
- Bitmap bitmap = null ;
- InputStream in = null ;
- try {
- in = OpenHttpConnection(URL);
- bitmap = BitmapFactory.decodeStream(in);
- in.close();
- } catch (IOException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- return bitmap;
- }
在其中使用进度对话框
- class GetTask extends AsyncTask<Object, Void, String>
- {
- Context mContext;
- ProgressDialog mDialog = null ;
- GetPhotoFeedTask(Context context)
- {
- mContext = context;
- }
- @Override
- protected void onPreExecute()
- {
- super .onPreExecute();
- mDialog = new ProgressDialog(mContext);
- mDialog.setMessage( "Please wait..." );
- mDialog.show();
- }
- @Override
- protected String doInBackground(Object... params)
- {
- // do stuff in background : fetch response
- }
- @Override
- protected void onPostExecute(String result)
- {
- super .onPostExecute(result);
- setProgressBarIndeterminateVisibility( false );
- // mDialog.dismiss();
- }
-
}
发表评论
-
Android里的音量调节
2013-04-01 13:37 1367步骤1:或许系统音量 ... -
Android Camera 方法分析
2012-03-29 10:52 3531Android Camera源码分析 android通 ... -
MyCameraActivity
2012-03-29 10:10 728package cn.fn; import android. ... -
MyCameraActivity
2012-04-01 13:27 910package cn.fn; import android. ... -
android AutoCompleteTextView+ SQLite
2012-03-21 13:33 1139android AutoCompleteTextView+ S ... -
android 异步回调加载网络图片
2012-03-20 11:50 966在做应用的时候很多时候都会去从网络加载图片,而且还要做各种各样 ... -
ProgressBar+AsyncTask 实现界面数据异步加载
2012-03-20 10:09 1650ProgressBar+AsyncTask 实现界面数据异步 ... -
Android 网络图片异步加载实例
2012-03-20 10:04 1014Android 网络图片异步加载实例 ... -
解决java.lang.OutOfMemoryError
2012-03-19 15:53 1119解决java.lang.OutOfMemoryError ... -
android Text 删除线
2012-03-16 19:35 1200import android.app.Activit ... -
android Gallery 详解
2012-03-14 14:17 1550android Gallery 正文 ... -
Android的线程使用来更新UI----Thread、Handler、Looper、TimerTask,Task,AsynTask等
2012-03-14 11:43 1472Android的线程使用来更新UI----Thread、Han ... -
Android控件开发之Gallery3D效果
2012-03-13 14:38 2977Android控件开发之Gal ... -
android GridView
2012-03-08 10:28 935主类 import android.app.Activi ... -
ListView异步加载图片是非常实用的方法
2012-03-08 10:09 988ListView异步加载图片是非常实用的方法,凡是是要通过网络 ... -
复制assets下的数据库到SD卡
2012-03-07 10:56 1258首先使用sqliteadDev(一个windows下图形化sq ... -
Android异步加载图像小结
2012-03-06 16:46 628Android异步加载图像小结 (1)由于an ... -
AutoCompleteTextView
2012-03-05 14:53 1457AutoCompleteTextView ... -
android 动态加载List
2012-03-05 11:11 1020main.xml <?xml ver ... -
AutoCompleteTextView
2012-03-02 16:17 1087public class CityAdapter<T& ...
相关推荐
Android异步任务AsyncTask使用解析 Android异步任务AsyncTask使用解析是指在Android应用程序中使用AsyncTask来实现异步任务的处理。AsyncTask是一个抽象类,使用时需要继承这个类,然后调用execute()方法。...
### Android AsyncTask 使用详解 #### 一、AsyncTask 概览 **AsyncTask** 是 Android 提供的一个用于在后台线程执行耗时操作并在 UI 线程更新结果的类。它简化了多线程编程的过程,使开发者无需手动管理线程和...
在`AsyncTaskDemoActivity`中,我们可以预期看到一个具体的AsyncTask使用示例,包括如何创建和启动任务,传递参数,处理结果以及处理取消和进度更新等情况。通过分析这个示例,开发者可以更好地理解和掌握AsyncTask...
### 二、AsyncTask使用步骤 1. **创建AsyncTask子类**:首先,我们需要创建一个继承自AsyncTask的子类,定义泛型参数,并重写上述四个方法。 ```java public class MyAsyncTask extends AsyncTask, Integer, ...
现在让我们来看一个`Handler`和`AsyncTask`结合使用的示例: ```java public class MainActivity extends AppCompatActivity { private Handler mHandler = new Handler() { @Override public void ...
AsyncTask的使用非常简单,首先创建一个继承自AsyncTask的子类,然后重写doInBackground()方法,将需要后台执行的任务放入这个方法。例如: ```java public class MyTask extends AsyncTask, Integer, String> { @...
本实例将详细讲解如何使用AsyncTask,并结合ProgressBar进行实时进度显示,以提高用户体验。 首先,AsyncTask有三个泛型参数:Params, Progress, Result。Params表示异步任务执行前需要的输入参数类型,Progress是...
Android API 3时引进了AsyncTask,也叫异步任务。使用它可以很方便的更新主线程中的UI,使用它比Handler、Thread更简单。由于AsyncTask是抽象类,要使用它首先要创建子类继承它。创建子类时需要三个泛型参数
在提供的 `zhy_asynctask_demo01` 文件中,我们可以找到一个简单的 AsyncTask 示例,它演示了如何使用 AsyncTask 来下载文件。这个例子涵盖了从初始化任务、执行任务到处理结果的完整流程,是理解和学习 AsyncTask ...
AsyncTask 是 Android 平台上一种轻量级的异步处理机制,主要用于在后台执行耗时操作,同时确保结果能够在主线程中安全地更新 UI。...正确理解和使用 AsyncTask,可以帮助开发者更高效地构建用户界面,提升用户体验。
在Android应用开发中,特别是在涉及到网络请求、大量计算或者长时间操作时,使用AsyncTask是一个常见且实用的方法。 首先,我们来看第一种使用方法:加载网络图片。在Android中,直接在主线程中进行网络请求是不被...
8. **线程池的管理**:从Android 3.0(API级别11)开始,AsyncTask使用了线程池来管理后台任务。这意味着多个AsyncTask可能会并发执行,如果你希望它们按顺序执行,需要自行管理。 9. **生命周期问题**:AsyncTask...
### 三、AsyncTask使用步骤 1. 创建`AsyncTask`子类,定义泛型参数并重写必要方法。 ```java public class MyAsyncTask extends AsyncTask, Integer, String> { @Override protected void onPreExecute() { // ...
2. **自定义线程池**:通过重写`AsyncTask.executeOnExecutor()`方法,可以使用自定义的Executor来执行任务。例如,可以创建一个固定大小的线程池,以防止任务堆积。 3. **使用其他异步处理方式**:如果任务数量...
3. **避免频繁使用**:由于 `AsyncTask` 创建新的工作线程,频繁使用可能会导致性能下降。对于频繁的后台操作,推荐使用 `Handler` 或 `Service`。 #### 六、总结 `AsyncTask` 为 Android 开发者提供了一个简单...
自Android 3.0 (API Level 11)开始,AsyncTask使用一个内部线程池来管理后台任务,这有助于控制并发任务的数量。但是,如果你需要更精细的控制,例如设置线程池大小,可以自定义Executor来替换默认的线程池。 总结...
`AsyncTask`还提供了取消任务、监控任务进度等功能,但需要注意的是,由于`AsyncTask`的生命周期与Activity绑定,若Activity被销毁,未完成的`AsyncTask`可能会导致内存泄漏。 接下来是`ListView`的优化。`ListView...
1. **线程池问题**:默认情况下,AsyncTask使用一个串行执行的线程池,这意味着同一时间只能执行一个任务。如果并发执行多个任务,可能导致性能瓶颈。从Android 3.0(API Level 11)开始,线程池改为并行执行,但这...
自Android 3.0(API 11)开始,AsyncTask使用了一个内部线程池来管理执行的任务。这意味着并发执行多个相同类型的AsyncTask可能会导致线程复用,从而可能导致意外的结果。因此,如果你需要确保每个任务独立执行,应...
自Android 3.0 (API level 11)开始,AsyncTask使用内部的线程池来管理执行的任务,这有助于优化并发任务的执行,防止大量AsyncTask同时启动导致系统资源浪费。 7. **生命周期管理**: 需要注意的是,AsyncTask与...