공부한 내용을 다시 정리한다는 의미로 작성햇습니다.
public class DBManger extends SQLiteOpenHelper {
static final String TABLE_NAME = "Info";
private static DBManger dbManger = null;
// Singletone
public static DBManger getInstance(Context context, String name, SQLiteDatabase.CursorFactory factory, int version){
if (dbManger == null)
dbManger = new DBManger(context, name, factory, version);
return dbManger;
}
// Construct
public DBManger(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);// DB Create
}
@Override
public void onCreate(SQLiteDatabase db) {
String createQuery = "CREATE TABLE " + TABLE_NAME +
"( ID INTEGER PRIMARY KEY AUTOINCREMENT, " +
"AGE INTEGER, " +
"WEIGHT DOUBLE, " +
"HEIGHT DOUBLE);";
db.execSQL(createQuery);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String createQuery = "DROP TABLE IF EXISTS " + TABLE_NAME + ";";
db.execSQL(createQuery);
}
}
싱글톤부분은 지우셔도 상관없습니다. 밑에 LoginActivity.java에서 조금만 설정하시면 됩니다.
public class LoginActivty extends AppCompatActivity implements Serializable {
SQLiteDatabase db;
DBManger dbManger;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login_activty);
dbManger = DBManger.getInstance(this, "Status", null, 1);
db = dbManger.getWritableDatabase();
db.close();
dbManger.close();
}
}
만약 싱글톤을 삭제한 경우
dbManger = new DBManger(this, "Status", null, 1);로 하시면 됩니다
'안드로이드 > 잡다한 지식' 카테고리의 다른 글
안드로이드 스튜디오 EditText 밑줄 제거 (0) | 2021.03.02 |
---|---|
안드로이드 스튜디오 Recycler View 사용 (0) | 2021.02.18 |
안드로이드 스튜디오 intent로 bitmap 넘기기 (0) | 2021.01.30 |
안드로이드 앱에서 API 요청하기 (Flask 사용) (0) | 2021.01.19 |
안드로이드 스튜디오 문자 받기, 문자 전송하기 (0) | 2020.12.29 |