package com.example.mysql_tester.library;
import java.util.HashMap;
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 {
//���� static �ܼ�
//��Ʈw������
private static final int DATABASE_VERSION = 1;
//��Ʈw���W��
private static final String DATABASE_NAME = "android_api";
//�n�J���W��
private static final String TABLE_LOGIN = "login";
//�n�J������W��
private static final String KEY_ID = "id";
private static final String KEY_NAME = "nick_name";
private static final String KEY_EMAIL = "email";
private static final String KEY_UID = "uID";
public DatabaseHandler(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
//�إߪ��
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_LOGIN_TABLE = "CREATE TABLE " +TABLE_LOGIN +"("
+KEY_ID +" INTEGER PRIMARY KEY,"
+KEY_NAME +" TEXT,"
+KEY_UID +" TEXT,"
+KEY_EMAIL +" TEXT UNIQUE"+")";
db.execSQL(CREATE_LOGIN_TABLE);
}
//��s���
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//�p�G���w�s�b���ܡA�N�ª����R��
db.execSQL("DROP TABLE IF EXISTS " +TABLE_LOGIN);
//�A�إߤ@�Ӫ��
onCreate(db);
}
//�x�sUSER���ԲӸ�ƨ���̭�
public void addUser(String name,String email,String uid) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_NAME, name);
values.put(KEY_EMAIL, email);
values.put(KEY_UID, uid);
//values.put(KEY_CREATE_AT, created_at);
//Log.e("DB Handler value", values.toString());
//��J�C����
db.insert(TABLE_LOGIN, null, values);
db.close();
}
//�q���̭����o�U�Ȫ����
public HashMap<String, String> getUserDetails() {
HashMap<String, String> user = new HashMap<String, String>();
String selectQuery = "SELECT * FROM " +TABLE_LOGIN;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
//����Ĥ@�C
cursor.moveToFirst();
if (cursor.getCount() > 0) {
user.put("name", cursor.getString(1));
user.put("uID", cursor.getString(2));
user.put("email", cursor.getString(3));
//user.put("created_at", cursor.getString(4));
}
cursor.close();
db.close();
//return user
return user;
}
//���o�ϥΪ̵n�J���A�Areturn true if rows are there in table
public int getRowCount() {
String countQuery = "SELECT * FROM " +TABLE_LOGIN;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(countQuery, null);
int rowCount = cursor.getCount();
//Log.e("DB Handeler Count = ", ""+rowCount);
db.close();
cursor.close();
//return row count
return rowCount;
}
//���s�إߪ��A�]�N�O>>�R���Ҧ������M��A���s�s�y�X��
public void resetTable() {
SQLiteDatabase db = this.getWritableDatabase();
//�R���Ҧ��C
db.delete(TABLE_LOGIN, null, null);
db.close();
}
}