1

質問を適切な順序で並べることができません。
私が達成しようとしていることを説明させてください。
Assetフォルダに入れたローカルデータベースを使用したAndroidアプリを開発しています。
データベースは、後でアプリをインストールするときに一度だけインストールされ
、アセットからデータフォルダーにコピーして、すべての読み取り専用クエリ操作を実行します。
それはすべてうまくいきます。
今私の問題は、データベースが毎週頻繁に更新されることです。
データベースを更新するたびにアプリ全体を更新する代わりに、
データベースのバージョンが更新された場合、アプリはインターネットから新しいデータベースをダウンロードし(それを達成する方法がわかりません)、それをクエリ操作に使用する必要があると考えていました。

それを拡張すると、ユーザーがデータベースに何かを挿入した場合にデータベースを更新でき
ます

これは私の最初のAndroidアプリなので、それを達成する方法がまったくわかりません。私の問題に関する情報を入手したいと思います。:)

4

3 に答える 3

4

データベースが毎週更新される場合、データベースをオンラインにするのは簡単です。PHP スクリプトを使用して MySQL サーバーに接続できます。オンラインで利用できる多くのリソースがあります。ここにあるいくつかの:

MySQL を Android に接続する

android-with-php-mysql の接続方法

これらは基本的なチュートリアルです。要件に基づいてロジックを変更できます。

それが役に立てば幸い。

于 2013-02-08T04:28:54.237 に答える
2

データベースを資産フォルダーに保持することは、永続的なことです。データベースを更新する必要がある場合は、オンライン データベースを使用することをお勧めします。つまり、データベースをオンライン サーバーに保持することをお勧めします。CRUD操作を実行したい場合は、phpを使用してmySQLデータベースに接続することで実行できます. お役に立てれば!

于 2013-02-05T12:00:20.377 に答える
1

これは非常に奇妙なアプローチのように思えます。JSON、xml、またはその他の形式で変更されたデータのみを Web からロードし、変更されたデータに従って db update を実行してみませんか?

編集:コメント内の質問への回答:

最初にいくつかのSQLといくつかのサーブサイド言語(私の選択した言語はPythonですが、多くの人はRubyを選択し、PHPには行かないでしょう..)を学び、次に適切なソフトウェアアーキテクチャを見つける必要があると思います. オンラインデータベースを公開するREST APIを使用し、データを使用してローカルデータベースを時々SQL UPDATEするか、アプリで直接使用します(より多くの作業をサーバーにオフロードしますが、待ち時間がかかります)。サーバー側で mongodb (NOSQL データベース) を使用して、REST で直接クエリを実行することもできます。または、週に 1 回、必要なすべてのデータを含む JSON をロードし、それを sqlite の代わりに一種のローカル データベースとして使用します。あなたの質問に答える簡単な答えや簡単な方法はありません。さまざまなテクノロジーを学び、特定のユースケースに適した方法を決定する必要があります。しかし、どのテクノロジースタックにも、おそらく次のようなものが含まれます。

  1. サーバー側データベース (およびおそらくいくつかのロジック)
  2. データベースを公開し、(REST? websockets? ファイルのダウンロード?) サーバーから新しいデータを照会し、新しいデータで更新する方法。
  3. サーバーデータベースとロジックを保護するためのセキュリティ、承認、認証などのレベル
  4. app local db (sqllite、データを含む単なるオブジェクト、他の方法でローカルの静的ファイル) は、非常に最小限でメモリ内に常駐し、アプリ全体になることができます。

  5. アプリのロジック、ビューなど (アプリがローカル/リモート データベースにクエリを実行する方法、ローカル データベースとリモート データベース間の接続を開始する方法など)

  6. ソフトウェアテスト - リファクタリングで壊れないように
  7. ローカルおよびリモートのデバッグ ツールチェーン
  8. コード リポジトリ管理の一部 (Git は現在人気がありますが、常に最良の選択です)
于 2013-02-05T12:01:39.813 に答える