2011-02-02 7 views
0

私は機能的なアーキテクチャを構築しています。Android - SQLiteのアクセスはどのようなものですか?

アンドロイドアプリケーションフレームワークダイアグラムhereに関して、私はアンドロイドアプリケーションフレームワークレイヤーのどのソフトウェアコンポーネントがSQLiteインターフェイスを提供するのか疑問に思っていますか?私はandroid.databaseパッケージが開発者に基本的なSQLiteデータベースにアクセスするのに必要なAPIを提供していることを知っていますが、 "アプリケーションフレームワークレイヤー"について考えると、これはどこにありますか?たとえば、「通知マネージャー」を使用すると、アプリケーションはカスタムアラートを表示できます。どのコンポーネントがデータベースにアクセスできるのですか?私が尋ねる理由は、文書化の目的のためです。多くのありがとう

答えて

1

SQLite APIは意図的にApplication Framework Layerのコンポーネントではありません。それは図書館です。他のライブラリと同様、Application Frameworkコンポーネントのいずれかによって(理論的に)使用できますが、主にアプリケーションクラスで使用することを意図しています。

にする必要があります。これをアプリケーションフレームワークレイヤにマップする必要がありますが、「コンテンツプロバイダ」バブルの下にあると言えるかもしれませんが、参考になるよりも誤解を招きます。

+0

こんにちはダン。お返事をありがとうございます。あなたが私を賢明にすることができれば - 私がアプリケーションを書くなら、それは "アプリケーション"層にあると仮定します。私が書くクラスは、android sdkライブラリを活用します。私は、クラス内のロジックを組み合わせることで、「アプリケーションフレームワーク」レイヤーのさまざまな面を活用できると思いますか?私の機能ダイアグラムのために、アプリケーションでSQLiteデータベースを使用している場合、アプリケーションを "ライブラリ"レイヤーで定義されたSQLiteコンポーネントに直接リンクすることができますか?再度、感謝します。私はGoogleを介してこの情報を見つけるのが面倒です。更新のためにもう一度 – Joeblackdev

+0

に感謝します。これは、アプリケーション間でデータを共有するためのものであるため、コンポーネントを提供するコンテンツへのリンクを誤解させる可能性があると私は理解しています。実際には、SQLiteライブラリがアプリケーションによって活用されているときにはどうなりますか?申し訳ありませんが、愚かな質問のように思われる場合。しかし、それを(例えば)通知の表示と比較すると、「通知マネージャー」がそれを直接処理します。よろしくお願いします。 – Joeblackdev

+1

@Joeblackdev:あなたのアプリケーションはSQLite APIへの「リンク」ではなく「インポート」と言いますが、それ以外の場合は「はい」と言います。それが価値あるものであれば、 "Application Framework Component"と "Library"の間に大きな違いはありません。ただし、少なくともこのダイアグラムの主な違いの1つは、コンポーネントがアプリケーションと対話するためのコールバックと通知に大きく依存していることです。つまり、このような対話の「制御」にあることがよくあります。ライブラリは(私が知っている限り)より受動的であり、一般的にはアプリケーションによって駆動されます。つまり、コールバックの使用はずっと少なくなります。 –

関連する問題