gpt4 book ai didi

android - 如何每 5 秒将 Android GPS 坐标发送到 MySQL

转载 作者:行者123 更新时间:2023-11-30 01:27:44 25 4
gpt4 key购买 nike

我正在尝试从 Android 获取 GPS 坐标并将其发送到 MySQL 数据库。

一切正常,但程序进入无限循环:因为我使用 While (true) 更新 GPS 坐标并将其每 5 秒发送到数据库。

如何避免循环并每 5 秒将坐标发送到数据库中。

这是我的代码:

package com.example.gpstracking;

import java.util.ArrayList;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;

public class AndroidGPSTrackingActivity extends Activity {
Button btnShowLocation;

GPSTracker gps;
double tmplat=0;
double tmplong=0;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
while (true)
{
gps = new GPSTracker(AndroidGPSTrackingActivity.this);
if(gps.canGetLocation()){
double latitude = gps.getLatitude();
double longitude = gps.getLongitude();
String lat=String.valueOf(latitude);
String lon=String.valueOf(longitude);
ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("latitude", lat));
postParameters.add(new BasicNameValuePair("longitude", lon));
try {
CustomHttpClient.executeHttpPost("http://plangsm2012.site40.net/new/check.php", postParameters);
} catch (Exception e) {
}
tmplat=latitude;
tmplong=longitude;

}

else{
gps.showSettingsAlert();
}

try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

最佳答案

您可以使用计时器来解决此问题。

private void time() {

new Handler().postDelayed(new Runnable() {

@Override
public void run() {

gps = new GPSTracker(AndroidGPSTrackingActivity.this);
if(gps.canGetLocation()){
double latitude = gps.getLatitude();
double longitude = gps.getLongitude();
String lat=String.valueOf(latitude);
String lon=String.valueOf(longitude);
ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("latitude", lat));
postParameters.add(new BasicNameValuePair("longitude", lon));
try {
CustomHttpClient.executeHttpPost("http://plangsm2012.site40.net/new/check.php", postParameters);
} catch (Exception e) {
}
tmplat=latitude;
tmplong=longitude;

}

else{
gps.showSettingsAlert();
}

try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}, 5000); // 5 sec

}

干杯

关于android - 如何每 5 秒将 Android GPS 坐标发送到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17791785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com