android andbase 线程池

上次说到的是andbase的一些简单概念  和怎么添加到项目中,那这次  我就开始说内容了,这次内容说的是andbase 线程池。

怎么添加andbase.jar我就不多说了,前面有提到过。废话不多说 上代码了

package com.example.andbasetest;


import com.ab.task.AbTaskItem;
import com.ab.task.AbTaskListener;
import com.ab.task.AbTaskPool;


import android.os.Bundle;
import android.app.Activity;


public class MainActivity extends Activity {

private AbTaskPool abTaskPool; //这是andbase 自带线程池
private AbTaskItem abTaskItem; //这是 线程池里面的某一项   线程要执行的对象

private String contentString;



@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
abTaskPool= AbTaskPool.getInstance();  //这里是通过 getInstance()方法 拿到 线程池的对象的
}

public void getData(){  //假设这是个 你要获取数据的方法 

//你可以在这之前 加一些  正在 加载的动画 提示   等等


abTaskItem=new AbTaskItem(); //new 一个 线程池 要执行的对象   也就是线程池中的 一个item
abTaskItem.listener=new AbTaskListener(){ //加入监听  那么 重点 就是监听里面的两个方法了

@Override
public void get() {
super.get();

//get方法 就是 进行一些 获取数据 或者是 联网等耗时的 操作    这是 子线程中执行 

//例如 我执行个 网络请求

TASyncHttpClient client = new TASyncHttpClient();  

client.setTimeout(5000);//网络请求超时 时间 5s

RequestParams params = new RequestParams();
params.put("planevent", json); /
/json  网络请求的参数     

contentString = client.post(urlModel.getSavePlanURL(), params);//url 就是你要请求的路径  加上参数  获取返回的结果 contentString

HttpResponseStatus.httpCode = client.getResponseCode();  //
}

@Override
public void update() {
super.update();

//update  方法 就是 主线程  那么在这个线程里面 我们 可以刷新界面 进行提示  

//加入你获取到了数据 那么进行相应的操作了

if(contentString !=null&&contentString.equals("")){

//可以去除加载动画  加入提示信息  将你获取的 字符串 json 解析  后 用于显示  或者 其他操作

}
}else{

//提示 失败 或者是 网络连接失败 等等  
}
};

abTaskPool.execute(abTaskItem);//这句 就是让线程池 去执行这个子线程    千万别忘了这句。。应为我就会忘记写这句。   
}

}

稍微总结下,这个说的还是比较简单。但是 有没有感觉 这个东西 比较方便呢。反正 我是感觉很方便了。就是应为 它把 主线程 和 子线程 分的非常清楚  所以 也是能加快我们的编码速度的。额  这章就说到这了。





你可能感兴趣的:(android,andbase)