初始化 Handler 对象;
final Handler mHandlerData = new Handler();
初始化一个 Runnable 对象,Runable 里面调用 mHandlerData.postDelayed(this, 5000); 设置定时器的时间间隔。设置时间间隔为5秒钟:
Runnable runnable = new Runnable() {
@Override
public void run() {
final List<TagValue> values = new ArrayList<TagValue>();
Boolean ret = ZDSViewerSDK.client.GetRealTimeData(tagList, values);
Log.d("ZDSClient", "取实时数据库:" + ret + " 个数:" + (values == null ? 0 : values.size()));
if (values.size()>0) {
mActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
addEntry(values.get(0));
}
});
}
mHandlerData.postDelayed(this, 5000);
}
};
调用 mHandlerData 启动定时器,并设置延迟启动时间。延迟1秒启动:
mHandlerData.postDelayed(runnable, 1000);
完整代码如下:
final Handler mHandlerData = new Handler();
Runnable runnable = new Runnable() {
@Override
public void run() {
final List<TagValue> values = new ArrayList<TagValue>();
Boolean ret = ZDSViewerSDK.client.GetRealTimeData(tagList, values);
Log.d("ZDSClient", "取实时数据库:" + ret + " 个数:" + (values == null ? 0 : values.size()));
if (values.size()>0) {
mActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
addEntry(values.get(0));
}
});
}
mHandlerData.postDelayed(this, 5000); //设置时间间隔
}
};
mHandlerData.postDelayed(runnable, 1000); //设置延迟启动时间