2010-12-30 10 views
5

AndroidアプリケーションからオンラインのSQLiteデータベースにアイテムを開いて読み込み、挿入する必要があります。
私はurl、ユーザー名とパスワードを知っています。 Java SEで私は、次の操作を行います。Android - オンラインデータベースSQliteへのアクセス

Class.forName("com.mysql.jdbc.Driver"); 
Connection dbConnection = DriverManager.getConnection(URL, USER, PASSWORD); 

私は、JDBCドライバが(そこ"SQLite.JDBCDriver"があるが、それは文書化されていませんし、推奨されていない)がないので、私は、Androidでこれを行うことができないことを読みました。
これは最も簡単な方法ですか?私はGoogleに尋ねましたが、どちらかが分からないようです。

+3

"正しい"方法は、あなたのデータベースへのインタフェースとしてRESTfulなWebサービスを作成することだと思います。 –

答えて

2

あなたはこのような、少なくとも以下の理由により、Webサービスなどの仲介を経て、このようなあなたのデータソースを公開する必要があります。

  • 誰かがあなたのデータソースへの直接アクセスを持ち、
  • データを、読んで操作したり、破壊することができます抽象化;
  • ;データの送信方法とその表現方法を制御することができます。データベーステーブル/オブジェクトが変更された場合は、更新を強制するのではなく、Webサービスを変更するだけで済みます(一部のケースでは
  • JSONの対話は、以前に文書化された理由のため)

私は確かに多くの理由がありますが、上記は私の心の中で最も一般的です。

2

Android用JDBCの公式サポートはありません。プライベートなSqlLiteドライバがありますが、サポートされておらず、将来的にはなくなる可能性があるため、推奨しません。

これらを読む:

Does Android Support JDBC

http://groups.google.com/group/android-developers/browse_thread/thread/cf3dea94d2f6243c

http://code.google.com/p/sqldroid/

だから、お勧めの方法は、内部(プライベート)のSQLiteドライバを使用して、代わりに、サーバー上のREST層を作成しないことですが通りますあなたはデータにアクセスします。これは、デバイス側の負荷を最小限に抑え、サーバー側で認証を作成する機会を提供するため、推奨される方法です。公開アクセス可能なJDBC接続を使用することは大きなノー・ノーです。

+0

私はすでにこれらの3つのページを読んでいますが、実際の方法で私を助けません:)私はどのクラスを使うべきですか?このsqldroidドライバの使用は良い考えですか? – Oneiros

+0

JDBCを使用しないでください。サーバー上にRESTレイヤーを作成します。私は答えを更新しました。 –

+1

Jerseyを使用して単純にRESTレイヤーを構築します。http://wikis.sun.com/display/Jersey/Main –

関連する問題