본문 바로가기

안드로이드

[안드로이드] DB 사용하기

반응형

*안드로이드 로컬에서 사용하는 database,즉 sqlite를 사용해보겠다

 


스마트폰 단말기의 data/data/database 경로에 파일이 만들어지고

 

안드로이드의  deivice monitor, toast ,log ,cmd창  등  여러방법을 이용하여 db의 테이블을 확인 할수 있다 



저는 보통 log를 찍어서 확인 해봅니다 



이런식으로 ,.!





SQLiteOpenHelper를 상속받은 DBManger 클래스를 만든다 .

그리고  캐스팅될 (context, 디비이름,null, 버젼(디바이스랑 현재 안드로이드 버젼이 맞는지 확인해서 넣을 것 ))


그리고  생성될 테이블 을  OnCreate에 작성한다.

create table 테이블이름 (item 문자열 컬럼, price 정수형 컬럼, create_at 문자열 컬럼 등등 있다 ..)


그리고 OnUpgragde 는 테이블을 날린뒤에 새로 생성을 하는식으로 작성되어있다,

DROP TABLE IF EXISTS 테이블이름  적으면된다.





DBManager 객체생성하고 cursor를 이용해서  칼럼인덱스의 값을 한개씩 뽑은뒤에 

RecylerView의  List에  DB에 들어있는 값을 추가 시켜줍니다


그후 마지막엔 cursor.close()와 dbmanger.close(), sqlitedatabase()시킵니당 

List에 데이터가 추가되었으므로 


Adapter에서 쓰는 notifyDataSetChanged()를 써서 ,어뎁터가 리스트뷰에 데이터가 바뀌었다고 알려주도록 합니당.






update는  저렇게 명령어 적고 (new String 값들 ) where ( old string 값들) 형식으로 넣어주면됩니다 







DB삭제 



삭제후에  리사이클러뷰의 post를 이용해서  업데이트를 시키자




recyclerView.post(new Runnable() {
@Override
public void run() { //리사이클러뷰 업데이트 ,이거 안하면 렉 걸리니깐 하기 !
adapter.notifyDataSetChanged();



끝 




반응형