+ android room api를 사용하도록 하자 2020 / 02 / 02
public class DBHelper extends SQLiteOpenHelper {
public static final int DATABASE_VERSION = 1;
public static final String DATABASE_NAME = "User.db";
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(SQL.SQL_CREATE_ENTRIES);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL(SQL.SQL_DELETE_ENTRIES);
onCreate(db);
}
public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion){
onUpgrade(db, oldVersion, newVersion);
}
class SQL extends Object {
private static final String SQL_CREATE_ENTRIES =
"CREATE TABLE " + UserReader.UserDB.TABLE_NAME + " (" +
UserReader.UserDB._ID + " INTEGER PRIMARY KEY," +
UserReader.UserDB.USER_ID + " TEXT," +
UserReader.UserDB.USER_PW + " TEXT)";
private static final String SQL_DELETE_ENTRIES =
"DROP TABLE IF EXISTS " + UserReader.UserDB.TABLE_NAME;
}
}
public class UserReader {
private UserReader() {}
public static class UserDB implements BaseColumns {
public static final String TABLE_NAME = "user";
public static final String USER_ID = "id";
public static final String USER_PW = "pw";
}
}
public class User {
String id;
String pw;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPw() {
return pw;
}
public void setPw(String pw) {
this.pw = pw;
}
}
public Long join() {
db = mDbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(UserReader.UserDB.USER_ID, ID.getText().toString());
values.put(UserReader.UserDB.USER_PW, PW.getText().toString());
long userNumber = db.insert(UserReader.UserDB.TABLE_NAME, null, values);
return userNumber;
}
public List getData() {
db = mDbHelper.getReadableDatabase();
String[] projection = {
BaseColumns._ID,
UserReader.UserDB.USER_ID,
UserReader.UserDB.USER_PW
};
Cursor cursor = db.query(
UserReader.UserDB.TABLE_NAME, // The table to query
projection, // The array of columns to return (pass null to get all)
null/*BaseColumns._ID + "= 2"*/, // The columns for the WHERE clause
null, // The values for the WHERE clause
null, // don't group the rows
null, // don't filter by row groups
null // The sort order
);
List users = new ArrayList<>();
Map<String, String> user = new HashMap<String, String>();
Long userNum = null;
while(cursor.moveToNext()) {
userNum = cursor.getLong(
cursor.getColumnIndexOrThrow(UserReader.UserDB._ID));
String id = cursor.getString(1);
String pw = cursor.getString(2);
user.put(id, pw);
}
users.add(user);
cursor.close();
getUser.setText(users.toString());
return users;
}
public void deleteUser() {
db = mDbHelper.getReadableDatabase();
String selection = UserReader.UserDB.USER_ID + " LIKE ?";
String[] selectionArgs = { ID.getText().toString() };
db.delete(UserReader.UserDB.TABLE_NAME, selection, selectionArgs);
}
public void deleteAll() {
db = mDbHelper.getReadableDatabase();
/*String selection = FeedReaderContract.FeedEntry.COLUMN_NAME_TITLE + " LIKE ?";
String[] selectionArgs = { "MAIN TITLEa" };*/
db.delete(UserReader.UserDB.TABLE_NAME, null, null);
}
}