我正在尝试实现一个循环器,以便我可以创建一个用于将 GPS 坐标发送到数据库的线程。我是 Java 新手,这真的很令人困惑,但也许你可以提供帮助。当按下按钮时,主活动调用以下类方法。该方法找到 GPS 位置,然后将其发送到另一个类的方法,该方法将纬度和经度(连同用户 ID)发送到数据库。我的应用程序有时会变慢和冻结,因此我似乎需要实施某种方法来为此过程创建一个新线程。有任何想法吗。我是菜鸟,所以要温柔。这是我的代码:
public class LocationActivity extends Thread{
private LocationManager locManager;
private LocationListener locListener;
public void startLocation(Context context, String usr_id2)
{
final String usr = usr_id2;
//get a reference to the LocationManager
locManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
//checked to receive updates from the position
locListener = new LocationListener() {
public void onLocationChanged(Location location) {
SendActivity.send(location, usr);
}
public void onProviderDisabled(String provider){
//labelState.setText("Provider OFF");
}
public void onProviderEnabled(String provider){
//labelState.setText("Provider ON ");
}
public void onStatusChanged(String provider, int status, Bundle extras){
//Log.i("", "Provider Status: " + status);
}
};
Looper looper = null;
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locListener, looper);
}
}
另一个问题,我是在此处添加循环器,还是在将信息发送到数据库的类中添加?它使用 HTTP Post 发送到 PHP 程序,该程序将信息添加到 MySQL 数据库。