一、線程循環啓動,直到滿足條件
1、定義Handler
class MainHandler extends Handler
{public MainHandler(){}
public MainHandler(Looper L)
{
super(L);
}
public void handleMessage(Message nMsg)
{
switch(nMsg.what)
{
case 0:
Log.i(TAG,"nMsg.what =0");
stockbroadcast();//發送STOCK
break;
}
}
}
2、OnCreate中啓動線程
Looper lop = Looper.myLooper();
mMainHandler=new MainHandler(lop);
runnable=new Runnable(){
@Override
public void run() {
if(isDataReady())//滿足條件
{//發送股票的廣播
stockbroadcast();//發送股票的廣播
}
else
{//重新執行
Log.i(TAG,"postDelayed");
mMainHandler.postDelayed(this, 100);//延時100ms
}
}
};
mMainHandler.postDelayed(runnable, 100);
二、Handler發送msg執行操作
1、定義Handler
class MainHandler extends Handler
{
public MainHandler(){}
public MainHandler(Looper L)
{
super(L);
}
public void handleMessage(Message nMsg)
{
switch(nMsg.what)
{
case 0:
Log.i(TAG,"nMsg.what =0");
stockbroadcast();//發送STOCK
break;
}
2、OnCreate中定義對象
MainHandler mMainHandler;//定義Handler對象
3、發送消息:
mMainHandler.sendEmptyMessage(0);