Android デバイスに SQLite データベースと MySQL リモート マスター データベースがあります。Android デバイスのユーザーは、データベースのレコードを変更 (つまり、追加、削除、変更) できます。私が望むのは、Android デバイスがオンラインのときはいつでも、Android デバイス上のデータベースをマスター データベースに自動的に同期することです。マスター データベースのレコードを同期すると、行われたすべての追加、削除、または場合によっては変更が反映されます。
さて、これが私がやろうと思っていることです。作成した Databasehelper クラスでは、各メソッドにコードを追加して、メソッドが呼び出され、対応するクエリがローカル Android データベースで実行されるたびに、実行されたクエリ文字列が単純なテキストに格納されるようにします。ファイル。そのため、変更はローカル データベースで発生し続ける可能性があり、クエリ文字列はファイルに保存され続けます。基本的に、SQL ダンプが作成されます (そうですか?)。クライアント側で JDBC MySQL 接続コードを記述すると、そのファイルから一度に 1 行ずつ読み取られ、マスター MySQL サーバーでクエリが実行されます。どのように聞こえますか?削除にも対応していると思います。
しかし、次の疑問が生じます。
1) JDBC Connector for MySql は Android デバイスで動作しますか? 私はネットを閲覧し、矛盾する答えを見つけました。うまくいかないと言う人もいます。プロジェクトのビルド プロパティに外部 jar ファイル mysql-connector-java-3.0.17-ga-bin を追加するだけでよいという人もいます。これについては本当に混乱しています。PHPの知識がないので、これがうまくいくことを願っています。
2) 接続後、MySql マスター データベースから結果を返す必要はないと思います。master データベースのテキスト ファイルに保存されている sql dump ive を実行するだけです。簡単ですね。
3) 次に、逆方向の同期を行います。Sqlite で見つけた良い点は、SQL クエリを受け入れることです。したがって、他の方法で同期するには、Android デバイスで特定のフォルダーに Sql ダンプ ファイルをダウンロードし、ダウンロードしたファイルから読み取り、クエリを実行するために作成されたデータベース アダプターを取得する必要があります。これははるかにタフに聞こえます。これを行うためのアイデアはありますか?1 つ確かなことは、SQLite データベースがリモート サーバーへの接続を許可しないということです。
疑問のいくつかは貧弱に見えるかもしれませんが、私は本当にあなたの助けが必要です. ご覧のとおり、私はデータベースの初心者です。