MessDAO

 avatar
hacker98
java
a year ago
4.9 kB
7
Indexable
package com.example.chatappdemo.DAO;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

import com.example.chatappdemo.DatabaseHelper;
import com.example.chatappdemo.model.Mess;

import java.util.ArrayList;
import java.util.List;

public class MessDAO {
    private SQLiteDatabase db;
    private SQLiteOpenHelper dbHelper;

    // Constructor
    public MessDAO(Context context) {
        dbHelper = new DatabaseHelper(context);
    }

    // Mở kết nối
    private void open() throws SQLException {
        db = dbHelper.getWritableDatabase();
    }

    // Đóng kết nối
    private void close() {
        if (db != null && db.isOpen()) {
            db.close();
        }
    }

    // Thêm dữ liệu vào bảng Mess
    public long insertMess(Mess mess) {
        open();
        ContentValues values = new ContentValues();
        values.put("conver_id", mess.getConver_id());
        values.put("sender_ip", mess.getSender_ip());
        values.put("mess_text", mess.getMess_text());
        values.put("time", mess.getTime());
        values.put("algorithm", mess.getAlgorithm());
        long result = 0;
        try {
            result = db.insert("Mess", null, values);
        } catch (SQLException e) {
            e.printStackTrace();
            Log.d("Socket", e.getMessage());
        }
        close();
        return result;
    }

    // Cập nhật dữ liệu trong bảng Mess
    public int updateMess(Mess mess) {
        open();
        ContentValues values = new ContentValues();
        values.put("conver_id", mess.getConver_id());
        values.put("sender_ip", mess.getSender_ip());
        values.put("mess_text", mess.getMess_text());
        values.put("time", mess.getTime());
        values.put("algorithm", mess.getAlgorithm());

        int result = db.update("Mess", values, "mess_id = ?", new String[]{String.valueOf(mess.getMess_id())});
        close();
        return result;
    }

    // Lấy toàn bộ dữ liệu từ bảng Mess
    public List<Mess> getAllMessages() {
        List<Mess> messages = new ArrayList<>();
        open();

        Cursor cursor = db.query("Mess", null, null, null, null, null, null);
        if (cursor != null && cursor.moveToFirst()) {
            do {
                Mess mess = new Mess();
                mess.setMess_id(cursor.getInt(cursor.getColumnIndexOrThrow("mess_id")));
                mess.setConver_id(cursor.getInt(cursor.getColumnIndexOrThrow("conver_id")));
                mess.setSender_ip(cursor.getString(cursor.getColumnIndexOrThrow("sender_ip")));
                mess.setMess_text(cursor.getString(cursor.getColumnIndexOrThrow("mess_text")));
                mess.setTime(cursor.getString(cursor.getColumnIndexOrThrow("time")));
                mess.setAlgorithm(cursor.getString(cursor.getColumnIndexOrThrow("algorithm")));

                messages.add(mess);
            } while (cursor.moveToNext());
        }

        if (cursor != null) {
            cursor.close();
        }
        close();
        return messages;
    }

    // Lấy dữ liệu từ bảng Mess theo conver_id
    public List<Mess> getMessagesByConversationId(int conver_id) {
        List<Mess> messages = new ArrayList<>();
        open();

        Cursor cursor = db.query("Mess", null, "conver_id = ?", new String[]{String.valueOf(conver_id)}, null, null, null);
        if (cursor != null && cursor.moveToFirst()) {
            do {
                Mess mess = new Mess();
                mess.setMess_id(cursor.getInt(cursor.getColumnIndexOrThrow("mess_id")));
                mess.setConver_id(cursor.getInt(cursor.getColumnIndexOrThrow("conver_id")));
                mess.setSender_ip(cursor.getString(cursor.getColumnIndexOrThrow("sender_ip")));
                mess.setMess_text(cursor.getString(cursor.getColumnIndexOrThrow("mess_text")));
                mess.setTime(cursor.getString(cursor.getColumnIndexOrThrow("time")));
                mess.setAlgorithm(cursor.getString(cursor.getColumnIndexOrThrow("algorithm")));

                messages.add(mess);
            } while (cursor.moveToNext());
        }

        if (cursor != null) {
            cursor.close();
        }
        close();
        return messages;
    }

    // Xóa dữ liệu từ bảng Mess theo mess_id
    public boolean deleteMessById(int mess_id) {
        open();
        int rowsDeleted = db.delete("Mess", "mess_id = ?", new String[]{String.valueOf(mess_id)});
        close();
        return rowsDeleted > 0;
    }
}
Editor is loading...
Leave a Comment