2012-08-09 3 views
0

Activity의 하위 클래스가 아닌 클래스에서 데이터베이스를 열 수 있습니까?android에서 열린 sqlite 데이터베이스

Activity의 하위 클래스에서 openOrCreateDatabase()을 사용할 수 있지만 다른 클래스의 데이터베이스를 열 수 있습니까?

데이터베이스 인스턴스를 정적 ​​인스턴스로 만들고 Activity에서 열어 다른 인스턴스에서 정적 인스턴스를 가져 오려고했지만 데이터베이스가 닫혔다는 예외를 throw합니다.

+0

시도한 코드를 게시 할 수 있습니까? – Akshay

답변

2

체크 아웃 tutorial.

나는 그것을 시험해 보았고, 안드로이드에서 SQLite를 사용하는 방법에 관한 정말 좋은 튜토리얼이다.

기본적으로 테이블을 만들 데이터베이스 도우미 클래스를 만들어야합니다. 그런 다음 Activity에서이 도우미 클래스를 사용하여 데이터베이스 및 테이블을 만들 수 있습니다.

0

SQLite 데이터베이스 어댑터를 사용하는 것이 일반적이며 데이터베이스를 사용하는 활동과는 별도로 헬퍼 클래스를 사용하는 경우가 있습니다. 이 코드를 사용하는 예는 link입니다. vogella 튜토리얼도 좋지만 ContentProvider를 사용하면 SQLite DB에만 필요한 것들을 이해하는 것이 어려워집니다.

기본적으로 도우미 클래스는 DB 생성, 업데이트 및 삭제를 담당하지만 어댑터 클래스는 값 변경, 행 삭제 및 실제로 도우미를 호출하여 데이터베이스를 여는 메서드를 처리합니다.

관련 문제