gpt4 book ai didi

安卓 GPS 滞后

转载 作者:行者123 更新时间:2023-11-30 04:00:50 30 4
gpt4 key购买 nike

我得到了这个 gps 接收器方法,它将一些数据存储到数据库中。

// GPS
private void addGPSListener() {
globalconstant.db.setVersion(1);
globalconstant.db.setLocale(Locale.getDefault());
globalconstant.db.setLockingEnabled(true);
final String gps =

"CREATE TABLE IF NOT EXISTS GPS_Values ("

+ "id INTEGER PRIMARY KEY AUTOINCREMENT, Latitude float(10, 8), Longitude float(10, 8),Accuracy INTEGER,Speed INTEGER,City TEXT,timestamp TIMESTAMP);";
globalconstant.db.execSQL(gps);


float f = Float.valueOf(globalconstant.gps_update_value.trim())
.floatValue();
Log.d("FESTIVALE :: ", "Frissítési idő: "
+ f);
float update = f;


globalconstant.mlocManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
globalconstant.mlocListener = new MyLocationListener();
globalconstant.mlocManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER, (long) update, 0,
globalconstant.mlocListener);
}

public class MyLocationListener implements LocationListener {

public void onLocationChanged(Location loc) {

float szel = (float) loc.getLatitude();
float hossz = (float) loc.getLongitude();
int horiAcc = (int) (loc.getAccuracy());
// int speed=(int) ((loc.getSpeed()*3600)/1000); //sebesség km/h-ban
int speed = 0;

if (loc.hasSpeed()) {
speed = (int) ((loc.getSpeed() * 3600) / 1000); // sebesség
// km/h-ban
} else {
speed = 0;
}

String test = String.format("%.08f", szel);
String test2 = String.format("%.08f", hossz);

Geocoder geocoder = new Geocoder(main.this, Locale.getDefault());
try {
List<Address> addresses = geocoder.getFromLocation(szel, hossz,
1);
city = addresses.get(0).getLocality();
} catch (IOException e) {
e.printStackTrace();
}

ContentValues gps_values = new ContentValues();

gps_values.put("Latitude", test);
gps_values.put("Longitude", test2);
gps_values.put("Accuracy", horiAcc);
gps_values.put("Speed", speed);
gps_values.put("City", city);

SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
Date date = new Date(System.currentTimeMillis());

gps_values.put("timestamp", dateFormat.format(date));

try {
globalconstant.db.beginTransaction();
globalconstant.db.insert("GPS_Values", null, gps_values);
globalconstant.db.setTransactionSuccessful();
} finally {
globalconstant.db.endTransaction();
}

Log.d("FESTIVALE :: ", "Hely " + test + ", " + test2 + " , "
+ horiAcc + " , " + speed + " , " + city + "," + dateFormat.format(date));
// String Text = "My current location is: " + "Latitude = "
// + loc.getLatitude() + "\nLongitude = " + loc.getLongitude();

// Toast.makeText(getApplicationContext(), "Hely" +test + "\n" +
// test2 + "\n" + horiAcc + "\n" +speed + "\n" +city,
// Toast.LENGTH_SHORT)
// .show();

}

public void onProviderDisabled(String provider) {
Toast.makeText(getApplicationContext(), "Gps Disabled",
Toast.LENGTH_SHORT).show();
DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case DialogInterface.BUTTON_POSITIVE:
// show gps otions
Intent gpsOptionsIntent = new Intent(
android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(gpsOptionsIntent);
break;

case DialogInterface.BUTTON_NEGATIVE:
dialog.cancel();
break;
}
}
};

AlertDialog.Builder builder = new AlertDialog.Builder(main.this);
builder.setMessage("A GPS nincs aktiválva!\nAktiválja most?")
.setPositiveButton("Aktivál", dialogClickListener)
.setNegativeButton("Nem", dialogClickListener).show();
}

public void onProviderEnabled(String provider) {
Toast.makeText(getApplicationContext(), "Gps Enabled",
Toast.LENGTH_SHORT).show();

}

public void onStatusChanged(String provider, int status, Bundle extras) {
}

}// gps vége

平均更新时间为 1 秒。但是我的手机有点滞后 (galaxy s2) 我可以看到它,因为有一个计时器。

有人知道为什么吗?

最佳答案

我想我找到了解决方案:

globalconstant.mlocManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER, (long) update, 0,
globalconstant.mlocListener);

在“更新”之后它代表一个“0”。这是我发现的:

requestLocationUpdates(String provider, long minTime, float minDistance, LocationListener listener)

这意味着最小距离为“0”,所以这就是它如此“滞后”的原因。但是感谢任何人!

关于安卓 GPS 滞后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12533239/

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