在下面的代码中:
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 点之间绘制一条线的方法。
按照我在上面的地理点数组[]中的方式,我有所有这些点,然后
我把它传递给 theRouteDraw(); 在这里,这些点之间的线是立即绘制的!!!
现在我想在上面的代码中设置一个延迟,以便在geoPointsArray[]中放置一个点并调用RouteDraw()......。要逐步绘制的线
如果我不使用延迟,我的应用程序会被阻止一段时间(不是 FC),直到画线......因为它到达了许多需要在地图上连接的点!
知道如何做到这一点吗?????????????????
您应该使用单独的线程来执行theRouteDraw()
功能:有关如何执行此操作,请参阅 AsyncTask
类和示例(例如 http://labs.makemachine.net/2010/05/android-asynctask-example/)。
这将防止您的应用被阻止。