2016-08-14 9 views
0

私はUdacity android IntermediateからAndroidプログラミングを学んでいます。 https://www.udacity.com/course/viewer#!/c-ud853/l-3599339441/m-3659838854ここでは、データベースにアクセスするためのContract、Provider、およびDbHelperの作成について述べました。質問 1)これは契約書、プロバイダ、およびデータベースヘルパーを使用してデータベースにアクセスする正しい方法ですか? 2)単純なselect文を実行するには、この方法を使用する必要がありますか?リモートデータベースにアクセスするには、アンドロイドにContract、Provider、およびDbHelperを記述する必要がありますか?

答えて

0

必須ではありません。ただし、3つのコンポーネントを使用すると、データベースの保守が非常に簡単になります。各コンポーネントに関する具体的な理由は次のとおりです。

  • データ契約:テーブルの整理に役立ちます。これは、アプリケーションが大きくなり、テーブルの数が増えると非常に重要であることがわかります。
  • コンテンツプロバイダ:データを読み込むためにカーソルローダを使用する場合は、コンテンツプロバイダが必要です。カーソルローダーは、バックグラウンドで実行され、UIを妨害しないため、sqliteからデータをロードするための推奨される方法です。さもなければ、大量のデータの簡単なクエリがUIを遅らせることができます。また、他のアプリケーションがアプリケーションのデータベースにアクセスできるようにすると、コンテンツプロバイダーは抽象としても機能し、他のアプリケーションはデータベースの構造を知らなくてもクエリを実行できます。
  • オープンヘルパー:データベースのオープンとアップグレードを管理する。これは主にContentProviderで使用されます。 documentationによると:

このクラスは、長時間実行されているデータベースのアップグレードを使用してアプリケーションの起動をブロックを回避するために、ContentProviderの実装は、開口部を延期するための最初の使用までのデータベースをアップグレードすることが容易になります。

関連する問題