前言
这篇是结合线程池的知识来实现事务队列
先来波效果图
今天涉及的内容有:
- 事务队列类ExAffairManager的初始化
- ExAffairManager的主要方法
- ExAffairManager在MainActivity种的运用
- 运行项目图及项目结构图
- ExAffairManager源码
- 一些建议
一.事务队列类ExAffairManager的初始化
在使用事务队列处理类ExAffairManager
时,你需要初始化它:
//声明对象
private ExAffairManager mExAffairManager;
//初始化对象
mExAffairManager=new ExAffairManager();
二.ExAffairManager的主要方法
ExAffairManager
有以下几个主要方法:
/**
* 设置事务处理时间间隔(单位毫秒,不设置默认时间间隔为500毫秒)
* @param delayTime
* @return
*/
public ExAffairManager setDelayTime(long delayTime)
/**设置监听**/
public void setOnAffairListener(OnAffairListener listener)
/**添加到事务队列**/
public void addAffair(Object object)
/**停止事务**/
public void stopAffair()
三.ExAffairManager在MainActivity种的运用
ExAffairManager
在MainActivity
中使用代码如下:
public class MainActivity extends AppCompatActivity {
private TextView mTextView;
private Button mBtn;
//声明对象
private ExAffairManager mExAffairManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView=findViewById(R.id.tv);
mBtn=findViewById(R.id.btn);
mTextView.setText("显示");
mBtn.setText("测试");
LogUtil.setDebug(true);
//初始化对象
mExAffairManager=new ExAffairManager();
//监听事务队列
mExAffairManager.setDelayTime(500)//设置事务时间处理间隔,单位毫秒,默认500毫秒
.setOnAffairListener(new ExAffairManager.OnAffairListener() {
@Override
public void doAffair(Object obj) {
LogUtil.i("======处理事务===obj="+obj.toString());
}
});
mBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LogUtil.i("======点击了====");
test();
}
});
}
private void test() {
//添加事务到队列
for (int i = 0; i < 30; i++) {
mExAffairManager.addAffair("我是"+i);
}
}
@Override
protected void onDestroy() {
super.onDestroy();
//结束事务队列
mExAffairManager.stopAffair();
}
}
四.运行项目图及项目结构图
效果图
项目结构图
五.ExAffairManager源码
下面贴出ExAffairManager
源码: