Где сохранить точки GPS (широта, долгота) Android?

В событии onLocationChanged я хочу сохранить свой маршрут GPS (широта, долгота). Позже я хочу загрузить эти данные и нарисовать маршрут .

Кто является лучшим способом сделать это, используя некоторый тип массива (и сохранить или загрузить с помощью базы данных) или файлы XML или что-то еще?

Спасибо.

16
задан Jovan 30 August 2010 в 22:58
поделиться

1 ответ

Используйте общие настройки и редактор.

Ознакомьтесь с этим открытым исходным кодом, возможно, он вам очень поможет: OsmandSettings.java

Я объясню важные части кода:

import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;

// These settings are stored in SharedPreferences, replace com.osmand.settings 
// with your own package name, or whatever String you want.
public static final String SHARED_PREFERENCES_NAME = "com.osmand.settings";
public static final String LATITUDE = "latitude";
public static final String LONGITUDE = "longitude";

Для записи в SharedPreferences:

public void onLocationChanged(Location location){
    SharedPreferences prefs = Context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_WORLD_READABLE);
    Editor editor = prefs.edit();
    //Save it as a float since SharedPreferences can't deal with doubles
    edit.putFloat(LATITUDE, (float) Location.getLatitude());
    edit.putFloat(LONGITUDE, (float) Location.getLongitude());
    edit.commit();
}

Для чтения из SharedPreferences:

public void onLocationChanged(Location location){
    SharedPreferences prefs = Context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_WORLD_READABLE);
    double lat = (double)prefs.getFloat(LATITUDE, 0);
    double lon = (double)prefs.getFloat(LONGITUDE, 0);
}
0
ответ дан 30 November 2019 в 15:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: