推薦的Android ORM架構

來源:互聯網
上載者:User

標籤:

1. OrmLite

OrmLite 不是 Android 平台專用的ORM架構,它是Java ORM。支援JDBC串連,Spring以及Android平台。文法中廣泛使用了註解(Annotation)。

官方網站:http://ormlite.com/sqlite_java_android_orm.shtml

2. SugarORM

SugarORM 是 Android 平台專用ORM。提供簡單易學的APIs。可以很容易的處理1對1和1對多的關係型資料,並通過3個函數save(), delete() 和 find() (或者 findById()) 來簡化CRUD基本操作。

要啟用SugarORM,需要在你的應用程式 AndroidManifest.xml 配置中添加如下meta-data標籤:

<meta-data android:name="DATABASE" android:value="my_database.db" /><meta-data android:name="VERSION" android:value="1" /><meta-data android:name="QUERY_LOG" android:value="true" /><meta-data android:name="DOMAIN_PACKAGE_NAME" android:value="com.my-domain" />

然後就可以從SugarORM擴充需要儲存的資料類:

public class User extends SugarRecord<User> {String username;String password;int age;@IgnoreString bio; //this will be ignored by SugarORMpublic User() { }public User(String username, String password,int age){this.username = username;this.password = password;this.age = age;}}

要添加一個User,代碼如下:

User johndoe = new User(getContext(),"john.doe","secret",19);johndoe.save(); //stores the new user into the database

官方網站:http://satyan.github.io/sugar/getting-started.html

3. GreenDAO

當效能很重要時(資料訪問頻繁),GreenDao是一個很快的解決方案,它能夠支援數千條記錄的CRUD每秒,和OrmLite相比,GreenDAO要快幾乎4.5倍。(準確資料請自行benchmark)。

GreenDAO小於100KB,所以對於應用程式APK的大小影響很小。

這裡有一個教程,示範如何使用Android Studio,在Android應用程式中使用GreenDAO架構。

官方網站:http://greendao-orm.com/

4. Active Android

Active Record(活動目錄)是Yii、Rails等架構中對ORM實現的典型命名方式。Active Android 協助你以物件導向的方式來操作SQLite。
在你的項目中包含Active Android,你需要在項目的 /libs 目錄下添加一個jar檔案。可以從Github中擷取原始碼並使用Maven進行編輯。然後你應該添加這些meta-data到你應用程式的 AndroidManifest.xml 配置中:

<meta-data android:name="AA_DB_NAME" android:value="my_database.db" /><meta-data android:name="AA_DB_VERSION" android:value="1" />

然後在你的Activity中調用 ActiveAndroid.initialize() 方法:

public class MyActivity extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);ActiveAndroid.initialize(this);//rest of the app}}

現在,你可以使用Java註解來建立模型類:

@Table(name = "User")public class User extends Model {@Column(name = "username")public String username;@Column(name = "password")public String password;public User() {super();}public User(String username,String password) {super();this.username = username;this.password = password;}}

官方網站:http://www.activeandroid.com/

5. Realm

Realm 是一個將可以使用的Android ORM,基於C++編寫,直接運行在你的裝置硬體上(不需要被解釋),因此運行很快。它同時是開源跨平台的,iOS的代碼可以在GitHub找到,你還可以找到Objective-C以及Swift編寫的Realm使用執行個體。

官方網站:http://realm.io/

推薦的Android ORM架構

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.