마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Activity 상속되지 않은 클래스에서 SQLite사용 가능 한가요?

0 추천
제가 현재 폰갭으로 프로젝트를 진행하고 있는 상황인데요

지금 상황을 대충 설명드리면 Activity를 상속받지 않은 일반 클래스에서 SQLite를 사용해야되는 상황인데요

이 클래스는 Plugin이라는 폰갭에서 제공하는 클래스를 상속을 받고있습니다.

근데 SQLite를 사용하기 위해서는 Context가 필요한데 Context를 사용하기 위해서는 Acvitiy가 상속되어있어야 하잖아요.

근데 이런 경우(Activity상속 안됨)에는 어떻게 Context가 필요한 작업을 처리 할 수 있는지 궁금합니다.

오늘 하루종일 뻘짓했네요....

알려주세요~ㅠㅠ
Woniper (830 포인트) 님이 2013년 2월 25일 질문

2개의 답변

+1 추천
Application 클래스를 생성 하셔서 거기에 DB를 만드시는것도 괜찮을것 같습니다.

Activity에서 getBaseContext()가 있는것 처럼 Application에서 getApplicationContext()가 있거든요
갈무리 (12,430 포인트) 님이 2013년 2월 26일 답변
요 방법이...가장 무난한것 같네요...
0 추천
글쎄요 context를 받아올 방법이 전혀 없나요?

그러면 성능상 별로 안좋은 방법이긴하지만 Global이라는 클래스를 만드시고

public static SqliteDatabase db;

이 변수를 선언하신담에 첫 화면의 onCreate에서(한번은 나오겠죠 뭐 ㅋ)

Global.db=를 선언하시고

마지막 화면에서 Global.db.close()를 해주시면 됩니다

 

그 클래스에서는 Global.db를 쓰시면 되고요...

context도 같은방식으로 가능합니다

단, context는 액티비티에서 this로 해야 합니다(컨텍스트 객체는 종류가 여러가지입니다)
수상한i (8,050 포인트) 님이 2013년 2월 25일 답변
그러면 Global클래스에 Activity를 상속 받아서 onCreate메소드에서 구현을 하라는 말씀이신가요? 그렇게 하면 MainActivity클래스에서 Global클래스를 Intent로 호출을 하면 되나요??
...