SQLiteDatabase dbm = this.getWritableDatabase(); рекурсивный
Помогите! Я передаю данные геолокации с Android в базу данных. Выдает сообщение об ошибке. Ошибка: (45, 46) ошибка: не удается найти метод символа getWritableDatabase (). Помогите! введите описание изображения здесь
public class AndroidGPSTrackingActivity extends Activity {
Button btnShowLocation;
// GPSTracker class
GPSTracker gps;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnShowLocation.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// create class object
gps = new GPSTracker(AndroidGPSTrackingActivity.this);
// check if GPS enabled
if(gps.canGetLocation()){
double latitude = gps.getLatitude();
double longitude = gps.getLongitude();
SQLiteDatabase dbm = this.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("LAT_G",
gps.getLatitude());
cv.put("LANG", gps.getLongitude());
boolean result = dbm.insert("table name", cv);
Toast.makeText(getApplicationContext(), "Your Location is - \nLat: " + latitude + "\nLong: " + longitude, Toast.LENGTH_LONG).show();
}else{
// can't get location
// GPS or Network is not enabled
// Ask user to enable GPS/network in settings
gps.showSettingsAlert();
}
} }); } }
1 ответ
getWritableDatabase()
это метод в SQLiteOpenHelper
, this
в вашем коде относится к View.OnClickListener
Экземпляр внутреннего класса, который не является SQLiteOpenHelper
и не имеет такого метода в этом.
Вам нужно будет реализовать свой собственный класс расширения SQLiteOpenHelper
, создать его экземпляр, а затем вызвать getWritableDatabase()
в случае, чтобы получить SQLiteDatabase
работать с.