GreenDAO早期佈置記錄

在網上有不少比較ORM框架的報告,比較知名是ORMLite vs GreenDao。GreenDao官網就自稱執行速度比ORMLite快幾倍。

基於性能上的考慮,GreenDao應該是不錯,可是它早期佈置就是讓人蛋痛,官網文件也不user friendly,反正我等菜鳥要去消化是痛苦的。

所以下面就記錄一下早期佈置的步驟,如果你也是菜鳥偶遇到這章記錄,先跟著做不要問為什麼,相信小吉~

之前我就是花了太多時間去了解當中的意思反而混亂~先佈置起來,之後就會更易去了解各文件的意思。加油!互勉之~~~~么么哒~吐舌头


步驟: 看圖識字(我弄的是Eclipse, 搞AS的朋友可以到最下面的傳送門找教學步驟的連結)`


1) 下載需要的文件

因為官方很帥氣的甩下這句~我們就要自己去http://mvnrepository.com/下載吧!

If you don’t use Maven or Gradle, please download the jars directly from Maven Central using the artifacts links given above.

1. freemaker2.3.22.jar
2. greendao-generator-1.3.1
3. greendao-1.3.7.jar

2) 創建一個新的JAVA項目~請看清楚!!!是JAVA!不是Android !!!

把剛剛下載的freemaker 和 greendao-generator兩個檔案加到JAVA的library, 新建一個class來寫一個文件產生器!!


右click你的Java項目 >  選Properties > Java Build Path > Add External JARs > 找回你的freemaker 和 greendao-generator



在Java項目 新建一個Class 名字是"GreenDaoGenerator" (我這個java project 叫greendaogenerator,隨你自己喜歡改什麼名字都可以)

 開始敲碼得意 (小吉盡量嘗試用英文寫註解,要成為像龍偉神一樣的牛的人! 哈哈, 中文的放後面~如果看不明我的爛英文,才看中文吧~歡迎指導我的語文)

package greendaogenerator;

import de.greenrobot.daogenerator.DaoGenerator;
import de.greenrobot.daogenerator.Entity;
import de.greenrobot.daogenerator.Property;
import de.greenrobot.daogenerator.Schema;
import de.greenrobot.daogenerator.ToMany;

public class GreenDaoGenerator {
	public static void main(String[] args) throws Exception {
		//First param:Database vision, Second param:Android project package 參數1:數據庫版本,參數2:你需要數據庫的Android項目
		Schema schema = new Schema(1, "com.example.testspinnersqlite.greendao");
		//Create table "Label" 新建數據庫的表,叫Label
		addLabel(schema);
		//Generate DAO Class to the Android project
		new DaoGenerator().generateAll(schema, "../testspinnersqlite/src-gen");
		/*這個class是文件生成器麻,上面就是要定義地址放置生成的文件(!!!)要先在你的android項目新建一個叫"src-gen"的文件夾,不叫src-gen也可以,不過需在上面那句改回你定下的名稱...真任性什麼都要自己的一套*/
	}
<span style="white-space:pre">	</span>//做表Label的設計
	private static void addLabel(Schema schema) {
		//Create entity 定義表的名稱,
		Entity note = schema.addEntity("Label");
		//Add table columns 定義表的欄
		note.addIdProperty(); //每個表應該都有ID吧
		note.addStringProperty("label").notNull(); //我的表數據只一項數據記錄標籤label,這裡就是你自由發揮的地方了
	}
	
}

我把解釋都寫在上面了~不知道這樣表達好不好? 不好的跟我說句,下次改回script 跟解釋分開。

yeah~我們去運行這個class! 它就會啪啪啪的把東西射到你的android項目裡了~你看全寫到了~運動時間真短才148ms鄙视

再看看小吉的android項目有什麼了~ 如果你的生成物和我不一樣~是分散了一層層的檔案,不用怕~右按文件夾 找 Build Path > Use as Source Folder 它們就會在一起了~羡慕

                           


3) 把工作視線放回自己的Android項目就可以了

一開始我們是下載了3個JAR包~ 可是只用了兩個~ 所以剩下的 greendao-1.3.7.jar 就是現在出場了,先放到自己的Android 項目當中(這里是android了!不是java項目!!!!)

老步驟 選Properties > Java Build Path > Add External JARs > 找greendao-1.3.7.jar (不貼圖了,我們只是菜烏,不是幼智)

之後小吉把操作步驟簡化,情景設定成當運行mainActivity時就生成數據庫,之後就隨意操作了~

所以在onCreate裡敲一下碼:

public class MainActivity extends ActionBarActivity {
	public DaoSession daoSession; //Manages the database 管理我們的數據庫
	private LabelDao lableDao; //ORM-Object to CRUD tabel 可以在反射對象中操作我們一開始生成的表

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		// 設定數據庫,我叫它做"label-db",你改你自己的
		   DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this,"label-db", null);

		// 取一個數據庫實體來操
		   SQLiteDatabase db = helper.getWritableDatabase(); 

		// DaoMaster是GreenDao內的大哥大,數據庫的生成靠它
		   DaoMaster daoMaster = new DaoMaster(db);

		// daoSession是GreenDao內代理人,管理我們的DAO對象,擁有不同的getter
		   daoSession = daoMaster.newSession();

		// lableDao 在這裡被上帝 / 女媧 吹了一口神氣,有生命了可以去幹活了
		   lableDao = daoSession.getLabelDao();
	}
}
有些概念性的東西我不會用英文說。。。。漢化算了 尴尬

反正步驟就是上面這些,現在你用模擬器運作,再用指令查看apk的數據庫文件夾,就會看到它生成了~


菜鳥筆記麻~還是記一下步驟~這部份是小吉的快速記錄,方便自己工作,如果你看不明白是正常的,請移玉步看郭神的教程,最底下面有傳送門~

1) 按 WinKey + R 寫上 cmd  確定 (不知道什麼是WinKey? 在你鍵盤上找它)----->

2) 在cmd 中先找到電腦放安卓工具的位置: (請確定你已經打開了模擬器)

   

   用adb操作:

   

3)  一直打以下指令 (在 "#" 之後的是指令)

    //這個要 cd 回自已的android項目

   


// 最後就是看到我的數據庫已經有了 "label-db"



至於如何操作GreenDAO CRUD網上的教程很多,也挺清楚~我就不重覆了~是上面的安裝比較麻煩~希望上面的step by step是菜鳥都能看明白~
如果想理解GreenDAO的工作原理下面傳送門有連結~~加油囉~再见

(因為這章我是用小吉的菜鳥角度去理解和寫筆記,如果有錯的請指正,好讓小吉脫菜~Thank you so much~)


/************************************   深化學習傳送門  *********************************/

GreenDao官方文档翻译上:  http://blog.csdn.net/xushuaic/article/details/24438841

Android Studio佈置GreenDao 教程 :http://blog.surecase.eu/using-greendao-with-android-studio-ide/

郭神的sqlite命令: http://blog.csdn.net/guolin_blog/article/details/38461239



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值