안드로이드 내부의 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 |
댓글