DatabaseHelper
hacker98
plain_text
a year ago
3.5 kB
3
Indexable
main
package com.example.chatappdemo;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DatabaseHelper extends SQLiteOpenHelper {
// Tên cơ sở dữ liệu và phiên bản
private static final String DATABASE_NAME = "ChatApp.db";
private static final int DATABASE_VERSION = 1;
// Tên bảng
private static final String TABLE_MYINFO = "Myinfo";
private static final String TABLE_CONVERSATION = "Conversation";
private static final String TABLE_MESS = "Mess";
private static final String TABLE_SENT_REQUEST= "SentRequest";
private static final String TABLE_RECEIVE_REQUEST= "ReceiveRequest";
// Câu lệnh tạo bảng Myinfo
private static final String CREATE_TABLE_MYINFO = "CREATE TABLE " + TABLE_MYINFO + "("
+ "myIP TEXT PRIMARY KEY,"
+ "name TEXT,"
+ "publicKey TEXT,"
+ "privateKey TEXT" + ")";
// Câu lệnh tạo bảng Conversation với thêm trường conver_id
private static final String CREATE_TABLE_CONVERSATION = "CREATE TABLE " + TABLE_CONVERSATION + "("
+ "conver_id INTEGER PRIMARY KEY AUTOINCREMENT," // Khóa chính cho bảng Conversation
+ "IPreceive TEXT,"
+ "name TEXT,"
+ "last_mess TEXT,"
+ "last_mess_time TEXT,"
+ "keyEncrypt128 TEXT,"
+ "keyEncrypt256 TEXT,"
+ "algorithm TEXT" + ")";
// Câu lệnh tạo bảng Mess
private static final String CREATE_TABLE_MESS = "CREATE TABLE " + TABLE_MESS + "("
+ "mess_id INTEGER PRIMARY KEY AUTOINCREMENT,"
+ "conver_id INTEGER,"
+ "sender_ip TEXT,"
+ "mess_text TEXT,"
+ "time TEXT,"
+ "algorithm Text,"
+ "FOREIGN KEY(conver_id) REFERENCES " + TABLE_CONVERSATION + "(conver_id)" + ")";
private static final String CREATE_TABLE_SENT_REQUEST = "CREATE TABLE " + TABLE_SENT_REQUEST + "("
+ "IPSent TEXT," // Khóa chính cho bảng Conversation
+ "name TEXT,"
+ "status TEXT" + ")";
private static final String CREATE_TABLE_RECEIVE_REQUEST = "CREATE TABLE " + TABLE_RECEIVE_REQUEST + "("
+ "IPRequest TEXT," // Khóa chính cho bảng Conversation
+ "name TEXT,"
+ "publicKey TEXT" + ")";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// Tạo các bảng khi cơ sở dữ liệu được khởi tạo lần đầu
db.execSQL(CREATE_TABLE_MYINFO);
db.execSQL(CREATE_TABLE_CONVERSATION);
db.execSQL(CREATE_TABLE_MESS);
db.execSQL(CREATE_TABLE_SENT_REQUEST);
db.execSQL(CREATE_TABLE_RECEIVE_REQUEST);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// Xóa bảng nếu đã tồn tại và tạo lại
db.execSQL("DROP TABLE IF EXISTS " + TABLE_MYINFO);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_CONVERSATION);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_MESS);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_SENT_REQUEST);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_RECEIVE_REQUEST);
onCreate(db);
}
}
Editor is loading...
Leave a Comment