如何将数据onCreate插入到Sqlite数据库中,简单方法?

时间:2016-10-09 13:07:29

标签: android database sqlite android-studio insert

我想用onCreate方法将一些文本插入我的sqlite数据库。

我正在研究它几个小时(它不起作用......)(我是新的@android)。

使用andoid studio。请用onCreate告诉我一个简单的方法。 它只显示第一个日志:Log.d(“Database op”,“Database created”);

public class DatenbankHandler extends SQLiteOpenHelper {
public static final int database_version = 1;
public static final String DATABASE_NAME = "adventure.db";
public static final String dialog_var = "dialog";
public static final String gadget_row = "gadget";
public static final String TABLE_NAME = "liam";

public String Create_Query= "CREATE TABLE" + TABLE_NAME + " (_ID INTEGER PRIMARY KEY AUTOINCREMENT," + dialog_var + " TEXT, " + gadget_row + " TEXT);";


public DatenbankHandler(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
    super(context, DATABASE_NAME, null, database_version);
    Log.d("Database op", "Database created");
}


@Override
public void onCreate(SQLiteDatabase db) {
    // Create table
    db.execSQL(Create_Query);
    Log.d("Database Table", "Table created");

    // Insert into database
    db.execSQL("INSERT INTO liam (" + dialog_var + "," + gadget_row + ") VALUES('I'm Liam', null)");
    Log.d("Database insert", "success");

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}

}

1 个答案:

答案 0 :(得分:0)

这样的事情应该有用......

public class SharedPreferencesManager {
    private SQLiteDatabase banco;
    private Context _context;

    private final String DATABASE_NAME = "blablabla";


     //0 - private (apenas essa aplicação pode usar o banco).
     //1 - read for all (others apps can read this db).
     //2 - write for all (others apps can write on this db).
    private final int DATABASE_ACESS = 0;
    private a="col_name_1",b="col_name_2",c="col_name_3",table_name="blablabla";
    private final String SQL_CREATE_TABLE_BLA = "CREATE TABLE IF NOT EXISTS " + table_name + "( " +
            a+" INTEGER PRIMARY KEY AUTOINCREMENT," +
            b+" INTEGER UNIQUE, " +
            c+" TEXT );";

    public SqliteManager(Context context) {
        this._context = context;

        this.banco = context.openOrCreateDatabase(DATABASE_NAME, DATABASE_ACESS, null);

        this.banco.execSQL(SQL_CREATE_TABLE_BLA);

        insert()

    }

    private void insert(int number, String txt){
        ContentValues values = new ContentValues();
        values.put(this.b, number);
        values.put(this.c, txt);

        this.banco.insert(this.table_name, null, values);
    }
}

您需要创建像SharedPreferencesManager sqlite = new SharedPreferencesManager (ACTIVITY_OR_CONTEXT);这样的类实例化,并使用sqlite.YOUR_METHOD()