글씨 제한이 있어서 글을 두번 쓰는 점 죄송합니다,ㅜㅜ
public class DbAdapter extends SQLiteOpenHelper {
private static final String DB_NAME = "promise2.db";
private static final int VERSION = 1;
private static final String ID = "_id";
private static final String MEETING = "meeting";
private static final String TIME = "time";
private static final String MEMO = "memo";
private static final String TABLE_NAME = "promise";
private static final String CREATE_TABLE =
"CREATE TABLE "
+ TABLE_NAME + "("
+ ID + " integer primary key autoincrement, "
+ MEETING + " text not null, "
+ TIME + " text not null, "
+ MEMO + " text not null )";
private SQLiteDatabase db;
public DbAdapter(Context context) {
super(context, DB_NAME, null, VERSION);
db = this.getWritableDatabase();
}
@Override
public synchronized void close() {
db.close();
super.close();
}
@Override
protected void finalize() throws Throwable {
close();
super.finalize();
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
// create
public boolean insertInfo(String meeting, String time, String memo) {
ContentValues cv = new ContentValues();
cv.put(MEETING, meeting);
cv.put(TIME, time);
cv.put(MEMO, memo);
return db.insert(TABLE_NAME,null,null) != -1;
}
// read
public ArrayList<Info> getAllInfo() {
ArrayList<Info> info = new ArrayList<Info>();
Cursor c = db.query(TABLE_NAME,
new String[] {ID, MEETING, TIME, MEMO}, null, null,null,null, ID + " DESC");
if (c.moveToFirst()) {
final int indexId = c.getColumnIndex(ID);
final int indexMeeting = c.getColumnIndex(MEETING);
final int indexTime = c.getColumnIndex(TIME);
final int indexMemo = c.getColumnIndex(MEMO);
do {
int id = c.getInt(indexId);
String meeting = c.getString(indexMeeting);
String time = c.getString(indexTime);
String memo = c.getString(indexMemo);
info.add(new Info(id, meeting, time, memo));
} while (c.moveToNext());
}
c.close();
return info;
}
// update
public boolean updateInfo(Info i) {
ContentValues cv = new ContentValues();
cv.put(MEETING, i.getMeeting());
cv.put(TIME, i.getTime());
cv.put(MEMO, i.getMemo());
String[] params = new String[] { Integer.toString(i.getId()) };
int result = db.update(TABLE_NAME, cv, ID + "=?", params);
return result > 0;
}
// delete
public boolean deleteInfo(int id) {
String[] params = new String[] { Integer.toString(id) };
int result = db.delete(TABLE_NAME, ID + "=?", params);
return result > 0;
}
public boolean deleteAll() {
int result=db.delete(TABLE_NAME, null, null);
return result > 0;
}
}