290

Android (「gPhone」) に取り組んでいる人は誰でも、適切な ORM ツールを見つけることができる場所を知っていますか? コードは Java で記述され、データベースは SQLite です。私が見つけたいのは、オブジェクト定義を指定して、テーブルと CRUD 関数を自動生成できるツール (これは素晴らしいことです)、またはそれを除けば、テーブル定義、オブジェクト定義を取得できるツールです。 CRUD機能を自動生成します。問題は、これらすべてが Android フレームワーク内で発生する必要があることです。Android フレームワークには、データベース アクセスのしくみに関する独自の規則があります。

4

15 に答える 15

112

ORMLite パッケージについて、ここに $0.02 を追加すると思いました。

Hibernate の軽量な代替品であり、ネイティブの Android OS データベース呼び出しを使用して Android で SQLite をサポートします。また、他のアーキテクチャで JDBC を使用する他の多くのデータベース タイプもサポートします。ORMLite に関する質問のAndroid メーリング リストがあります。

于 2010-06-25T18:04:05.080 に答える
67

この質問は古くなりませんが、提案されたフレームワークは古くなります。そのため、比較のために、そのようなフレームワークで重要だと思うものの最初のリストを次に示します。

  • Maven または Gradle アーティファクトはありますか? (もちろん、maven と gradle のどちらを使用するかによって、これは大きなプラスになります)
  • アクティビティを判断するためのコミットの簡単な概要を含む、簡単な方法でコードにアクセスできますか? (その点で、githubでホストされているコードは私にとって間違いなくプラスです)
  • リリース管理: リリース/リリース タグとアーティファクトはありますか? (github でホストされていて、git clone を必要とするか、ダウンロード用のマスター tarball を提供する必要があるものもあります - リリースタグさえ設定されておらず、README で対処されていない場合、私にとっては大きなマイナスです)
  • サイズが重要なので、簡単に入手できるヒントをいくつか示しました(何もダウンロードしなかったため、リリース成果物を提供しないプロジェクトにはサイズがありません)

そして、上記の点に関する注意事項を含むフレームワークのリストを次に示します。aBatisや Hadiなども調べましたが、2011 年以降に活動があったものだけを追加しました。

私はそれらを試したことはありませんが、現在アクティブなプロジェクトをリストすることで、現在の読者に少し時間を割くことができるかもしれません. 上記の点のいくつかを満たし、(しばらくの間) 深刻な開発が行われている他のプロジェクトを知っている場合は、コメントを追加してください。

編集 (2013 年 11 月): リストをプロジェクトの現在のステータスに更新しました。これらの一部は、リリース タグを github リポジトリに追加し、Maven/Gradle のサポートも追加しました。よくできました!

編集 (2015 年 4 月): リストを更新し、Sprinkles (@AndroidGecko のコメントによる) と Realm.io を追加しました。

于 2013-02-18T17:29:03.427 に答える
39

パフォーマンスとコードサイズが重要な場合は、 greenDAOをチェックしてください。私はその作成者であり、別の ORM を作成する動機は、ホットスポットでの反射を避けることでした。greenDAO は ORMLite より最大 4 倍高速であることが判明しました。詳しくは特集ページをご覧ください。

于 2011-10-24T09:11:24.353 に答える
10

私はあなたがまさに求めているものを知りませんが、アーキテクチャ要件が柔軟である場合に役立つと思われるSQLiteの代替手段があります。db4oをチェックする価値があるかもしれません:

于 2009-02-17T21:10:31.413 に答える
9

ActiveAndroid ($20)はまさにあなたが必要としているもののようです。

于 2010-05-03T21:00:00.340 に答える
7

私はActiveAndroidが好きでした。Android専用に書かれているようです。それは私にとってプラスのように感じます。

私は Ruby on Rails の経験があり、ActiveRecord の Rails のやり方が好きなら、このライブラリをすぐに使い始めることができます。

https://www.activeandroid.com/

于 2010-10-20T12:46:22.263 に答える
6

https://github.com/ahmetalpbalkan/orman

Orman フレームワークが役立つかもしれません。それは特にそのために設計されており、非常に小さくて便利です。

于 2011-07-15T21:40:36.383 に答える
6

AndroidでORMも探しています。ActiveAndroidNeoDatis、およびdb4oをテストしましたが、最後の 2 つのうちの 1 つを使用すると思います。

NeoDatis と db4o は非常に似ているため、最適なものを選択するためのアドバイスをお願いします。誰かが彼のプロジェクトでそれらのいずれかを使用していますか? 無料アプリと有料アプリで使い分けますが、どちらもAndroidのライセンス制限はないようです。

ここには、NeoDatis が db4o よりも高速であると思われるベンチマークがありますが、これに基づいて意見を述べることができるかどうかはわかりません。

于 2010-09-09T16:00:56.553 に答える
3

もう 1 つの新人: android-active-record。これは非常に軽量で、SQLite http://code.google.com/p/android-active-record/に支えられた Android 用の持続性フレームワークを使いやすいです。

于 2010-11-18T05:57:23.727 に答える
2

http://hadi.sourceforge.net

このツールは非常にシンプルで使いやすいです。

于 2011-09-08T07:43:16.877 に答える
2

Aptana のActiveRecordJSは、gPhone で実行する Javascript ORM です。Jaxer と Gears で動作するように設計されています。Jaxer アダプターを使用すると、SQLLite に接続できます。

更新: 明確にしたとは思いませんが、ActiveRecordJS はクライアント側で実行される ORM であり、gPhone で有利になる可能性があります。

于 2009-02-15T17:52:27.243 に答える
1

私のDroidParts /http://droidparts.org/はちょうど v0.5 になりました。DI/ORM ライブラリなどです。
多くのドキュメントはありませんが、サンプル アプリが含まれています。

于 2012-05-19T09:52:25.727 に答える
1

Android 用の JPA ORM の独自の実装を開発しました。まだ完全な機能ではありませんが、@Entity、@Id、@Column アノテーションを使用してクラスにアノテーションを付けることができ、SQLite データベースに格納および取得できる JPA エンティティを取得できます。一般に公開する前に、もう少し機能とクリーンアップが必要ですが、十分な関心があれば、私の努力が加速するかもしれません.

于 2010-02-10T18:07:57.613 に答える
1

Even though this is an old post, the topic is still relevant. Hence, I want to share an interesting article and nice approach to solving most of the issues mentioned in the question:

http://blog.codecentric.de/en/2011/04/android-persistence-accelerated-small-inhouse-orm/

Hope anyone finds this as useful as myself!

于 2011-11-30T21:10:16.870 に答える
0

db4o (v. 8) で否定的な経験がありました: インデックス作成が適切に機能しませんでした (例外など)。そのため、オブジェクト構造にオブジェクトがある場合に、外部テーブルに重複が作成されないようにする方法を管理できませんでした。私の質問でより詳細な説明。いつか良くなることを願っています。

于 2011-09-13T14:54:02.890 に答える