私は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
A
答えて
0
必須ではありません。ただし、3つのコンポーネントを使用すると、データベースの保守が非常に簡単になります。各コンポーネントに関する具体的な理由は次のとおりです。
- データ契約:テーブルの整理に役立ちます。これは、アプリケーションが大きくなり、テーブルの数が増えると非常に重要であることがわかります。
- コンテンツプロバイダ:データを読み込むためにカーソルローダを使用する場合は、コンテンツプロバイダが必要です。カーソルローダーは、バックグラウンドで実行され、UIを妨害しないため、sqliteからデータをロードするための推奨される方法です。さもなければ、大量のデータの簡単なクエリがUIを遅らせることができます。また、他のアプリケーションがアプリケーションのデータベースにアクセスできるようにすると、コンテンツプロバイダーは抽象としても機能し、他のアプリケーションはデータベースの構造を知らなくてもクエリを実行できます。
- オープンヘルパー:データベースのオープンとアップグレードを管理する。これは主にContentProviderで使用されます。 documentationによると:
このクラスは、長時間実行されているデータベースのアップグレードを使用してアプリケーションの起動をブロックを回避するために、ContentProviderの実装は、開口部を延期するための最初の使用までのデータベースをアップグレードすることが容易になります。
関連する問題
- 1. SQLでクエリを記述する必要があります
- 2. クラスのヘッダーファイルにプライベートメソッドを記述する必要はありますか?
- 3. Visual Studio 2008マクロはVB.Netで記述する必要がありますか?
- 4. プッシュ前にローカルおよびリモートブランチを検証する必要があります
- 5. はあなたが別のデバイスのために別のレイアウトを記述する必要がありますか?
- 6. これはAS3ループでどのように記述する必要がありますか?
- 7. 拡張クラスのコンストラクタを記述する必要がありますか?
- 8. TypeScriptモジュールのTypeScript定義を記述する必要がありますか?
- 9. ブーストグラフライブラリで頂点記述子を追跡する必要がありますか?
- 10. 角度material2コンポーネントのラッパーを記述する必要がありますか?
- 11. mmap'edファイルによるIPC:アトミックおよび/またはvolatileを使用する必要がありますか?
- 12. サービス層はHttpContextにアクセスする必要がありますか?
- 13. RSAProtectedConfigurationProviderまたはMy Own Providerを使用する必要がありますか?
- 14. Nettyハンドラ、オーバーライド時にsuper.channelRead()を記述する必要があります。そのジョブは何ですか?
- 15. Functional Interfaceを実装する際に、なぜ "implement interfaceName"を記述する必要がありますか?
- 16. ユニットテスト(java):データをユニットテストに公開するpublicメソッドを記述する必要がありますか?
- 17. pauseおよびaddEventListenerでremoveEventListenerを再生する必要がありますか?
- 18. インターフェイス仕様書には、どのActiveMQプロパティ/設定を記述する必要がありますか?
- 19. なぜデリゲート宣言には識別子を記述する必要がありますか?
- 20. 異なるOSごとに別々のUIコードを記述する必要がありますか?
- 21. ヘルプには、正規表現記述する必要が
- 22. コントローラから指示にアクセスする必要があります
- 23. プライベートクラスはプロパティによってアクセスする必要がありますか?
- 24. Equalsメソッドをオーバーライドするときに、==および!=演算子をオーバーライドする必要がありますか? (.NET)
- 25. JavaおよびSwiftと互換性のあるフォーマット記述はありますか? Javaでは
- 26. ソケットへの読み書きにファイル記述子またはストリームを使用する必要があります
- 27. stderrまたはstdoutにメッセージを記録する必要がありますか?
- 28. JSON.parse(JSON.stringify(data))を記述する必要があるのはなぜですか?
- 29. ウェブサイトにアクセスするたびに、ブラウザはカスタマイズされたフォントを再ダウンロードする必要がありますか?
- 30. Spring Cloud ContractおよびZuul