简体   繁体   中英

SQLite database ..onCreate() is not being called

Kohli.java

package com.kohli;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.content.Context;

public class KohlifActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

          Log.i("KOHLIActivity", "qwert11111111");   

          setContentView(R.layout.main);
          Log.i("KOHILActivity", "qwert22222222222"); 

        DbHelper1 DbHelper=new DbHelper1(this) ;

        Log.i("KOHLIfActivity", "qwert3333333333");



    }
}



DbHelper1.java
package com.kohli;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.provider.BaseColumns;
import android.util.Log;

public class DbHelper1 extends SQLiteOpenHelper 
{

    static final String TAG = "DbHelper1";
    static final String DB_NAME = "timeline.db"; 
    static final int DB_VERSION = 1;
    static final String TABLE = "timeline"; 
    static final String C_ID = BaseColumns._ID;
    static final String C_CREATED_AT = "created_at";
    static final String C_SOURCE = "source";
    static final String C_TEXT = "txt";
    static final String C_USER = "user";
    Context context;

    public DbHelper1(Context context) { 
        super(context, DB_NAME, null, DB_VERSION);
        this.context = context;
        Log.d(TAG, "constructor111111");
        //System.out.println("dbhelper constructor");
    }

    // Called only once, first time the DB is created

    public void onCreate(SQLiteDatabase db) {
    String sql = "create table " + TABLE + " (" + C_ID + " int primary key, "
    + C_CREATED_AT + " int, " + C_USER + " text, " + C_TEXT + " text)"; 

    db.execSQL(sql); 
    Log.d(TAG, "onCreated sql:22222222 ");
    //System.out.println("dbhelper oncreate");
    }

    // Called whenever newVersion != oldVersion
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    // Typically do ALTER TABLE statements, but...we're just in development,
    // so:
    db.execSQL("drop table if exists " + TABLE); // drops the old database
    Log.d(TAG, "onUpdated 33333333");
    //System.out.println("dbhelper onupgrade");
    onCreate(db); // run onCreate to get new database
    }


}

i wrote the following code to make a database with a table... the output at logcat is :: qwert111111 qwert22222 constructor111111 qwert3333 .. that is the oncreate function is not being called so the database is also not created...

dbHelper对象上调用getWritableDatabase()之前,实际上不会创建数据库。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM