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

dbHelper 에서 context 설정

0 추천
안녕하세요..

php 개발자인데, 이번에 업무 확장을 위해 안드로이드의 세계로 입문하였습니다.

아직은 인터넷상의 예제 프로그램 짜집기 하면서 필요한 모바일 앱을 만들어보고 있는 중인데요..

현재 해결하지 못한 문제는..

MainActivity 하고 SQLLiteOpenHelper에서 상속한 dbHelper 하고는 context에 getApplicationContext()를 사용하여 잘 연결되었습니다.

그런데, MainActivity 이외의 다른 클래스에서 dbHelper를 같이 사용하고 싶은데, getApplicationContext() 는 오류가 나고.. context 항에 무엇을 넣어주어 어떤 방식으로 dbHelper를 호출하여야 하는지 모르겠습니다.

아직 안드로이드나 자바가 처음이라 context의 개념을 이해하기가 어렵네요..  인터넷상의 예제들도 MainActivity에서 dbHelper를 호출하는 예제들만 있어서, 다른 클래스에서 호출하는 방법은 아직 찾질 못하였습니다.  context에 무엇을 넣어줘야 하나요?  아니면 다른 호출 방법이 있나요?

도움 주시면 대단히 감사하겠습니다.  ^^
frog7072 (120 포인트) 님이 2019년 1월 5일 질문

1개의 답변

0 추천
Activity 라면 getApplicationContext() 를 사용하시고,

Fragment  라면 getActivity() 를 사용 하시면 됩니다.
개발자초심 (21,220 포인트) 님이 2019년 1월 5일 답변
dbHelper 클래스로 SQLite DB에 값을 저장하고, AsyncTask를 사용하여 SQLite의 값을 외부 서버에 올리도록 프로그램 했는데, 일단 다 동작은 잘 됩니다.
그런데, AsyncTask 의 업로딩 작업이 완료되면 SQLite의 자료를 삭제하려고 AsyncTask 에서 dbHelper의 delete method를 호출하고 싶은데.. dbHelper에 연결하려 하면 context 전달과정에서 계속 빨간줄 오류가 나오는 겁니다.  
말씀하신대로 getActivity()로 바꿔 보았는데.. 계속 빨간 줄 이네요..
오류 내용을 올려주시는게 빠른 해결에 도움이 될 거 같습니다.
...