Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 最好的5個Android ORM框架

最好的5個Android ORM框架

編輯:關於Android編程

在開發Android應用時,保存數據有這麼幾個方式,

一個是本地保存,一個是放在後台(提供API接口),還有一個是放在開放雲服務上(如 SyncAdapter 會是一個不錯的選擇)。

對於第一種方式,即本地數據存儲,如嵌入式SQLLite,你可以選擇直接使用SQL語句、Content Provider 或 ORM(對象關系數據映射)。

對於 Android 應用的開發,主要是使用Java語言,所以適用於Java語言的一些ORM,也能移植於 Android 平台上。

下面是5個可用ORM的總體介紹:

 

1. OrmLite
OrmLite 不是 Android 平台專用的ORM框架,它是Java ORM。支持JDBC連接,Spring以及Android平台。語法中廣泛使用了注解(Annotation)。

 

 

2. SugarORM
SugarORM 是 Android 平台專用ORM。提供簡單易學的APIs。可以很容易的處理1對1和1對多的關系型數據,並通過3個函數save(), delete() 和 find() (或者 findById()) 來簡化CRUD基本操作。
要啟用SugarORM,需要在你的應用程序 AndroidManifest.xml 配置中添加如下meta-data標簽:

 

 




然後就可以從SugarORM擴展需要保存的數據類:

 

 

public class User extends SugarRecord {
    String username;
    String password;
    int age;
    @Ignore
    String bio; //this will be ignored by SugarORM
 
    public 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

 

 

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

 

greenDAO

GreenDAO小於100KB,所以對於應用程序APK的大小影響很小。
這裡有一個教程,演示如何使用Android Studio,在Android應用程序中使用GreenDAO框架。

 

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

 

 


然後在你的Activity中調用 ActiveAndroid.initialize() 方法:
public class MyActivity extends Activity {
    @Override
    public 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;
    }
}

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

 

 

 

 

by iefreer

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved