이전글 필요한분.

2012/02/10 - [Android Study] - Android database 만들기 6편 

변경 전
    @Override
    public Cursor query(Uri uri, String[] projection, String selection,
            String[] selectionArgs, String sortOrder) {
        return null;
    }
변경 후 
    @Override
    public Cursor query(Uri uri, String[] projection, String selection,
            String[] selectionArgs, String sortOrder) {
        switch(Matcher.match(uri)){
        case KIND_DATA :
          // 질의 요청 Cursor 형태로 return 됨 그리고 좀 찾아보면 좋은거 있음
          // GroupBy, 라던지 Having이라던지 이런것도 가능 하게 해줌 
 
            return mPracticeDB.query(PRACTICE_TABLE, projection, selection, selectionArgs, null, null, sortOrder);
        default :
            return null;
        }
    }
 
변경 전
    @Override
    public int update(Uri uri, ContentValues values, String selection,
            String[] selectionArgs) {
        return 0;
    }
변경 후 
    @Override
    public int update(Uri uri, ContentValues values, String selection,
            String[] selectionArgs) {
       // DB에 없뎃한 갯수 
        int count = 0;

        switch(Matcher.match(uri)){
        case KIND_DATA :
          // 질의 요청 DB에 업뎃요청
            count = mPracticeDB.update(PRACTICE_TABLE, values, selection, selectionArgs);
            break;
        default :
            count = 0;
        }
       // URI에 DB 갱신했다고 알려줌
        getContext().getContentResolver().notifyChange(uri, null);
        return count;
    } 

으캬~ 겨우 ContentProvider 다 완성 헀다.
이제 사용법이 궁금 하지 않음요?
 
DB 추가.
ContentValues values = new ContentValues();
        values.put(PracticeColumns.DATA, "Hello");
        Uri resutlUri = getContentResolver().insert(PracticeColumns.CONTENT_URI, values); 

DB 업데이트 (ID 값이 1번인 내용을 업데이트 할때)
ContentValues values = new ContentValues();
        values.put(PracticeColumns.DATA, "Android");
        int result = getContentResolver().update(PracticeColumns.CONTENT_URI, values,
                           PracticeColumns.ID + " = 1", null);
 
DB 삭제.  (ID 값이 1번인 내용을 삭제 할때) 
        int result = getContentResolver().delete(PracticeColumns.CONTENT_URI,
                          PracticeColumns.ID + " = 1", null);

DB 질문.
Cursor cursor = getContentResolver().query(PracticeColumns.CONTENT_URI,
               new String[] {PracticeColumns.ID, PracticeColumns.DATA}, null, null, null); 

요롷게 쓰면 된당께... 으흐흐. 

'Android' 카테고리의 다른 글

LayoutInflater에 대하여...  (0) 2012.02.15
Cursor close 해야 하는 이유와 하는 방법.  (2) 2012.02.14
Android database 만들기 6편  (0) 2012.02.10
Android database 만들기 5편  (0) 2012.02.10
Android database 만들기 4편  (0) 2012.02.10

+ Recent posts