GPS에서 얻은 수정 사항을 SQLite 데이터베이스에 저장하는 데 사용하는 사용자 정의 ContentProvider가 있습니다. 이 클래스는 ContentProvider 메서드 (delete, insert, query ...)를 재정의하지만 마지막 수정을 쿼리하는 메서드도 포함되어 있습니다.Android : ContentProvider에서 사용자 정의 메서드 호출
public class FixesContentProvider extends ContentProvider {
@Override
public int delete(...) { ... }
...
@Override
public Cursor query(...) { ... }
public Cursor getLastFix(Uri uri) { ... }
}
getContentResolver()
를 호출하여 다른 서비스 나 활동 데이터를 조회하는 것이 매우 쉽다.
ContentResolver cR = getContentResolver();
Cursor fixes = cR.query(CONTENT_URI, ...);
그러나 맞춤 방식 (FixesContentProvider#getLastFix
)을 호출 할 수 없습니다. ContentProvider에 정의 된 사용자 정의 메서드를 어떻게 호출 할 수 있습니까?
아마도 ContentProviders/ContentResolvers가이 경우 어떻게 작동하는지 이해할 수 없지만 공식적으로 Android documentation provided by Google은 이러한 점에서 분명하지 않습니다.
내가 그랬다. 저는 UriMatcher.addUri를 사용하여 "content : // xxx/fixes"및 "content : // xxx/fixes/last"를 두 개의 다른 코드에 일치 시키며 스위치 (myUriMatcher.match (uri)) {사례 CODE_1 : xxx; case CODE_2 : yyy; }. 고맙습니다. –