在以下代码中:
if(c.moveToFirst())
{
do{
longitude=Integer.parseInt(c.getString(0));
latitude=Integer.parseInt(c.getString(1));
p = new GeoPoint(latitude,longitude);
geoPointsArray.add(p);
theRouteDraw();
}while(c.moveToNext());
}
其中c是从我存储了GPS数据(经度,纬度)的数据库中获得的光标
Cursor c=db.getAllData();
和
theRouteDraw();是一种在两个GPS点之间绘制线的方法。
按照我在geoPointsArray []中进行的方式,我得到了所有这些点然后
我将它传递给theRouteDraw();这些点之间的界线立即被绘制!!!!
现在我想在上面的代码中设置一个延迟,以便在geoPointsArray []中添加一个点并调用theRouteDraw().......逐行绘制的行
如果我没有使用延迟,我的应用程序会被阻止一段时间(而不是FC),直到划线...导致它到达需要在地图上连接的多个点!! < / p>
知道如何做到这一点?????????????????
答案 0 :(得分:0)
您应该使用单独的线程来执行theRouteDraw()
函数:请参阅AsyncTask
类和示例(例如http://labs.makemachine.net/2010/05/android-asynctask-example/)以了解如何执行此操作。
这会阻止您的应用阻止。