728x90
반응형
💡 SQLite
MySQL나 PostgreSQL와 같은 데이터베이스 관리 시스템이지만, 서버가 아니라 응용 프로그램에 넣어 사용하는 비교적 가벼운 데이터베이스이다.
사용 방법!
- SQL Helper를 사용하여 데이터베이스 생성 - onCreate, onUpgrade 재정의 & 삽입, 삭제 메서드 정의
DatabaseOpenHelper 클래스 생성
public class DatabaseOpenHelper extends SQLiteOpenHelper {
public static final String tableName = "Users";
public DatabaseOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
Log.i("tag","db 생성_db가 없을때만 최초로 실행함");
createTable(db);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVer, int newVer) {
}
public void createTable(SQLiteDatabase db){
String sql = "CREATE TABLE " +tableName+ "(id text, pw text, name text, age integer, height integer, weight integer, gender text, run integer, login text, date text)";
try {
db.execSQL(sql);
}catch (SQLException e){
}
}
public void insertRecord(SQLiteDatabase db, String id, String date, int time, double distance, int step, double kcal){
Log.i("tag","러닝 종료시 실행 (기록저장)");
db.beginTransaction();
try {
String sql3 = "INSERT INTO " +tableNameRecord+ "(id, date, time, distance, step, kcal)" + "values('"+ id +"', '"+ date +"', "+ time +", "+distance+", "+step+", "+kcal+")";
db.execSQL(sql3);
db.setTransactionSuccessful();
}catch (Exception e){
e.printStackTrace();
}finally {
db.endTransaction();
}
}
}
- 필요 Activity (java)에서 정의 및 사용
int version = 1;
DatabaseOpenHelper helper;
SQLiteDatabase database;
String sql;
Cursor cursor;
dbHelper = new DatabaseOpenHelper(this, "mydatabase.db", null, 1);
db = dbHelper.getWritableDatabase();
// 데이터 제거
dbHelper.deleteInfo(db, Contact);
// 데이터 검색 및 추출
sql = "SELECT * FROM "+ helper.tableName+ " WHERE login = '1'";
cursor = database.rawQuery(sql, null);
cursor.moveToNext(); // 첫번째에서 다음 레코드가 없을때까지 읽음
id = cursor.getString(0);
// 데이터 업데이트
database.execSQL("UPDATE Record SET " +
"time="+time+", distance="+distance+", step="+step+", kcal="+kcal+
" WHERE id = '"+id+"' AND date = '"+dateNow+"'");
SQLite를 사용하여 데이터 저장 | Android 개발자 | Android Developers
728x90
반응형
'🌐OS > AOS' 카테고리의 다른 글
[AndroidStudio] PHP 외부 DB연결 (0) | 2023.08.20 |
---|---|
[AndroidStudio] TMap API (0) | 2023.08.20 |
[AndroidStudio] RecyclerView (0) | 2023.08.20 |
[AndroidStudio] Fragment (0) | 2023.08.20 |
[AndroidStudio] 에러 노트 (0) | 2023.08.20 |