Witam. Zwracam się do Was uprzejmie o pomoc. Nie mam pojęcia co robie źle.. w kodzie wydaje mi się, że jest wszystko dobrze (analizuje kod i nic mi się nie rzuca w oczy..) Eclipse- emulator reaguje: program "unfortunately has stopped".. Sama baza tworzy się, jednak jest problem z utworzeniem tabel...
package com.example.android;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class admin extends Activity {
public Button NowaBaza;
public ObslugaBazy obslugaBazy= new ObslugaBazy(this);
public void onCreate(Bundle savedInstenceState){
super.onCreate(savedInstenceState);
setContentView(R.layout.admin);
NowaBaza=(Button)findViewById(R.id.button1);
NowaBaza.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
obslugaBazy.zalozNowaBaze();
//Toast.makeText(context, "Założono bazy danych !", Toast.LENGTH_LONG).show();
}
} );
}
}
Klasa BazaDanychStruktura:
package com.example.android;
public class BazaDanychStruktura {
public static final String BD_BazaDanychPlik= "baza_ksiazek4.db";
//tabela ksiazki
public static final String BD_TabelaKsiazki= "ksiazki";
public static final String BD_KsiazkiPoleId= "ksiazki_id";
public static final String BD_KsiazkiTytul= "ksiazki_tytul";
public static final String BD_KsiazkiKodKreskowy= "ksiazki_kod_kreskowy";
public static final String BD_TabelaStanMagazynowy="stanmagazynowy";
public static final String BD_StanMagazynowyId="stanmagazynowy_id";
public static final String BD_StanMagazynowyKsiazkaId="stanmagazynowy_ksiazka_id";
public static final String BD_StanMagazynowyIlosc="stanmagazynowy_ilosc";
public static final String[] BD_KsiazkiWszystkiePola= {BD_KsiazkiPoleId, BD_KsiazkiTytul, BD_KsiazkiKodKreskowy};
public static final String[] BD_StanMagazynowyWszystkiePola={BD_StanMagazynowyId,BD_StanMagazynowyKsiazkaId,BD_StanMagazynowyIlosc};
public static final String Sql_NowaTabelaKsiazki = "CREATE TABLE IF NOT EXISTS "
+ BD_TabelaKsiazki
+ "("
+ BD_KsiazkiPoleId + " INTEGER " + "PRIMARY KEY, "
+ BD_KsiazkiTytul + " STRING, "
+ BD_KsiazkiKodKreskowy + " STRING, "
+ ")";
public static final String Sql_NowaTabelaStanMagazynowy ="CREATE TABLE IF NOT EXISTS"
+ BD_TabelaStanMagazynowy
+"("
+BD_StanMagazynowyId + " INTEGER " + "PRIMARY KEY, "
+BD_StanMagazynowyKsiazkaId + " INTEGER, "
+BD_StanMagazynowyIlosc + " INTEGER, "
+ ")";
}
klasa obsługa bazy
package com.example.android;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.widget.Toast;
public class ObslugaBazy {
public Context context;
public SQLiteDatabase BazaDanych;
public ObslugaBazy (admin aktywnosc){
context=aktywnosc;
}
public void openBaza(){
BazaDanych= context.openOrCreateDatabase(BazaDanychStruktura.BD_BazaDanychPlik, SQLiteDatabase.OPEN_READWRITE, null);
}
public void closeBaza(){
BazaDanych.close();
}
public void zalozNowaBaze(){
openBaza();
BazaDanych.execSQL(BazaDanychStruktura.Sql_NowaTabelaKsiazki);
BazaDanych.execSQL(BazaDanychStruktura.Sql_NowaTabelaStanMagazynowy);
closeBaza();
Toast.makeText(context, "Założono bazy danych !", Toast.LENGTH_LONG).show();
}
}