最受歡迎的5個Android ORM框架
在開發Android應用時,儲存資料有這麼幾個方式,
一個是本地儲存,一個是放在後臺(提供API介面),還有一個是放在開放雲服務上(如 SyncAdapter 會是一個不錯的選擇)。
對於第一種方式,即本地資料儲存,如嵌入式SQLite,你可以選擇直接使用SQL語句、Content Provider 或 ORM(物件關係資料對映)。
對於 Android 應用的開發,主要是使用Java語言,所以適用於Java語言的一些ORM,也能移植於 Android 平臺上。
下面是5個可用ORM的總體介紹:
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; @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
官方網站: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 { @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; } }
官方網站:http://www.activeandroid.com/
5. Realm
Realm 是一個將可以使用的Android ORM,基於C++編寫,直接執行在你的裝置硬體上(不需要被解釋),因此執行很快。它同時是開源跨平臺的,iOS的程式碼可以在GitHub找到,你還可以找到Objective-C以及Swift編寫的Realm使用例項。
官方網站:http://realm.io/
相關文章
- 15個最受歡迎的Python開源框架Python框架
- 14個最受歡迎的Python開源框架Python框架
- 【轉】15個最受歡迎的Python開源框架Python框架
- 轉載:15個最受歡迎的Python開源框架Python框架
- 2017年最受歡迎的UI框架UI框架
- 最受歡迎的 5 款 Node.js 端到端測試框架Node.js框架
- 目前最受歡迎的12個Python web框架,你用過幾個?PythonWeb框架
- 20個最受歡迎的Linux命令(轉)Linux
- François Chollet:ArXiv中最受歡迎的開源框架框架
- GitHub 十個最受歡迎的 React 相關庫GithubReact
- 從GitHub中整理出來的15個最受歡迎的Python開源框架,你喜歡哪個GithubPython框架
- Vue最受歡迎的七大跨端框架,你都用過哪幾個?Vue跨端框架
- 最受歡迎PHP框架Laravel 5.5 新特性 提前體驗PHP框架Laravel
- MRI:圖解25國最受歡迎的5款應用圖解
- 5個最受Linux程式設計師歡迎的程式碼編輯器Linux程式設計師
- 最受DevOps歡迎的五種工具dev
- 全球最受歡迎的8位Java大牛Java
- Docker Hub 最受歡迎的10大映象Docker
- Github上最受歡迎的Python輕量級框架Flask入門GithubPython框架Flask
- 推薦10個最受歡迎的 Vue.js UI 庫Vue.jsUI
- GitHub上最受開發人員歡迎的5大Java專案!GithubJava
- 2019年10個最受歡迎的JavaScript動畫庫!JavaScript動畫
- 2016年度最受歡迎的100個 Java 庫Java
- 年度最受歡迎的開源CHROME外掛Chrome
- 最知名的遊戲公司就最受歡迎嗎?遊戲
- 最受歡迎的App開發工具推薦APP
- 16個值得推薦的.NET ORM框架(含使用情況統計的投票,歡迎參與)ORM框架
- 連續 3 年最受歡迎:Rust,香!Rust
- 十佳最受歡迎的程式語言 你擅長几個?
- 24個最受歡迎的jQuery畫廊和幻燈片外掛jQuery
- 理解Java機制最受歡迎的8幅圖Java
- 最受IT公司歡迎的50款開源軟體
- Nielsen:調查顯示谷歌地圖為最受歡迎Android程式谷歌地圖Android
- 8款最受歡迎的HTML5/CSS3應用及程式碼HTMLCSSS3
- 全球十大最受歡迎的度假目的地你去了幾個?
- 南美8月遊戲爆發 哪些最受歡迎?遊戲
- android 歡迎介面Android
- 五款最受歡迎的編輯軟體推薦