데이터베이스 프레임 워크를 구현하는 "안드로이드 방식"은 무엇입니까?Android 데이터베이스 모범 사례?
두 가지 목표 : "데이터베이스"는 네트워크를 통해 SQLite는 데이터베이스 또는 뭔가를 할 수 있도록
- 그것은 충분히 포괄적이어야한다.
- 멀티 스레드 안전해야합니다. (업데이트 : "스레드 안전"이란 기본 UI 스레드에서 실행해서는 안되며 데이터베이스 호출이 서로 충돌해서는 안되며 시스템은 결과를 기본 UI 스레드로 다시 전달하는 방법을 알아야합니다.
- 업데이트 :
- 사용에게 LoaderManager를 쿼리 : 그것은 (전화 방향 변경과 같은) 구성 변경에 대해 알아야 할
이 내가 여기에서 수집 및 안드로이드 문서 한 것입니다 데이터.
- ContentProvider 만들기 (1 & 2 스레드를 안전하게 만듭니다.)
- ContentProvider와 데이터간에 추가 클래스를 추가하십시오.
그러나 데이터 작성, 업데이트 및 삭제는 어떻게해야합니까? 제가 말할 수있는 한 LoaderManager는 질의만을위한 것입니다. AsyncQueryHandler를 사용해야합니까?
업데이트 : AsyncQueryHandler는 구성 변경 사항을 알지 못합니다. 나는 파편이 갈 길이라는 것을 읽었습니다. 또는 ... AsyncQueryHandler 구현이 구성 변경을 처리하는지 확인해야합니다.
(목표 1) : 매우 어렵지만 예, ContentProvider는 로컬 sqlite 데이터베이스 대신 원격 데이터베이스의 콘텐츠를 제공 할 수 있습니다. 좋은 추상화 같은 소리가 난다 – zapl
나는이 모든 것이 나에게 단편적인 것처럼 보인다고 생각한다. 모든 CRUD를 처리하는 하나의 LoaderManager를 기대했습니다. –
로더의 포인트는 데이터를 주 스레드에 비동기 적으로로드하는 유틸리티라는 것입니다. 그들은 C, U 또는 D로 무엇이든 할 의도가 없습니다. R (eading)을 돕는 것뿐입니다. Android의 기존 추상화 시스템을 고수하려면 ContentProvider를 사용하십시오. 이는 모든 종류의 데이터베이스에만 국한되지 않는 일반 CRUD 인터페이스이기 때문입니다. – zapl