私はルーパーを実装しようとしていますので、GPS座標をデータベースに送信するためのスレッドを作成できます。私はJavaを初めて使っていますが、これは本当に混乱しますが、多分あなたが助けてくれるかもしれません。次のクラスメソッドは、ボタンが押されたときにメインアクティビティによって呼び出されます。このメソッドはGPSの位置を見つけ、それを緯度と経度(ユーザーIDとともに)をデータベースに送る別のクラスのメソッドに送ります。私は、アプリケーションが遅くなったり凍ったりするのに問題があるので、このプロセスのために新しいスレッドを作成するために何らかの方法を実装する必要があるようです。何か案は。私はノブなので優しい。ここに私のコードです:新しいスレッドを作成する - Android
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データベースに情報を追加します。