`

自定义简单的AsyncTask

阅读更多

自定义一个简单的异步任务

package com.nico;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.ImageView;

public class Test extends Activity {
	private ImageView img;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        img = (ImageView) findViewById(R.id.img);
        //new AsyncTask By mySelf
        TestAsyncTask testTask = new TestAsyncTask();
        // execute the url ,request the resource, all doIntheBackGround
        testTask.execute("http://10.0.0.130:8080/icon.png");
    }
    public class TestAsyncTask extends AsyncTask<String,Object,Bitmap>{

    	//after the process ,do something ,for this . set the imageView show in the MainView,
    	//because the mainThread can't to do the thread cost too much time.
		@Override
		protected void onPostExecute(Bitmap bmp) {
			super.onPostExecute(bmp);
			img.setImageBitmap(bmp);
		}

		@Override
		protected Bitmap doInBackground(String...url) {
			 URL u;
			 Bitmap bmp = null;
			try {
				u = new URL(url[0]);
				HttpURLConnection conn=(HttpURLConnection)u.openConnection();
				InputStream is = conn.getInputStream();
				bmp = BitmapFactory.decodeStream(is);
			} catch (Exception e) {
				e.printStackTrace();
			}
			 
			return bmp;
		}}
}

 

分享到:
评论

相关推荐

    异步任务AsyncTask

    总结,`AsyncTask`是Android中实现简单异步操作的有效工具,特别适用于短时、频繁的任务。不过,对于复杂的后台任务,建议使用其他更强大的解决方案,如`IntentService`、`JobScheduler`或现代的`LiveData`和`...

    封装AsyncTask

    封装AsyncTask的目的是为了让使用更加简单、直观,减少重复代码,提高代码复用性。通常,封装会包括以下关键部分: 1. **定义AsyncTask类**:创建一个继承自AsyncTask的类,该类需要三个泛型参数,分别表示输入类型...

    AsyncTask使用及源码解析

    AsyncTask的使用非常简单,首先创建一个继承自AsyncTask的子类,然后重写doInBackground()方法,将需要后台执行的任务放入这个方法。例如: ```java public class MyTask extends AsyncTask, Integer, String&gt; { @...

    自定义ImageView

    以下是一个简单的自定义ImageView类结构示例: ```java public class CustomImageView extends ImageView { private Bitmap originalBitmap; private Bitmap croppedBitmap; // 直线裁剪相关的参数 // ... ...

    自定义控件背景图加进度条

    以下是一个简单的自定义控件代码示例: ```java public class CustomLinearLayoutWithProgress extends LinearLayout { private ProgressBar progressBar; private Bitmap backgroundBitmap; public ...

    AsyncTask下载网络图片 进度条提示

    以下是一个简单的`AsyncTask`实现网络图片下载并显示进度的例子: ```java public class DownloadImageTask extends AsyncTask, Integer, Bitmap&gt; { private ProgressBar progressBar; private ImageView ...

    android asyncTask

    总之,`AsyncTask`是Android开发中一个重要的异步处理工具,它简化了与主线程的通信,便于进行简单的后台操作。然而,随着Android系统的不断发展,开发者也需要根据项目需求选择最适合的异步处理方案。

    Android 自定义progressDialog实现

    对于更复杂的场景,可以使用`AsyncTask`或者`Handler`来控制加载过程和对话框的显示与消失。同时,为了适配不同版本的Android系统,可能需要对API进行版本检查和兼容性处理。 总的来说,自定义`ProgressDialog`是...

    AsyncTask 与Thread加Handler处理消息比较

    对于简单的异步操作和短时间运行的任务,`AsyncTask`可能是更好的选择;而对于需要更精细控制和长时间运行的任务,`Thread+Handler`提供了更大的灵活性。 总的来说,`AsyncTask`和`Thread+Handler`都是Android中...

    各种自定义Dialog 以及Dialog加载动画

    默认的Dialog样式虽然功能齐全,但在追求个性化和美观的今天,往往显得过于简单甚至有些过时。因此,开发者常常需要根据应用的设计风格来定制自己的Dialog,以更好地与用户进行交互。 自定义Dialog主要包括以下几个...

    android自定义下拉菜单

    本文将详细讲解如何在Android中实现一个简单而功能齐全的自定义下拉菜单,以及可能涉及的相关知识点。 首先,下拉菜单在Android中通常由Spinner组件实现,但为了达到“大方简单”的效果,我们可能需要自定义Spinner...

    android较轻级异步任务AsyncTask

    `AsyncTask`是Android提供的一种轻量级的异步处理机制,专为短时间、简单背景任务设计。本文将深入探讨`AsyncTask`的工作原理、使用方法以及注意事项。 ### 1. `AsyncTask`概述 `AsyncTask`是Android SDK中的一个...

    android自定义审核过渡页

    自动加载通常涉及到异步任务,如AsyncTask或者使用现代的LiveData、RxJava等库。在数据加载过程中,我们可以在后台线程执行耗时操作,然后在主线程更新UI,显示加载进度或结果。自动加载可以确保用户界面始终响应,...

    Android异步任务AsyncTask的简单DEMO

    AsyncTask是Android SDK提供的一种轻量级异步处理框架,适用于简单且快速的任务。下面将详细解释AsyncTask的工作原理和使用方法。 **AsyncTask概述** AsyncTask是Android中的一个抽象类,用于在后台线程执行任务,...

    AsyncTask使用实例

    在Android开发中,异步操作是必不可少的一部分,它允许我们执行耗时的操作,如网络请求、...总之,AsyncTask提供了一种简单易用的方式处理短时间的后台任务,但在更复杂的场景下,可能需要考虑其他更为健壮的解决方案。

    Android自定义ProgressDialog

    默认情况下,它会显示一个旋转的指示器或者进度条,并配以简单的文字描述。要使用ProgressDialog,首先需要在布局文件中声明,或者在代码中动态创建。 2. 自定义ProgressDialog的外观 要自定义ProgressDialog,我们...

    自定义进度条

    可以使用AsyncTask或其他异步处理机制,将进度更新和UI更新分离开来,以确保应用的流畅性。 5. **自适应屏幕尺寸** 考虑到不同设备的屏幕尺寸,确保自定义布局能够适应各种分辨率。可以使用约束布局...

    自定义控件-pulltorefresh

    在描述中提到的"简单到谁都能看懂"意味着这个实现可能具有良好的可读性和易用性,对于开发者来说,这意味着它可能提供了清晰的代码结构和详细的注释,使得理解和集成到项目中变得更加容易。同时,"还支持各种模式...

    简介Android 中的AsyncTask

    总的来说,AsyncTask是Android提供的一个便捷的异步处理工具,尤其适用于简单、快速的任务,但它不是万能的,对于复杂情况可能需要结合其他工具或框架来实现更高效的异步编程。开发者应根据项目的需求和复杂性来选择...

    自定义圆形进度控件(线程安全)

    以下是一个简单的示例: ```java new AsyncTask, Integer, Void&gt;() { @Override protected Void doInBackground(Void... voids) { for (int i = 0; i ; i++) { try { Thread.sleep(50); // 控制进度更新速度 ...

Global site tag (gtag.js) - Google Analytics