Witam, problem jest następujący:
próbuje sobie zrobić activity, gdzie po kliknięciu w button będzie dodawana do bazy danych zawartość formularza. Niby proste, ale:
- Bazę tworze (lub sprawdzam, czy istnieje) już w metodzie onCreate
- Egzekucję SQLa wykonuje już w metodzie onClick
i teraz tak: w onclick wywala błąd, że baza musi być final. Gdy dodam jej final, to w onCreate (przy tworzeniu) wywala błąd, że baza nie może być final.
Ktoś ma jakiś pomysł czym może to być spowodowane? Załączam poniżej kod:
public class Main extends Activity {
Button dodaj;
Button zobacz;
EditText wpisz;
private final String DB_NAME = "mojaBaza";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SQLiteDatabase baza = null;
try{
baza = this.openOrCreateDatabase(DB_NAME, MODE_PRIVATE, null);
baza.execSQL("CREATE TABLE IF NOT EXISTS Samochody (Marka VARCHAR)");
} catch(SQLException e) {
Log.e(getClass().getSimpleName(), "Nie mozna utworzyc, badz otworzyc bazy danych"); }
dodaj = (Button) findViewById(R.id.button1);
zobacz = (Button) findViewById(R.id.button2);
wpisz = (EditText) findViewById(R.id.e1);
dodaj.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
baza.execSQL("INSERT INTO Samochody Values('" + wpisz.getText().toString() + "');");
}
});
}
}