AsyncTask理解- Day36or37

mobile 5.0

1.手机归属地查询 AtoolsActivity

Assets目录特点

  1. 该文件是原生文件,不会对里面的文件进行编码
  2. 该文件只支持读取,并且不在R文件中注册–
  3. 不能加载需要发短信的联系人。

问题堆栈

  1. 郭玲动画博客
  2. 群发2.0 lintView加载联系人
  3. 默写增删改查类。
  4. 命令访问数据库的博客

AsyncTask理解

作用:主要是用来异步消息的处理。主要为了程序员方便从子线程切换主线程中。
参数

  • . Params

在执行AsyncTask时需要传入的参数,可用于在后台任务中使用。

  • . Progress

后台任务执行时,如果需要在界面上显示当前的进度,则使用这里指定的泛型作为进度单位。

  • . Result

当任务执行完毕后,如果需要对结果进行返回,则使用这里指定的泛型作为返回值类型。

需要复习方法

  • onPreExecute()

    在后台任务开始执行前调用

  • doInBackground(Params...)

    后台任务执行方法,主要用来执行查询,比价耗时的任务操作。 其实右面原理就是在后面开启了一个子线程。所以不能操作UI

  • onProgressUpdate(Progress...)

    进度条方法,后台线程会很快的调用个方法,传递过来一些进度。如果我们进度参数给的是Integer的话,就是用整形来计算进度,这里可以操作主线程的UI

  • onPostExecute(Result)

    当子线程执行结束以后,调用的方法。这个方法可以操作UI线程。也就是doInBackground(..)方法。参数就是该方法设置fang

使用
/**
* 异步加载
*/
public void fillData()
{
new AsyncTask<String, Integer, String>()
{
// 程序运行前
@Override
protected void onPreExecute()
{
mLoadProgressBar.setVisibility(View.VISIBLE);
// 显示加载进度
super.onPreExecute();
}

// 程序运行时
@Override
protected String doInBackground(String... params)
{

mBlackNumList = dao.getAllBlackNum();
return null;
}

// 运行后
@Override
protected void onPostExecute(String result)
{
mLoadProgressBar.setVisibility(View.INVISIBLE);
if (result == null)
{
adapter = new BlackNumAdapter();
mBlackNumListView.setAdapter(adapter);
} else
{
adapter.notifyDataSetChanged();
}
}

}.execute();
}

心得

  1. 思考—> 行动

  2. 安静的想。思考许多问题在下手写上代码;

AsyncTask理解- Day36or37的更多相关文章

  1. Android 中文 API (101) —— AsyncTask

    一.结构 public abstract class AsyncTask extends Object java.lang.Object android.os.AsyncTask<Params, ...

  2. Android AsyncTask完全解析,带你从源码的角度彻底理解

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/11711405 我们都知道,Android UI是线程不安全的,如果想要在子线程里进 ...

  3. 正确理解 AsyncTask,Looper,Handler三者之间的关系(基于android 4.0)

    Looper 和Handler 是理解好AsyncTask的一个基础,我们可以先从这里开始,先给出一个主线程和子线程互相通信的例子. package com.example.loopertest; i ...

  4. 深入理解AsyncTask的工作原理

    一.为什么需要工作者线程 我们知道,Android应用的主线程(UI 线程)肩负着绘制用户界面和及时响应用户操作的重任,为了避免“用户点击按钮后没反应”这样的糟糕用户体验,我们就要确保主线程时刻保持着 ...

  5. 教你写Http框架(二)——三个样例带你深入理解AsyncTask

    这个标题大家不要奇怪,扯Http框架怎么扯到AsyncTask去了,有两个原因:首先是Http框架除了核心http理论外.其技术实现核心也是线程池 + 模板 + handler,而AsyncTask又 ...

  6. [学习总结]7、Android AsyncTask完全解析,带你从源码的角度彻底理解

    我们都知道,Android UI是线程不安全的,如果想要在子线程里进行UI操作,就需要借助Android的异步消息处理机制.之前我也写过了一篇文章从源码层面分析了Android的异步消息处理机制,感兴 ...

  7. Android AsyncTask 深度理解、简单封装、任务队列分析、自定义线程池

    前言:由于最近在做SDK的功能,需要设计线程池.看了很多资料不知道从何开始着手,突然发现了AsyncTask有对线程池的封装,so,就拿它开刀,本文将从AsyncTask的基本用法,到简单的封装,再到 ...

  8. AsyncTask的使用方法和理解

    .对于耗时的操作,我们的一般方法是开启“子线程”.如果需要更新UI,则需要使用handler 2.如果耗时的操作太多,那么我们需要开启太多的子线程,这就会给系统带来巨大的负担,随之也会带来性能方面的问 ...

  9. Android中异步类AsyncTask的理解

    这里有两种解释的方法,各有侧重点: 第一种解释: Async Task 简介:AsyncTask的特点是任务在主线程之外运行,而回调方法是在主线程中执行,这就有效地避免了使用Handler带来的麻烦  ...

随机推荐

  1. BZOJ_1036_[ZJOI2008]_树的统计Conut_(树链剖分)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1036 给出一棵树以及各点的权值,对数进行如下三种操作: 1.改变某一节点u的值为t; 2.求节 ...

  2. ASP.NET使用EasyUI-DataGrid + ashx + JQuery Ajax:实现数据的增删查改,查询和分页!

    转自:http://www.cnblogs.com/lt-style/p/3457399.html 数据表: 学生表:学生编号.姓名.性别.班级编号.年龄 班级表:班级编号.班级名称 开发过程: 1. ...

  3. Entity Framework 学习初级篇2--ObjectContext类的介绍

    转自:http://www.cnblogs.com/Tally/archive/2012/09/14/2685014.html 本节,简单的介绍EF中的ObjectContext.ObjectQuer ...

  4. poj 2451 Uyuw's Concert(半平面交)

    Uyuw's Concert Time Limit: 6000MS   Memory Limit: 65536K Total Submissions: 8580   Accepted: 3227 De ...

  5. vijosP1687 细菌总数

    vijosP1687 细菌总数 链接:https://vijos.org/p/1687 [思路] 错排公式+高精度. 题目要求排列数目而且不能有Pi==i的情况出现,可以看出这正是1,2,3,4,5, ...

  6. HTML5 Canvas核心技术—图形、动画与游戏开发.pdf6

    操作图像的像素:getImageData() putImageData() ImageData对象 调用getImageData()方法实际是获取了一个指向ImageData对象的引用,返回的对象包含 ...

  7. Kicad中批量添加过孔

    布线按V即可插入过孔,但在铺铜,或大电流走线时,有时需要手动添加一些过孔. 但Kicad里面并没有这样的菜单,最后搜索到,要添加过孔时,需要先建立一个单过孔的封装. 然后插入这个封装到PCB.然后修改 ...

  8. 运行.class文件提示找不到或者无法加载主类原因

    在Java初学之时,用文本文件写了一个“hello world”的简单程序.在dos环境下使用命令javac -test1.java 进行编译. 编译出名称为test1.class的Java运行文件. ...

  9. 【转】shell 教程——03 Shell脚本语言与编译型语言的差异

    大体上,可以将程序设计语言可以分为两类:编译型语言和解释型语言. 编译型语言 很多传统的程序设计语言,例如Fortran.Ada.Pascal.C.C++和Java,都是编译型语言.这类语言需要预先将 ...

  10. PAT 1069. The Black Hole of Numbers (20)

    For any 4-digit integer except the ones with all the digits being the same, if we sort the digits in ...