当前位置:编程学习 > wap >>

Looper Handler 求解

我的一个android项目里 有一个 MyApp(extends Application) 里面有一个函数 getInfoFromNet(。。。);

然后 有一个 Activity ,它里面就是启动一个Service,这个Service大致如下
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
start();
return super.onStartCommand(intent, flags, startId);
}
private void start() {
// TODO Auto-generated method stub
// Looper.prepare(); ////////////////
mTimer = new Timer();
TimerTask tt = new TimerTask() {
@Override
public void run() {
MyApp.getInfoFromNet(。。。);

}
};
mTimer.schedule(tt, 0,5000);
}
这里问题就来了 我在 Timer线程中调用主线程的(是在主线程吧)MyApp.getInfoFromNet(。。。);eclipse提示 Timer线程没有Looper,需调用Looper.prepare(),那我就在//////////处加了Looper.prepare(),可是运行后又提示 一个线程里不能有两个Looper。  这里主因应该是我在 Timer线程调用了其他线程的函数吧?  以前对线程只有皮毛认识啊?
求大哥们指点一下
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,