Chào mọi người,
Mình mới nghiên cứu về SQLite trong Android. Mình sử dụng class DatabaseHandler.class
Và file Acitivity của mình
Theo mình biết thì nếu chưa tồn tại database thì
sẽ được gọi và tạo table, mình muốn khi chương trình chạy, thì table đươc tạo và có dữ liệu ban đầu. Mình dùng
Trong file Activity, nếu mình chỉ thực hiện lệnh
Thì database chưa được tạo.
Phải thực hiện thêm lệnh
Thì database mới được tạo, nhưng trong table chỉ có data mới được thêm vào ("a111111") mà ko có data đầu tiên ("first value") lúc mình tạo.
Mong được giúp đỡ :nose:
Mình mới nghiên cứu về SQLite trong Android. Mình sử dụng class DatabaseHandler.class
PHP Code:
package com.WL_ver1;
import java.util.ArrayList;
import java.util.List;
import com.WL_ver1.Contact;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DatabaseHandler extends SQLiteOpenHelper {
// All Static variables
// Database Version
private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = "WorklightVer1";
// Contacts table name
private static final String TABLE_FLAG = "activeFlag";
// Contacts Table Columns names
private static final String KEY_FLAG = "statusFlag";
public DatabaseHandler(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
// Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_FLAG + "("
+ KEY_FLAG + " TEXT DEFAULT \'unactive\'" + ")";
db.execSQL(CREATE_CONTACTS_TABLE);
}
// Upgrading database
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// Drop older table if existed
db.execSQL("DROP TABLE IF EXISTS " + TABLE_FLAG);
// Create tables again
onCreate(db);
}
/**
* All CRUD(Create, Read, Update, Delete) Operations
*/
// Adding new contact
void addContact(String str) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_FLAG, str); // Contact Name
// Inserting Row
db.insert(TABLE_FLAG, null, values);
db.close(); // Closing database connection
}
}
PHP Code:
package com.WL_ver1;
import java.util.ArrayList;
import java.util.List;
import com.WL_ver1.Contact;
import android.content.Intent;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.widget.SimpleCursorAdapter;
public class getNativeDatabase extends Activity {
public static DatabaseHandler db;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
db = new DatabaseHandler(this);
//db.addContact("a111111");
}
}
PHP Code:
// Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_FLAG + "("
+ KEY_FLAG + " TEXT " + ")";
db.execSQL(CREATE_CONTACTS_TABLE);
}
PHP Code:
// Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_FLAG + "("
+ KEY_FLAG + " TEXT DEFAULT \'first valuve\' " + ")";
db.execSQL(CREATE_CONTACTS_TABLE);
}
PHP Code:
db = new DatabaseHandler(this);
Phải thực hiện thêm lệnh
PHP Code:
db.addContact("a111111");
Mong được giúp đỡ :nose:
Comment