2015-03-08 2 views
1
public void onSave(View v){ // this is the activity which calls sqllite 
    Connectivity cn = new Connectivity(getApplicationContext()); 
    SQLiteDatabase sqlDb = cn.getWritableDatabase(); 
} 

В моем sqllite открытом вспомогательном классе, где моя операция базы данных выполняется в следующем коде, я не могу получить доступ к «OnCreate» или «OnUpdate» метод, и любой как мое приложение работает достаточно хорошо, без каких-либо исключений или ошибокинтерфейс SQLiteOpenHelper, переопределяют методы доступа «OnCreate»

public class Connectivity extends SQLiteOpenHelper { 
final static String db_name="Attendence"; 
SQLiteDatabase sqlDb; 
Context cn = null; 
Connectivity(Context context){ 
    super(context,db_name , null, 1); 
    cn = context; 
    toast.message(cn, "constructor called"); 

} 
@Override 
public void onCreate(SQLiteDatabase db) { 
    // TODO Auto-generated method stub 
    try{ 
    db.execSQL("create table class_ref(id number primarykey autoincrement," + 
      "class_name varchar(20),no_students int,reg_no text"); 
    }catch(Exception e){ 
     toast.message(cn, "EXCEPTION:"+e.toString()); 
    } 
    toast.message(cn, "onCreate method called");  
} 

я не получаю ни один из тостов сообщений, упомянутых выше

@Override 
public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) { 
    // TODO Auto-generated method stub 
    try{ 
     toast.message(cn, "onupgrade called"); 
     db.execSQL("drop table class_ref if exists"); 
     onCreate(db); 
    }catch(Exception e){ 
     toast.message(cn, "EXCEPTION:"+e.toString()); 
    }toast.message(cn, "on update method called"); 
} 

}

Выход:

toast message 'constructor called ' 

ответ

1

Методы Жизненный цикл базы данных Android SQLite называются только тогда, когда код версии отправлен на изменения конструктора.

При отладке, вместо установки константы, попробуйте изменить версию динамически, чтобы вызвать методы жизненного цикла.

Connectivity(Context context, int version){ 
    super(context,db_name , null, version); 
    cn = context; 
    toast.message(cn, "constructor called"); 
} 
Смежные вопросы