1. 程式人生 > >最好的5個Android ORM框架

最好的5個Android ORM框架

在開發Android應用時,儲存資料有這麼幾個方式,

一個是本地儲存,一個是放在後臺(提供API介面),還有一個是放在開放雲服務上(如 SyncAdapter 會是一個不錯的選擇)。

對於第一種方式,即本地資料儲存,如嵌入式SQLLite,你可以選擇直接使用SQL語句、Content Provider 或 ORM(物件關係資料對映)。

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

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

OrmLite 不是 Android 平臺專用的ORM框架,它是Java ORM。支援JDBC連線,Spring以及Android平臺。語法中廣泛使用了註解(Annotation)。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;
    @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
當效能很重要時(資料訪問頻繁),GreenDao是一個很快的解決方案,它能夠支援數千條記錄的CRUD每秒,和OrmLite相比,GreenDAO要快幾乎4.5倍。(準確資料請自行benchmark)。GreenDAO小於100KB,所以對於應用程式APK的大小影響很小。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 {
    @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使用例項。

相關推薦

最好5Android ORM框架

在開發Android應用時,儲存資料有這麼幾個方式,一個是本地儲存,一個是放在後臺(提供API介面),還有一個是放在開放雲服務上(如 SyncAdapter 會是一個不錯的選擇)。對於第一種方式,即本地資料儲存,如嵌入式SQLLite,你可以選擇直接使用SQL語句、Conte

Android ORM框架GreenDao入門學習

最近想了解一下關於Android ORM的東西,在網上一搜,框架還真不少,很多人都說GreenDao效能不錯,這週末就好好搞了下。 現在Goodle推出了Android studio這款開發利器,是用Gradle構建,感覺還不錯。以下專案都是用Android studio 0.8.14開發。

Android ORM 框架之 greenDAO 使用心得

前言 我相信,在平時的開發過程中,大家一定會或多或少地接觸到 SQLite。然而在使用它時,我們往往需要做許多額外的工作,像編寫 SQL 語句與解析查詢結果等。所以,適用於 Android 的ORM 框架也就孕育而生了,現在市面上主流的框架有 OrmLite、SugarOR

Android ORM 框架Android中ORMLite應用基礎

ORMLite是常用的一個ORM框架,她不止可以用在Android的sqlite資料庫,也可以使用她操作其他常見的資料庫。這兒是根據官方文件抽取來的android用法。 一,新增依賴 匯入ormlite-core.jar和ormlite-android.

Android ORM 框架:GreenDao 使用詳解(進階篇)

前言 一、複雜表結構 a, 使用 @ToOne 建立一對一 ( 1 : 1) 關係 @Entity public class Order { @Id private Long id; private lo

Android ORM 框架:GreenDao 使用詳解

    一、GreenDao 簡介greenDAO 是一款開源的面向 Android 的輕便、快捷的 ORM 框架,將 Java 物件對映到 SQLite   資料庫中,我們操作資料庫的時候,不在需要編寫複雜的 SQL語句, 在效能方面,greenDAO 針對 Android

Orm框架介紹和常見的Android Orm框架

ORM(Object Relational Mapping)框架採用元資料來描述物件一關係對映細節,元資料一般採用XML格式,並且存放在專門的物件一對映檔案中。 先介紹一下ORM的概念,以前也一直聽說,不過沒詳細瞭解啥意思。其全稱叫做物件關係對映(Object Relati

Android ORM 框架:GreenDao 資料庫升級

前言 一,GreenDao 預設的升級方式 GreenDao 預設的升級方式是刪除所有舊版,在重新建新表,這樣一來使用者的本地歷史資料則會丟失,這點我們通過DaoMaster 的內部類 DevOpenHelper 原始碼可以瞭解到。

Android ORM框架 greenDAO 使用方法

最近在專案中要用到語音通話功能,後來測試發現通話過程中有聽不到對方聲音的情況,經過檢測 其中有部分原因是因為有些手機在app安裝後會被手機直接禁止錄音許可權,發現問題後去解決的過程發現,系統自己提供的檢查app所獲的許可權方法 boolean flag =

Android Orm框架(GreenDao)

GreenDao與Ormlite對比 Ormlite:簡單好用,比較符合JavaEE開發者使用習慣,註解很方便; GreenDao:為Android大大優化 ,最小的記憶體使用 ,非常高的效能優勢。 

2018年最好用的5python網站開發框架

python作為解釋型指令碼語言,是一種通用的程式語言。由於python社群擁有大量的庫檔案、框

修復android 5.0 Xutils的框架問題retry error, curr request is null

top ims 訂閱 height trac ber request ext key Android 5.0手機對xUtils-2.6.13.jar請求時會出現retry error, curr request is null 情況, 修復解決方式:

10最好的 Node.js MVC 框架

.org 使用外部 itl asc ner png 友好 right 另一個 Node.js 是最流行的 JavaScript 服務端平臺,它允許建立可擴展的 Web 應用程序。Node.js 包含不同類型的框架,如 MVC 框架、全棧框架、REST API 以及大量的服

5強大的Java分布式緩存框架推薦

java對象 如果 內存 數組 處理 strong android OS PE 5個強大的Java分布式緩存框架推薦 在開發中大型Java軟件項目時,很多Java架構師都會遇到數據庫讀寫瓶頸,如果你在系統架構時並沒有將緩存策略考慮進去,或者並沒有選擇更優的緩存策略,那

手把手帶你擼一套Android簡易ORM框架

ORM概念 實體模型建立 註解列 ID 主鍵 自增長 資料表的列

5最好的自助式BI工具進行了比較

        商業智慧(BI)和分析平臺是大中型企業資訊學的主要內容。自2004年左右以來,基於視覺的資料發現一直是BI的關鍵組成部分; 在資料科學家和資料庫管理員的支援下,這種趨勢已經將業務分析師和管理人員的分析責任從IT轉移到

Sequelize 5 beta 15 釋出,基於 Node 的非同步 ORM 框架

   Sequelize 5.0.0 beta 15 釋出了,Sequelize 是一款基於 Nodejs 的非同步 ORM 框架,它同時支援 PostgreSQL、MySQL、SQLite 和 MSSQL 多種資料庫,很適合作為 Nodejs 後

2018 年 8 月以來 5 最好的機器學習 GitHub 庫和 Reddit 執行緒.md

2018 年 8 月以來 5 個最好的機器學習 GitHub 專案和 Reddit 熱帖 PRANAV DAR, SEPTEMBER 2, 2018 前言 當我去年年初開始使用 GitHub 時,我從來沒有想過它對我來說有多麼有用。最初我只是用它來上傳我自己

寫了Android聊天客戶端框架,基本聊天功能、資料庫、伺服器都有。大家可以看一看。已經開源

寫了個Android聊天客戶端框架,基本聊天功能、資料庫、伺服器都有。大家可以看一看。已經開源(希望兩個手機通訊的話,改一下pushid就可以) 幾點說明: 1:包含的基本功能。: 1.1比如gif動態表情展示、語音、聊天表情、拍照、多圖的傳送、大圖片的處理、listview快取的處理等。 &n

5構建移動應用程式的優秀框架

使用原生代碼是一種流行的做法。但它不總是在商業意義上最好的選擇。為多個平臺建立相同的應用程式可以是一個巨大的時間。 HTML5移動UI框架允許構建跨平臺混合移動應用程式。他們還保持本地的感覺和外觀。 使用預先知識(HTM5,CSS,JavaScript),開發人員以最小的能