2016-04-19 11 views
-1

私はphpMyAdminのサーバー上にデータベースを持っているアプリケーションを開発しようとしていますが、これはjsonオブジェクトを解析してデータを取得しています。ユーザーは同じデータを共有します。問題は、サーバーからデータを取得するときに時間がかかることがあり、デバイスに保存するとより効率的ですが、一部のユーザーが同じデータを共有する(データを削除して追加できる)という問題です。私の問題は、SQliteとmyPHPをどのように組み合わせることができるのかです。ユーザーが初めてデータをサインインしてサーバーから取り出し、デバイスのデータベースに挿入し、次にユーザーがデータにサインインするようにしますデバイスのデータベースから取得する必要があります。変更を加える場合は両方のデータベースを更新しますアンドロイドのデータストレージ - SQliteとmyPHPの組み合わせ

+0

これを達成するうえでどんな問題がありますか? – Yashasvi

+0

私はそれを行う方法を知らない。私は見て、両方のデータベースについてチュートリアルをたくさん読んでいるが、それらを組み合わせて何もない – ATT

+0

私はそれらを組み合わせていないデータベースを複製する必要がありますね。右?そして、1つを変えるとき、もう1つも変えなさい。 – Yashasvi

答えて

0

サーバーとクライアントの両方でデータベーススキーマをレプリケートする必要があります。

サーバーから最初に結果を取得します。ローカルsqiliteに保存してください。そして、SharedPreferencesにフラグを保存して、将来、ローカルdbから結果を取得する必要があることを知ってください。

その後、ローカルデータベースで変更が加えられた場合は、サーバーでもそれを更新する必要があります。そのためには、サーバーで更新する速度をユースケースに応じて決める必要があります。

すぐにやりたくない場合は、複数の通話を待ち、バッチしてから、Job Scheduler APIを使用してサーバーに送信することができます。

サーバーの変更をできるだけ早く行う必要がある場合は、新しいスレッドをスピンオフしてすぐに送信してください。

0

あなたはそのようにこれを達成することができます。..

をユーザの異なるタイプのユーザー名または(要求に応じて、ユーザによって送信される)と、共通のデータは、すべてのユーザーに送信するすべてのユーザーIDに基づいてデータを送信する必要があります。今

あなたの主な問題に来て

..あなたはユーザーへ(サーバーから)phpdatabaseから(ユーザーID /ユーザー名のベースには)すべての関連データを送信し、アンドロイドのすべてのデータが保存されます要求にユーザー最初の兆候で

デバイス。

ユーザーが再署名したときそのアンドロイドデバイスデータベースがヌル(データあり)かどうかを確認します。アンドロイドデバイスデータベースがヌルでない場合は、ユーザデータのためにphpdatabaseから新しいリクエストを実行しません。

あなたはあなたが何かを削除したり、何かを更新したと言ったような変更があった場合、あなたはアンドロイドデバイスから削除/追加/更新のためのphpdatabase(サーバ)への新しいリクエストを作成しました。まずサーバー側(phpdatabase)からサーバー側への変更要求を行い、そのサービス/要求がtrueを返すと、ローカル/デバイスデータベースでそのデータを変更/更新します。

関連する問題