//This is source code of favorite. Copyrightⓒ. Tarks. All Rights Reserved.
package com.tarks.favorite.user.db;
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.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class DbOpenHelper {
private static final String DATABASE_NAME = "favorite.db";
private static final int DATABASE_VERSION = 2;
public static SQLiteDatabase mDB;
private DatabaseHelper mDBHelper;
private Context mCtx;
private class DatabaseHelper extends SQLiteOpenHelper{
// 생성자
public DatabaseHelper(Context context, String name,
CursorFactory factory, int version) {
super(context, name, factory, version);
}
// 최초 DB를 만들때 한번만 호출된다.
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(DataBases.CreateDB._CREATE);
}
// 버전이 업데이트 되었을 경우 DB를 다시 만들어 준다.
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS "+DataBases.CreateDB._TABLENAME);
onCreate(db);
}
}
public DbOpenHelper(Context context){
this.mCtx = context;
}
public DbOpenHelper open() throws SQLException{
mDBHelper = new DatabaseHelper(mCtx, DATABASE_NAME, null, DATABASE_VERSION);
mDB = mDBHelper.getWritableDatabase();
return this;
}
public void close(){
mDB.close();
}
// Insert DB
public long insertColumn(String user_srl, String profile_update,String profile_update_thumbnail, String profile_pic){
ContentValues values = new ContentValues();
values.put(DataBases.CreateDB.USER_SRL, user_srl);
values.put(DataBases.CreateDB.PROFILE_UPDATE, profile_update);
values.put(DataBases.CreateDB.PROFILE_UPDATE_THUMBNAIL, profile_update_thumbnail);
values.put(DataBases.CreateDB.PROFILE_PIC, profile_pic);
return mDB.insert(DataBases.CreateDB._TABLENAME, null, values);
}
// Update DB
public boolean updateColumn(String user_srl, String profile_update, String profile_update_thumbnail, String profile_pic){
ContentValues values = new ContentValues();
values.put(DataBases.CreateDB.USER_SRL, user_srl);
values.put(DataBases.CreateDB.PROFILE_UPDATE, profile_update);
values.put(DataBases.CreateDB.PROFILE_UPDATE_THUMBNAIL, profile_update_thumbnail);
values.put(DataBases.CreateDB.PROFILE_PIC, profile_pic);
return mDB.update(DataBases.CreateDB._TABLENAME, values, "user_srl="+user_srl, null) > 0;
}
// Update Profile update DB
public boolean updateProfileUpdate(String user_srl, String profile_update, String profile_pic){
ContentValues values = new ContentValues();
values.put(DataBases.CreateDB.USER_SRL, user_srl);
values.put(DataBases.CreateDB.PROFILE_UPDATE, profile_update);
values.put(DataBases.CreateDB.PROFILE_PIC, profile_pic);
return mDB.update(DataBases.CreateDB._TABLENAME, values, "user_srl="+user_srl, null) > 0;
}
// Update Profile update DB
public boolean updateProfileUpdateThumbnail(String user_srl, String profile_update_thumbnail, String profile_pic){
ContentValues values = new ContentValues();
values.put(DataBases.CreateDB.USER_SRL, user_srl);
values.put(DataBases.CreateDB.PROFILE_UPDATE_THUMBNAIL, profile_update_thumbnail);
values.put(DataBases.CreateDB.PROFILE_PIC, profile_pic);
return mDB.update(DataBases.CreateDB._TABLENAME, values, "user_srl="+user_srl, null) > 0;
}
// Delete ID
public boolean deleteColumn(long id){
return mDB.delete(DataBases.CreateDB._TABLENAME, "_id="+id, null) > 0;
}
// Delete Contact
public boolean deleteColumn(String number){
return mDB.delete(DataBases.CreateDB._TABLENAME, "contact="+number, null) > 0;
}
// Select All
public Cursor getAllColumns(){
return mDB.query(DataBases.CreateDB._TABLENAME, null, null, null, null, null, null);
}
// ID 컬럼 얻어 오기
public Cursor getColumn(long id){
Cursor c = mDB.query(DataBases.CreateDB._TABLENAME, null,
"_id="+id, null, null, null, null);
if(c != null && c.getCount() != 0)
c.moveToFirst();
return c;
}
// ID 컬럼 얻어 오기
public Cursor getUserInfo(String user_srl){
Cursor c = mDB.query(DataBases.CreateDB._TABLENAME, null,
"user_srl="+user_srl, null, null, null, null);
if(c != null && c.getCount() != 0)
c.moveToFirst();
return c;
}
// 이름 검색 하기 (rawQuery)
public Cursor getUser(String user_srl){
Cursor c = mDB.rawQuery( "select * from users where user_srl=" + "'" + user_srl + "'" , null);
return c;
}
}