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

broadcast & sqlite

0 추천
broadcast 의 onReceive 안에 sqlite를 적용 시키고 싶은데 어떻게 하나요??

 

콘텐트 프로바이더를 이용할려고 하니까 너무 복잡해서 무슨소리인지 이해가 안되요

 

다른 방법이나 쉬운 방법 있으면 알려주세요~~
rudaorltnf 님이 2015년 3월 25일 질문

1개의 답변

0 추천
broadcast에서 sqlite 사용하는 방법이나 Activity 에서 sqlite 사용하는 방법이나 다를게 없어요

해보다가 막히는 부분이 생기면 조금 더 구체적으로 질문해주세요
Gradler (109,780 포인트) 님이 2015년 3월 25일 답변
activity에서 쓰는 방법이 된다는 말씀이신가요?

소스 코드 올려드릴게요

@Override
    public void onReceive(final Context context, final Intent intent) {
        // TODO Auto-generated method stub
        Bundle bundle = intent.getExtras();
        mContext = context;
        System.out.println("온 리시브 실행 ★");
        try {
                        // 오류 발생 ↓
            db = SQLiteDatabase.openOrCreateDatabase(DB_Path, null);
            System.out.println("DB생성 ★");
            createTable();
            System.out.println("DB 테이블 생성 ★");




이거는 수정 전에 소스코드요
    @Override
    public void onReceive(final Context context, final Intent intent) {
        // TODO Auto-generated method stub
        Bundle bundle = intent.getExtras();
        mContext = context;
        System.out.println("온 리시브 실행 ★");
        try {
                        //오류 발생 ↓
            db = openOrCreateDatabase(dbName, dbMode, null);
오류 로그 까지 올려주시면 도움이 더 될텐데요..
openOrCreateDatabase 함수 호출하면 오류가 발생하나요?
그냥 삽입하면 밑에 빨간 줄이 그이면서

The method openOrCreateDatabase(String, int, null) is undefined for the type ServiceReceiver

라는 문구가 나와요.

그래서 검색하니까 path로 지정 하면 된다고 하던데 수정 한것도 안되더라고요

수정한것은 빨간줄은 안그여지는데 실행이 안되요
일단 수정한것이 맞구요 openOrCreateDatabase 함수가 SQLiteDatabase 의 static 함수 입니다.
SQLiteDatabase.openOrCreateDatabase 없이 openOrCreateDatabase로 사용하시면 해당 클래스의 openOrCreateDatabase 함수를 찾기 때문에 오류가 나는 것이구요

실행이 안된다는 것은 오류가 나는 것인가요?
오류가 발생한다면 오류 로그를 올려 주심이..
DB생성 ★ 까지는 출력이 되나요?
(14) cannot open file at line 32535 of [00bb9c9ce4]

(14) os_unix.c:32535: (2) open(/sdcard/TR_.sqlite) -

Failed to open database '/sdcard/TR_.sqlite'.

android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database

    at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)

오류 메세지 입니다.

DB생성 ★ 이것도 출력이 안되는 상태에요

신경 써주셔서 감사합니다~
sd카드의 DB를 생성 하려고 하려다 보니 퍼미션이 없어서 오류 나는 걸로 보이는데요.
매니 페스트에 아래 행 추가 해보세요
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
헐!! 맞네요 제가 본 글에도 이런 주의 사항이 있었는데 잊고 있었네요 ;; 감사합니다.!!!!!

정말 감사합니다

당신의 지식에 놀라고 갑니다~!
...