0

こんにちは、アプリの sqlite データベースを作成する方法についてアドバイスが必要です。ご覧のとおり、php/mysql プラットフォームのサーバー データベースに接続するアプリがあります。私のAndroidアプリには、サーバーdbの最小バージョンであるsqlite dbが必要です。特に、アプリを使用するユーザーのタイプに関連するデータのみです。

私が検討したいくつかのこと:

  1. 事前設定された sqlite データベースを APK にアタッチします。これは確かにAPKパッケージを大きくします.
  2. アプリを初めて使用するときに sqlite db を作成し、サーバーに接続して必要なデータを抽出し、sqlite db に入力します。通常はjsonを使用してサーバーからデータを抽出するため、これを行う方法がわかりません。これには、各レコードが sqlite テーブルに挿入されるため、非常に時間がかかる場合があります。
  3. サーバーが持つ最新のデータセットに基づいて、事前に入力されたsqlite dbを作成するようにサーバーに要求することを考えていました。次に、アプリはこの生成された sqlite db をダウンロードし、それを Android アプリに転送します。

これについての考えは大歓迎です。他の提案があれば、私に知らせてください。

4

1 に答える 1

1

私があなたなら、オプション3を選択します。サーバーにSQLite dbを準備させ、zipやgzipなどを使用して圧縮します。データに応じて、SQLiteデータベースは元のサイズから2倍から5倍に圧縮する必要があります。

次に、apkはサーバーに接続し、圧縮されたSQLite dbをダウンロードし、アプリケーションのホームディレクトリ(または、許可があり、必要に応じてSDcard)に解凍します。

この時点から、アプリからこのデータベースに接続するだけです。更新をダウンロードする場合は、データベース全体を再ダウンロードするのではなく、増分更新を実装することをお勧めします。サーバーが十分に賢い場合は、増分更新のみ(これも圧縮されている)の別の小さなSQLiteデータベースを提供できます。または、必要な更新(および場合によってはスキーマの変更も)を取得する実行によって、テキストSQLスクリプト(ここでも圧縮)を提供できます。

于 2013-02-08T05:31:15.997 に答える