I need help. I'm trying to create a new sqlite database on android (my app has just one which works fine) but when I create the second, the activity goes in crash.
This is my code. Could you give me an hand?
Following the second activity (doesnt't work)
com.example.memopad;
import java.util.ArrayList;
import java.util.Calendar;
import android.annotation.SuppressLint;
import android.app.DatePickerDialog.OnDateSetListener;
//import android.app.DialogFragment;
import android.app.PendingIntent;
import android.content.ContentValues;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import android.support.v4.app.Fragment;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentManager;
public class Birthday extends ActionBarActivity
{
private PendingIntent pendingIntent;
private EditText inserisciNome;
private TextView impostaData;
private Button BackButton2;
private Button AggiungiData;
private EditText inseriscigiorno;
private EditText inseriscimese;
private EditText inseriscianno;
private int year;
private int month;
private int day;
private Spinner spinner1, spinner2;
private ArrayAdapter<CharSequence> adapterG ;
ArrayAdapter<CharSequence> adapterM;
AdapterView<?> parent;
int pos;
String giorno;
private HelperB helper;
private SQLiteDatabase dbwrite;
private SQLiteDatabase dbleggo;
private ArrayList<String> archivioNomi;
private ArrayList<String> archivioGiorni;
private ArrayList<String> archivioMesi;
private ArrayList<Long> listaId2;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.birthdaylayout);
recuperaView();
setAllListener();
SetAdapterSpinner();
//inizializzaDb();
//addListenerOnButton();
Intent alarmIntent = new Intent ( Birthday.this,AlarmReceiver.class);
pendingIntent = PendingIntent.getBroadcast(Birthday.this, 0, alarmIntent, 0);
}
public void recuperaView(){
BackButton2 =(Button)findViewById(R.id.returnback2);
AggiungiData=(Button)findViewById(R.id.aggiungiBirth2);
inserisciNome=(EditText)findViewById(R.id.mioEditText);
spinner1 = (Spinner) findViewById(R.id.spinnerDay);
spinner2 = (Spinner) findViewById(R.id.spinnerMese);
}
public void setAllListener(){
AggiungiData.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
inserisciinDB();
Toast.makeText(getApplicationContext(), inserisciNome.getText().toString() + " " + spinner1.getSelectedItem() + " "+ spinner2.getSelectedItem() ,
Toast.LENGTH_SHORT).show();
}
});
BackButton2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent ( Birthday.this,MenuActivity.class);
startActivity(i);
}
});
}
private void inizializzaDb() {
helper = new HelperB(this);
dbwrite = helper.getWritableDatabase();// rendo scrivibile il db
dbleggo = helper.getReadableDatabase();// db diventa leggibile
}
public void inserisciinDB(){
ContentValues dati = new ContentValues();
dati.put("nome", inserisciNome.getText().toString());
dati.put("giorno",spinner1.getSelectedItem().toString());
dati.put("mese", spinner2.getSelectedItem().toString());
dbwrite.insert("birth", null, dati);
aggiornaElenco();
}
public void aggiornaElenco(){
final String sql2 = "SELECT * FROM birth ";
Cursor cursore = dbleggo.rawQuery(sql2, null);
archivioNomi=new ArrayList<String>();
archivioMesi=new ArrayList<String>();
archivioGiorni=new ArrayList<String>();
listaId2=new ArrayList<Long>();
while (cursore.moveToNext());
listaId2.add(cursore.getLong(0));
archivioNomi.add(cursore.getString(1));
archivioGiorni.add(cursore.getString(2));
archivioMesi.add(cursore.getString(3));
//System.out.println(cursore.getLong(0));
}
public void SetAdapterSpinner(){
adapterG = ArrayAdapter.createFromResource(this,
R.array.giorni, android.R.layout.simple_spinner_item);
adapterM = ArrayAdapter.createFromResource(this,
R.array.mesi, android.R.layout.simple_spinner_item);
adapterG .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
adapterM .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(adapterG);
spinner2.setAdapter(adapterM);
}
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
}
public void onNothingSelected(AdapterView<?> parent) {
}
}`
this is the helper class`age com.example.memopad;
import android.content.Context;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase;
public class HelperB extends SQLiteOpenHelper {
private static final String DB_NAME="_db";
private static final int DB_VERSION=1;
public HelperB( Context context){
super(context,DB_NAME,null,DB_VERSION);
}
public void onCreate(SQLiteDatabase db2){
String sql2="";
sql2 +="CREATE TABLE birth(";
sql2 +=" _id INTEGER PRIMARY KEY,";
sql2 +=" nome TEXT NOT NULL";
sql2 +="giorno TEXT NOT NULL";
sql2 +="mese TEXT NOT NULL";
sql2 +=")";
db2.execSQL(sql2);
}
public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){}
}`
Aucun commentaire:
Enregistrer un commentaire