У меня есть база данных SQL
, которая работает, и broadcast receiver
, что функции, но я не могу показаться, чтобы получить информацию из базы данных, в глобальных переменных (latInfo
, LonInfo
) поэтому я могу использовать их для ввода данных в базу данных. BroadcastReceiver
получает информацию от службы, которая получает координату gps LocationManager
, а location_text
- это textview
, который обновляется каждый раз, когда устанавливается новый набор координат.Перенос данных из onRecieve в базу данных SQL в Android Studio
@Override
protected void onResume() {
super.onResume();
if(br == null){
br = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent z) {
//location_text.append("\n" + z.getExtras().get("coordinates"));
latInfo = (double) z.getExtras().get("latitude");
lonInfo = (double) z.getExtras().get("longitude");
String x = "Latitude: " + latInfo + ", Longitude: " + lonInfo + "\n";
location_text.append(x);
}
};
}
registerReceiver(br, new IntentFilter("location_update"));
}
Это метод, который я хочу реализовать, чтобы добавить данные в базу данных проще говоря, когда данные, которые я могу получить в глобальные переменные (lonInfo
, latInfo
) зарегистрирован ниже классом, он вызывает другую класс, чтобы получить сигнал ячейки cdmaSignal
, и все три вставлены в базу данных.
public void infoCollection(){
if(lonInfo != 0 && latInfo != 0){
cdmaInfo = sl.cdmaSignal;
SQLInfoDatabase sid = new SQLInfoDatabase(cdmaInfo,lonInfo,latInfo);
cdmaSignal.setText(cdmaInfo);
dbh.addInfo(sid);
}
}
Как получить полученные данные от метода onReceieve
остаться в качестве глобальных переменных между обновлениями служб?
у вас есть другие варианты? –
singleton класс - хороший вариант. В чем проблема? – Omer
В основном потому, что я никогда раньше не использовал его. У меня нет проблем с этим, но я надеялся на более прямое решение. Как строка кода для ограничения getExtras. я довольно новичок в программировании, поэтому мне пришлось бы исследовать его некоторое время. –