package com.example.freepoc.database;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "LogDatabase";
private static final int DATABASE_VERSION = 1;
// 테이블 생성 쿼리
private static final String CREATE_LOGINFO_TABLE =
"CREATE TABLE LogInfo (id INTEGER PRIMARY KEY AUTOINCREMENT, message TEXT, timestamp DATETIME DEFAULT CURRENT_TIMESTAMP);";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// LogInfo 테이블 생성
db.execSQL(CREATE_LOGINFO_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 데이터베이스 버전 업그레이드 시 필요한 작업 수행
// (예: 기존 테이블 삭제, 새로운 테이블 생성 등)
}
}
package com.example.freepoc.database;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import java.util.ArrayList;
import java.util.List;
public class LogDataManager {
private DatabaseHelper dbHelper;
private SQLiteDatabase database;
public LogDataManager(Context context) {
dbHelper = new DatabaseHelper(context);
}
// 데이터베이스 열기
public void open() throws SQLException {
database = dbHelper.getWritableDatabase();
}
// 데이터베이스 닫기
public void close() {
dbHelper.close();
}
// 로그 추가
public long addLog(String message) {
ContentValues values = new ContentValues();
values.put("message", message);
return database.insert("LogInfo", null, values);
}
// 모든 로그 조회
public List<LogInfo> getAllLogs() {
List<LogInfo> logList = new ArrayList<>();
String[] projection = {"id", "message", "timestamp"};
Cursor cursor = database.query("LogInfo", projection, null, null, null, null, null);
if (cursor != null) {
int idColumnIndex = cursor.getColumnIndex("id");
int messageColumnIndex = cursor.getColumnIndex("message");
int timestampColumnIndex = cursor.getColumnIndex("timestamp");
while (cursor.moveToNext()) {
if (idColumnIndex != -1 && messageColumnIndex != -1 && timestampColumnIndex != -1) {
int logId = cursor.getInt(idColumnIndex);
String logMessage = cursor.getString(messageColumnIndex);
String logTimestamp = cursor.getString(timestampColumnIndex);
LogInfo logInfo = new LogInfo(logId, logMessage, logTimestamp);
logList.add(logInfo);
}
}
cursor.close();
}
return logList;
}
}
테이블 추가