AsyncTask理解- Day36or37
AsyncTask理解- Day36or37
mobile 5.0
1.手机归属地查询 AtoolsActivity
Assets目录特点
- 该文件是原生文件,不会对里面的文件进行编码
- 该文件只支持读取,并且不在
R文件中注册– - 不能加载需要发短信的联系人。
问题堆栈
- 郭玲动画博客
- 群发2.0
lintView加载联系人 - 默写增删改查类。
- 命令访问数据库的博客
AsyncTask理解
作用:主要是用来异步消息的处理。主要为了程序员方便从子线程切换主线程中。
参数
- .
Params
在执行AsyncTask时需要传入的参数,可用于在后台任务中使用。
- .
Progress
后台任务执行时,如果需要在界面上显示当前的进度,则使用这里指定的泛型作为进度单位。
- .
Result
当任务执行完毕后,如果需要对结果进行返回,则使用这里指定的泛型作为返回值类型。
需要复习方法
onPreExecute()在后台任务开始执行前调用
doInBackground(Params...)后台任务执行方法,主要用来执行查询,比价耗时的任务操作。 其实右面原理就是在后面开启了一个子线程。所以不能操作
UIonProgressUpdate(Progress...)进度条方法,后台线程会很快的调用个方法,传递过来一些进度。如果我们进度参数给的是
Integer的话,就是用整形来计算进度,这里可以操作主线程的UIonPostExecute(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();
}
心得
- 思考—> 行动
- 安静的想。思考许多问题在下手写上代码;
AsyncTask理解- Day36or37的更多相关文章
- Android 中文 API (101) —— AsyncTask
一.结构 public abstract class AsyncTask extends Object java.lang.Object android.os.AsyncTask<Params, ...
- Android AsyncTask完全解析,带你从源码的角度彻底理解
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/11711405 我们都知道,Android UI是线程不安全的,如果想要在子线程里进 ...
- 正确理解 AsyncTask,Looper,Handler三者之间的关系(基于android 4.0)
Looper 和Handler 是理解好AsyncTask的一个基础,我们可以先从这里开始,先给出一个主线程和子线程互相通信的例子. package com.example.loopertest; i ...
- 深入理解AsyncTask的工作原理
一.为什么需要工作者线程 我们知道,Android应用的主线程(UI 线程)肩负着绘制用户界面和及时响应用户操作的重任,为了避免“用户点击按钮后没反应”这样的糟糕用户体验,我们就要确保主线程时刻保持着 ...
- 教你写Http框架(二)——三个样例带你深入理解AsyncTask
这个标题大家不要奇怪,扯Http框架怎么扯到AsyncTask去了,有两个原因:首先是Http框架除了核心http理论外.其技术实现核心也是线程池 + 模板 + handler,而AsyncTask又 ...
- [学习总结]7、Android AsyncTask完全解析,带你从源码的角度彻底理解
我们都知道,Android UI是线程不安全的,如果想要在子线程里进行UI操作,就需要借助Android的异步消息处理机制.之前我也写过了一篇文章从源码层面分析了Android的异步消息处理机制,感兴 ...
- Android AsyncTask 深度理解、简单封装、任务队列分析、自定义线程池
前言:由于最近在做SDK的功能,需要设计线程池.看了很多资料不知道从何开始着手,突然发现了AsyncTask有对线程池的封装,so,就拿它开刀,本文将从AsyncTask的基本用法,到简单的封装,再到 ...
- AsyncTask的使用方法和理解
.对于耗时的操作,我们的一般方法是开启“子线程”.如果需要更新UI,则需要使用handler 2.如果耗时的操作太多,那么我们需要开启太多的子线程,这就会给系统带来巨大的负担,随之也会带来性能方面的问 ...
- Android中异步类AsyncTask的理解
这里有两种解释的方法,各有侧重点: 第一种解释: Async Task 简介:AsyncTask的特点是任务在主线程之外运行,而回调方法是在主线程中执行,这就有效地避免了使用Handler带来的麻烦 ...
随机推荐
- 总结@ 在C# 中的用法
一 字符串中的用法 1.地球人都知道 C# 中 字符串常量可以以 @ 开头声名,这样的优点是转义序列“不”被处理,按“原样”输出,即我们不需要对转义字符加上 \ (反斜扛),就可以轻松coding.如 ...
- Python生成器 yield
迭代器与list相比较,就for in句型循环拿数据而言: 用list写很简洁,但如果list数据过大,会很消耗资源. 用iteration 迭代器写,则不会消耗那么多资源.他会随用随取,用一个拿一个 ...
- C#开发移动平台iOS、Android 与Windows
1.Xamarin http://www.csdn.net/article/2014-02-28/2818585-Xamarin-CSDN-mobile-develop
- 深入设计模式(二)——单例模式(Singleton Pattern)
一.单例模式介绍 单例模式(Singleton Pattern),保证一个类只有一个实例,并提供一个访问它的全局访问点.单例模式因为Singleton封装它的唯一实例,它就可以严格地控制客户怎样访问它 ...
- GPGPU OpenCL/CUDA 高性能编程的10大注意事项
转载自:http://hc.csdn.net/contents/content_details?type=1&id=341 1.展开循环 如果提前知道了循环的次数,可以进行循环展开,这样省去了 ...
- curl伪造ip
//随机IP function Rand_IP(){ $ip2id= round(rand(, ) / ); //第一种方法,直接生成 $ip3id= round(rand(, ) / ); $ip4 ...
- eclipse设置项目发布到tomcat webaap下
之前用myeclipse,自动deploy到web app下.目前的项目换了eclipse,项目被发布到本地,通过一个链接到tomcat中,很不习惯. 设置的地方很隐晦,在tomcat中,而不是在pr ...
- N对括号的合法组合
递归实现,需要注意以下几点: 1. 递归终止条件 2. 递归递推关系式 这里实际上是一个排列问题,只是排列需要满足条件在每一次递归调用时左括号数不能少于右括号数. 还有一点需要特别注意,当推出递归调用 ...
- java_method_MD5加密
/** * @param Original String * @return Encrypted String */ public String Md5(String plainText ) { tr ...
- ASP.NET- Web.Config配置大文件上传
在web.config中的<system.web></system.web>内加入如下代码: <httpRuntime executionTimeout="60 ...