Android的AsyncTask和数据存储
来源:互联网 发布:sam软件和au 编辑:程序博客网 时间:2024/06/06 00:25
AsyncTask<Params,Progress,Result>
线程间通讯的工具,与Handler类似,由Android封装好的通讯工具
自带线程的异步任务类-类似于-handler+ThreadParams:参数--在调用方法的时候传入的参数,在doInBacjkground()方法中被传入Progress:进度--一般写Integer,在onProgeressUpdate()方法中被传入Result:返回值--doInBacjkground()方法的返回值类型,被传入onPostExecute()方法中新建AsyncTask类AsyncTask<String,Integer,String> task=new AsyncTask<String,Integer,String>(){}会实现四个方法1.onPreExecute方法protected void onPreExecute(){
super.onPreExecute();
}这是程序第一个运行的方法,该方法运行在UI线程中,并且可以对UI控件进行设置2.doInBackground方法protected String doInBackground(String...params){
//一般用来得到任务进行的百分比publishProgress(50);//可传值给onProgressUpdate方法return null;
}这是程序第二个运行的方法,这里的String参数对应AsyncTask中的第一个参数,而String返回值对应AsyncTask的第三个参数,该方法并不运行在UI线程中,主要用于异步操作,所以在该方法中不能对UI线程中的控件进行设置和修改,但是可以调用publisPregress方法出发onProgressUpdate对UI进行操作3.onProgressUpdate方法程序选择性调用的方法protected void onProgressUpdate(integer...values){
super.onProgressUpdate(values);System.out.println(values[0]);//这里输出的是doInBackground方法中的publishProgress(50)传过来的整型数值50
}这里的Integer参数对应AsyncTask中的第二个参数,在doInBackground方法当中,每次调用publishProgress方法都会触发onProgressUpdate方法执行,onProgressUpdate是在UI线程中执行的,所以可以对UI控件进行操作4.onPostExecute方法protected void onPostExecute(String result){
super.onPostExecute(result);
Android中的数据存储}程序最后一个运行的方法,这里的String参数对应AsyncTask中的第三个参数类型,也就是接收doInBackground方法的返回值,在doInBackground方法执行结束之后运行,并且运行在UI形成当中,可以对UI控件进行设置当以上四种方法都设置好了以后,需要AsyncTask方法的对象进行task.execute(String型参数),这个参数类型由AsyncTask的第一个参数类型决定。
SharePreference数据存储类似于网页中cookie,用于存放一些短小的信息。SharePreference是轻量级的存储对象,会生成一个xml文件,存放在data/data/包名/shared_prefs/自定义xml下1.利用系统方法,获取到某个文件 SharedPreferences sp=getSharedPreferences("lanou3g", Context.MODE_PRIVATE);生成文件的访问权限如下2.获取编辑者对象 Editor et=sp.edit();3.利用编辑者对象写入数据 et.putString("name","张三");4.提交数据给SharedPreferences对象sp et.commit();以上四步可以在手机data/data/包名/shared_prefs/下生成一个自定义的xml文件,当这个文件夹存在下面存在xml文件时,我们可以根据sp.getString("name","");的方式得到这个文件中的内容文件存储Sqlite数据库存储ContentProvider数据存储网络存储
读取raw文件夹中的文件
读取assets文件夹中的文件
手机目录中的文件的读写
0 0
- Android的AsyncTask和数据存储
- Android的AsyncTask和Handler
- Android的数据存储和IO
- Android中数据的存储和访问
- Android的数据存储
- Android的数据存储
- android数据的存储
- Android 数据的存储
- Android的数据存储
- Android的数据存储
- Android 数据的存储
- android 的线程模型和AsyncTask
- android中的asynctask和handler的比较
- Android--AsyncTask的串行和并行
- Android中AsyncTask的分析和使用
- Android多线程、Handler和AsyncTask的用法
- android Asynctask 和Handler的优缺点
- android中asynctask和thread的区别?
- 浅谈java单例模式——优点以及为什么使用到synchronized
- error C2872: “Font”: 不明确的符号
- extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
- java 排序算法---插入排序
- The Factor(hdu5428)
- Android的AsyncTask和数据存储
- 重新认识二级指针(Pointers to Pointers)
- lintcode-验证查找二叉树-95
- 菜鸟系列——双连通分量
- list.h 解析
- Urimoo做试卷
- 什么是J2EE
- 重启oracle数据库
- 用busybox搭建最简单的Linux文件系统