私のAndroidアプリは、いくつかの異なるアクティビティとサービスからローカルSQLiteDBの読み取りと書き込みを行っています。かなり標準的です。しかし、すべてのDBの詳細を定数として格納し、DBにアクセスする場所で使用する方法には満足していません。 DBをContentProviderでラップするようにアドバイスされました。私にはいいですね。コードをリファクタリングしているときに、次のように尋ねると思いました。
ええ、私は多年生の「Androidオブジェクト関係マッピングフレームワークはどこにありますか?」質問。今のところ、私は主に、標準のSDKで利用可能なものを使用してAndroidアプリをどのように構成するかを知りたいと思っています。
いつものように、ポインタをありがとう!
チューニングを行っています ORMLite on Androidしばらくの間、正常に機能しています。ORMLiteはAndroidネイティブデータベース呼び出しとJDBCを介して他のデータベースもサポートします。クラス/フィールドに注釈を付け、基本DAOクラスを使用してSQLiteに永続化します。
DatabaseHelper
を実装します。アクティビティはOrmLiteBaseActivity
(またはサービスまたはタブ)を拡張します。これにより、ヘルパーとDAOにアクセスできます。これがいくらか役立つことを願っています。
今のところ、私は主に、標準のSDKで利用可能なものを使用してAndroidアプリをどのように構成するかを知りたいと思っています。
私はSQLとそれがAndroidで処理される方法の本当のファンではないので、オブジェクトデータベースを使用します NeoDatis 。基本的には、Javaオブジェクトをデバイスに保存されているフラットファイルに非常に簡単に保存/取得できます。db40は、Androidで動作するもう1つの代替オブジェクトデータベースでもあります。
このアプローチを使用しても問題はありません。NeoDatisライブラリを含めると、APKサイズが最大700kb増加することに注意してください。
リストをどんどん完成させるために...別のORMは、 BARACUS Framework で提供されるORMソリューションです。エンタープライズサイズのデータベースを構築することは意図されていません。データベースにいくつかのエンティティを格納し、アプリからアクセスできるようにするためのものです。その中にはコード生成アプローチはありません。エンティティpojo、rowmapper、およびテーブルdefを記述するだけです。したがって、DAO、依存性注入、IOCスタイルのライフサイクルサポートなどを利用できます。
これまでのORM機能:
より洗練されたデータベースのものについては(ORMの使用は古き良き春のrowmapperの時代のように少し手作業です)、私は現在ormlite統合を追加することを考えています。
コードの詳細については、 githubのチュートリアルアプリケーション を確認してください。
Androrm もご覧ください。これは、Android用に特別に設計されたオープンソースのormツールです。それはすべてのデータベース関連のものであなたを助けるはずです。
答えがあるかどうかはわかりませんが、これがどのように処理されるかがあまり好きではないことを除けば、非常に厄介だと思います。私は通常、SDKに付属しているメモ帳の例に示されているパターンに従います。
このため、私は独自のミニORMフレームワークに取り組んでおり、注釈を使用してこれらすべてを管理しています。これまでのところ問題なく機能していますが、まだすべてを解決していません。