전 기존의 SQLite3 DB에 대한 읽기 전용 액세스를 사용하는 앱을 배송해야합니다.이 앱은 크기가 1GB를 넘는 총 100MB 크기의 SQLite3 DB입니다. 데이터베이스는 Mac에서 생성되며 현재 iOS 용 배송 응용 프로그램에서 사용됩니다. 나는 자바에 능숙하지만 Android는 처음이다.Android 앱이 포함 된 (거대한!) SQLite3 DB를 배송하십시오.
이 다음 질문에 리드 :
1) 나는 데이터베이스를 수정해야합니까? 나는 그것들을 SQLiteDatabase :: rawQuery 질의들과 함께 사용할 계획을 세우므로 바인딩과 메타 데이터에 대한 희망이 없다.
2) DB가 읽기 전용으로 만 사용 되더라도 응용 프로그램 번들에서 복사하거나 처음 시작시 사용자 디렉토리에 다운로드해야합니다.
3) 쿼리가 느려질 수 있습니다. 스레드에서 실행하고 콜백을 통해 데이터를 제공하려고합니다. 이것은 정상적인 Java (Runnable/Thread)에서 수행되는 방식으로 수행 되었습니까, 아니면 다른 방법을 사용해야합니까?
4) 내가 분명히 놓친 Androidan에게 명백한 다른 것이 있습니까?
앱에 전체 데이터베이스를 포장하는 것이 최선의 방법인가요? 모든 사용자가 응용 프로그램에서 데이터베이스의 모든 부분을 필요로합니까 아니면 서버의 대다수 데이터를 어딘가에 클라우드에 호스팅하고 각 사용자의 휴대 전화에 일부만 캐시하는 것이 더 낫습니다. 그만큼 많은 공간을 확보함으로써 앱의 잠재 사용자 수에 대한 강력한 제한을 확실히 적용하고 있습니다. – glenatron
응용 프로그램의 디자인을 다시 평가해야합니다. – waqaslam
그건 불가능합니다. 애플리케이션의 요점은 거대한 데이터베이스에 액세스하여 사용자가 입력하려고하는 것을 해석하는 것입니다. 유스 케이스에는 응답 시간과 거대한 어휘가 절대적으로 필요합니다. 사용자는 IT 기술이 거의 또는 전혀없는 학교 또는 보조 기술 지원자가되며 화재 및 잊어 버림 설치가 필요합니다. 앱의 중요한 부분을 나중에 다운로드하면 앱에 호소하지 않습니다. –