본문 바로가기
Development/Free Topic

안드로이드 DB, SQLite

by IMCOMKING 2014. 6. 19.

안드로이드 내부의 DB인 sqlite 를 보려면, 컴퓨터로는 볼 수가 없다. (루팅을 해도 data/data 경로에는 usb로는 접근 불가능. 에뮬레이터에서만 가능함.)


따라서 루팅한 안드로이드 폰에서, rootexplorer 로 data/data/패키지명/database 로 들어가야한다.



--------- DB 부분 / DatabaseManager.java --------

public class DatabaseManager extends SQLiteOpenHelper{


    public DatabaseManager(Context context, String name, CursorFactory factory,int version) {

        super(context, name, factory, version);


    }

    //앱을 처음 설치한 후, Database가 생성될 때 호출되는 메소드

    @Override

    public void onCreate(SQLiteDatabase db) {

        Log.d("test","Make database");

        createTable(db);

    }


    public void createTable(SQLiteDatabase db){

        Log.d("test","createTable");

        //DB에 테이블 생성하기

        String sql = "CREATE TABLE member"+"(id INTEGER PRIMARY KEY AUTOINCREMENT,"+"name TEXT, addr TEXT);";

        //sql문 실행하기

        db.execSQL(sql);

    }


    //DB를 지우고 새로 만들 필요가 있을 때 호출되는 메소드

    @Override

    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

        db.execSQL("DROP TABLE IF EXSITS member");

        //새로 생성될 수 있도록 onCreate() 메소드를 생성한다.

        onCreate(db);

    }


}



-------- DB 호출 부분 -------


        DatabaseManager dManager = new DatabaseManager(this, "myMember.db", null, 1);


        //생성한 객체를 이용해서 SQLitedatabase 객체 얻어오기

        SQLiteDatabase db = dManager.getWritableDatabase();

        //db 객체를 이용해서 테이블에 데이터 저장하기

        db.execSQL("insert into member values(null, '김구라', '노량진');");

        db.execSQL("insert into member values(null, 'song', 'seoul');");

        db.execSQL("insert into member values(null, 'aaaa', 'pusan');");

        db.execSQL("insert into member values(null, 'bbbb', 'inchon');");

        db.execSQL("insert into member values(null, 'cccc', 'daegu');");

        db.close(); //반드시 닫아주어야 생성된다.





http://ggari.tistory.com/235

http://blog.naver.com/khs7515/20155372567


'Development > Free Topic' 카테고리의 다른 글

안드로이드 여러가지 팁  (0) 2014.06.24
Java, 클래스간 변수 공유  (0) 2014.06.19
Excel, Spread Sheet(google), VBA  (0) 2014.06.17
XNA from Siverlight 방법  (0) 2014.06.17
디자인 패턴(Design Pattern)  (0) 2014.06.11

댓글