av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

LitePal:簡(jiǎn)單易用的數(shù)據(jù)庫(kù)創(chuàng)建工具(litepal創(chuàng)建數(shù)據(jù)庫(kù))

LitePal是一款用于Android平臺(tái)的數(shù)據(jù)庫(kù)創(chuàng)建工具,它提供了簡(jiǎn)單易用的API,使得開(kāi)發(fā)者可以更快、更簡(jiǎn)便地創(chuàng)建和管理數(shù)據(jù)庫(kù)。LitePal的特點(diǎn)在于其簡(jiǎn)化了SQL語(yǔ)句的編寫(xiě)過(guò)程,同時(shí)也提供了一個(gè)輕量級(jí)的ORM框架,以便于管理數(shù)據(jù)庫(kù)中的數(shù)據(jù)對(duì)象。

創(chuàng)新互聯(lián)公司長(zhǎng)期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為集寧企業(yè)提供專業(yè)的網(wǎng)站制作、成都網(wǎng)站制作集寧網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

SQLite作為Android系統(tǒng)自帶的數(shù)據(jù)庫(kù),其使用簡(jiǎn)單、輕量、運(yùn)行速度快等優(yōu)點(diǎn)被廣泛地應(yīng)用于開(kāi)發(fā)過(guò)程中。而LitePal的目的就是簡(jiǎn)化SQLite的使用,在這一點(diǎn)上,LitePal的表現(xiàn)無(wú)疑是十分優(yōu)秀的。具有以下幾個(gè)特點(diǎn):

1.簡(jiǎn)單易用

LitePal提供了非常簡(jiǎn)單易用的API,使得開(kāi)發(fā)者可以通過(guò)少量的代碼快速創(chuàng)建和管理數(shù)據(jù)庫(kù)。然而,LitePal并不會(huì)破壞SQLite原生API的邏輯,它只是簡(jiǎn)化了這些API的使用方式,使得這些API更加易于理解和應(yīng)用。

比如,開(kāi)發(fā)者只需要使用以下類似的代碼就可以創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)。

“`

LitePal.initialize(context);

“`

或者創(chuàng)建一個(gè)數(shù)據(jù)表,只需要在實(shí)體類中添加注解,如下所示:

“`

public class Book extends LitePalSupport {

@Column(unique = true)

private String title;

@Column

private String author;

@Column

private double price;

// getters and setters

}

“`

如上所示,只需在實(shí)體類中添加注解即可將實(shí)體類映射到數(shù)據(jù)庫(kù)表中。從而簡(jiǎn)單易用的API使得開(kāi)發(fā)者的工作變得更加方便。

2.簡(jiǎn)化SQL語(yǔ)句

使用原生SQLite API開(kāi)發(fā),需要手動(dòng)編寫(xiě)復(fù)雜的SQL語(yǔ)句,而這些語(yǔ)句對(duì)于開(kāi)發(fā)者而言是相當(dāng)繁瑣和易錯(cuò)的。使用LitePal后,開(kāi)發(fā)者就可以完全避免使用SQL語(yǔ)句,而是采用更為直觀的對(duì)象調(diào)用方式,比如:

“`

// 插入一條數(shù)據(jù)

Book book = new Book();

book.setTitle(“Android Programming”);

book.setAuthor(“Bill Gates”);

book.setPrice(79.9);

book.save();

“`

實(shí)際上,LitePal會(huì)自動(dòng)轉(zhuǎn)換成SQL語(yǔ)句執(zhí)行相應(yīng)的數(shù)據(jù)操作,這就讓開(kāi)發(fā)者的工作變得輕松了很多。

3.提供ORM框架

LitePal提供了輕量級(jí)的ORM框架,使得開(kāi)發(fā)者可以更好地管理數(shù)據(jù)庫(kù)中數(shù)據(jù)對(duì)象。ORM框架可以將數(shù)據(jù)對(duì)象轉(zhuǎn)換為Java對(duì)象,從而使得開(kāi)發(fā)者可以更方便地操作這些數(shù)據(jù)對(duì)象,并且框架還提供了多種操作方法,比如查詢、刪除等等,從而讓開(kāi)發(fā)者的工作變得更加高效和方便。

例如,開(kāi)發(fā)者可以使用以下代碼查詢數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)對(duì)象:

“`

List books = LitePal.findAll(Book.class);

“`

如上所示,LitePal提供了一個(gè)簡(jiǎn)單的方法,只需通過(guò)傳入相應(yīng)的數(shù)據(jù)對(duì)象類型即可查詢數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)對(duì)象。這樣的操作體驗(yàn)讓開(kāi)發(fā)者的工作變得更加簡(jiǎn)單。

成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來(lái)專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220

android開(kāi)發(fā)一般都使用什么框架

開(kāi)源框架推薦:

網(wǎng)絡(luò)

* (square/okhttp · GitHub)

* (loopj/android-async-http · GitHub)

事件總線

* (square/otto · GitHub)

* (greenrobot/EventBus · GitHub)

依賴注入

* (square/dagger · GitHub)

* (roboguice/roboguice · GitHub)

* (JakeWharton/butterknife · GitHub)

圖片

* (facebook/fresco · GitHub)

* (bumptech/glide · GitHub)

* (square/picasso · GitHub)

數(shù)據(jù)庫(kù)

* (greenrobot/greenDAO · GitHub)

* (j256/ormlite-android · GitHub)

* (LitePalFramework/陸擾毀LitePal · GitHub)

響應(yīng)式編程

* (ReactiveX/RxJava · GitHub)

* (ReactiveX/RxAndroid: RxJava bindings for An…)

日志輸出

* (orhanobut/logger: Simple, pretty and powerf…)

* (liaohuqiu/android-CLog)

* (ZhaoKaiQiang/KLog · GitHub)

* (pengwei1024/LogUtils · GitHub)

崩潰統(tǒng)計(jì)李睜平臺(tái)

* (騰訊Bugly – Android Crash(崩潰)_iOS Crash(崩潰)_ANR_卡頓)

* (Critterci – Developer Home)

* (The most powerful, yet lightest weight crash reporting solution for iOS and Android

developers.)

架構(gòu)設(shè)計(jì)

這個(gè)肯定得了解下MVC,MVP,MVVM還有設(shè)計(jì)模式這些,這里有幾個(gè)開(kāi)源項(xiàng)目推薦下

philm

Movie collection and information app for Android.

Github Movie collection and info…

SimpleNews

基于Material Design和MVP的新聞客戶端

Github地址:GitHub – liuling07/SimpleNews: 基于Material Design和MVP的新聞客戶端

GankDaily

A application show technical information every working days, use MVP pattern.

Github

SimplifyReader

Github地址:GitHub – SkillCollege/SimplifyReader: 一款基于Google Material Design設(shè)計(jì)開(kāi)發(fā)的Android客戶端,包括新聞簡(jiǎn)讀,圖片瀏覽,視頻爽看 ,音樂(lè)輕聽(tīng)以及二維碼掃描五個(gè)子模塊。

NBAPlus

Github · GitHub

PhotoNoter

Github

Meizhi

Github地址早備:drakeet/Meizhi: gank.io unofficial client, RxJava & Retrofit

DebugDrawer

Android Debug Drawer for faster development

Github · GitHub

ViewServer

Local server for Android’s HierarchyViewer

Github · GitHub

AndroidWiFiADB

IntelliJ/AndroidStudio plugin which provides a button to connect your Android device over WiFi to install, run and debug your applications without a USB connected.

Android開(kāi)發(fā)框架介紹

編輯文檔

學(xué)分 +2

開(kāi)發(fā)框架方面包含基本的應(yīng)用功能開(kāi)發(fā)、數(shù)據(jù)存儲(chǔ)、網(wǎng)絡(luò)訪問(wèn)這三大塊:

一、應(yīng)用方面

一般而言一個(gè)標(biāo)準(zhǔn)的Android程序由如下4部分組成即Activity、Broadcast Intent Receiver、Service、Content Provider: 1. Activity是最頻繁、最基本的模塊,在Android中,一個(gè)Activity就是手機(jī)上一屏,相當(dāng)于一個(gè)網(wǎng)頁(yè)一樣,所不同的是,每個(gè)Activity運(yùn)行結(jié)束了,有個(gè)返回值,類似一個(gè)函數(shù)一樣。Android系統(tǒng)會(huì)自動(dòng)記錄從首頁(yè)到其他頁(yè)面的所有跳轉(zhuǎn)記錄并且自動(dòng)將以前的Activity壓入系統(tǒng)堆棧,用戶可以通過(guò)編程的方式刪除歷史堆棧中的Activity Instance。

Activity類中主要是跟界面資源文件關(guān)聯(lián)起來(lái)(res/layout目錄下的xml資源,也可以不含任何界面資源),內(nèi)部包含控件的顯示設(shè)計(jì)、界面交互設(shè)計(jì)、事件的響應(yīng)設(shè)計(jì)以及數(shù)據(jù)處理設(shè)計(jì)、導(dǎo)航設(shè)計(jì)等application設(shè)計(jì)的方方面面。 2. Broadcast Intent Receiver

Intent提供了各種不同Activity進(jìn)行跳轉(zhuǎn)的機(jī)制,譬如如果從A activity跳轉(zhuǎn)到B activity,使用Intent來(lái)實(shí)現(xiàn)如下: Intent in = new Intent(A.this, B.class); startActivity(in);

BroadcastReceiver提供了各種不同的Android應(yīng)用程序進(jìn)行進(jìn)行進(jìn)程間通訊的機(jī)制,譬如當(dāng)呼叫來(lái)臨時(shí),可以通過(guò)BroadcastReceiver發(fā)布廣播消息。對(duì)于用戶而言,BroadcastReceiver是不透明的,用戶無(wú)法看到這個(gè)事件,BroadcastReceiver通過(guò)NotificationManager來(lái)通知用戶這些事件發(fā)生了,它既可以在資源AndroidManifest.xml中注冊(cè),也可以在代碼中通過(guò)Context.registerReceiver()進(jìn)行注冊(cè),只要是注冊(cè)了,當(dāng)事件來(lái)臨的時(shí)候,即時(shí)程序沒(méi)有啟動(dòng),系統(tǒng)也在需要的時(shí)候會(huì)自動(dòng)啟動(dòng)此應(yīng)用程序;另外各應(yīng)用程序很方便地通過(guò)Context.sendBroadcast()將自己的事情廣播給其他應(yīng)用程序;

3. Service,跟Windows當(dāng)中的Service完全是一個(gè)概念,用戶可以通過(guò)startService(Intent service)啟動(dòng)一個(gè)Service,也可通過(guò)Context.bindService來(lái)綁定一個(gè)Service.

4. Content Provider,由于Android應(yīng)用程序內(nèi)部的數(shù)據(jù)都是私有的,Content Provider提供了應(yīng)用程序之間數(shù)據(jù)交換的機(jī)制,一個(gè)程序可以通過(guò)實(shí)現(xiàn)一個(gè)ContentProvider的抽象接口將自己埋顫肆的數(shù)據(jù)暴露出去,并且隱蔽了具體的數(shù)據(jù)存儲(chǔ)實(shí)現(xiàn),標(biāo)準(zhǔn)的ContentProvider提供了基本的CRUD(Create,Read,Update,Delete)的接口,并且實(shí)現(xiàn)了權(quán)限機(jī)制,保護(hù)了數(shù)據(jù)交互的安全性; 一個(gè)標(biāo)準(zhǔn)的Android應(yīng)用程序的工程文件包含如下幾大部分: -> Java源代碼部分(包含Activity),都在src目錄當(dāng)中;洞散

-> R.java文件,這個(gè)文件是Eclipse自動(dòng)生成與維護(hù)的,開(kāi)發(fā)者不需要修改,提供了Android對(duì)的資源全局索引; -> Android Library,這個(gè)是應(yīng)用運(yùn)行的Android庫(kù);

-> assets目錄,這個(gè)目錄里面主要用與放置多媒體等一些文件;

-> res目錄,放置的彎轎是資源文件,跟VC中的資源目錄基本類似,其中的drawable包含的是圖片文件,layout里面包含的是布局文件,values目錄里面主要包含的是字符串(strings.xml)、顏色(colors.xml)以及數(shù)組(arrays.xml)資源;

-> AndroidManifest.xml,這個(gè)文件異常重要,是整個(gè)應(yīng)用的配置文件,在這個(gè)文件中,需要聲明所有用到的Activity、Service、Receiver等。

開(kāi)源框架推薦:

網(wǎng)絡(luò)

* (square/okhttp · GitHub)

* (loopj/android-async-http · GitHub)

事件總線

* (square/otto · GitHub)

* (greenrobot/EventBus · GitHub)

依賴注入

* (square/dagger · GitHub)

* (roboguice/roboguice · GitHub)

* (JakeWharton/butterknife · GitHub)

圖片

* (facebook/fresco · GitHub)

* (bumptech/glide · GitHub)

* (square/picasso · GitHub)

數(shù)據(jù)庫(kù)

* (greenrobot/greenDAO · GitHub)

* (j256/ormlite-android · GitHub)

* (LitePalFramework/陸擾毀LitePal · GitHub)

響應(yīng)式編程

* (ReactiveX/RxJava · GitHub)

* (ReactiveX/RxAndroid: RxJava bindings for An…)

日志輸出

* (orhanobut/logger: Simple, pretty and powerf…)

* (liaohuqiu/android-CLog)

* (ZhaoKaiQiang/KLog · GitHub)

* (pengwei1024/LogUtils · GitHub)

崩潰統(tǒng)計(jì)早備平臺(tái)

* (騰訊Bugly – Android Crash(崩潰)_iOS Crash(崩潰)_ANR_卡頓)

* (Critterci – Developer Home)

* (The most powerful, yet lightest weight crash reporting solution for iOS and Android

developers.)

架構(gòu)設(shè)計(jì)

這個(gè)肯定得了解下MVC,MVP,MVVM還有設(shè)計(jì)模式這些,這里有幾個(gè)開(kāi)源項(xiàng)目推薦下

philm

Movie collection and information app for Android.

Github Movie collection and info…

SimpleNews

基于Material Design和MVP的新聞客戶端

Github地址:GitHub – liuling07/SimpleNews: 基于Material Design和MVP的新聞客戶端

GankDaily

A application show technical information every working days, use MVP pattern.

Github

SimplifyReader

Github地址:GitHub – SkillCollege/SimplifyReader: 一款基于Google Material Design設(shè)計(jì)開(kāi)發(fā)的Android客戶端,包括新聞簡(jiǎn)讀,圖片瀏覽,視李睜頻爽看 ,音樂(lè)輕聽(tīng)以及二維碼掃描五個(gè)子模塊。

NBAPlus

Github · GitHub

PhotoNoter

Github

Meizhi

Github gank.io unofficial client, RxJava & Retrofit

DebugDrawer

Android Debug Drawer for faster development

Github · GitHub

ViewServer

Local server for Android’s HierarchyViewer

Github · GitHub

AndroidWiFiADB

IntelliJ/AndroidStudio plugin which provides a button to connect your Android device over WiFi to install, run and debug your applications without a USB connected.

目前框架使用的主要都是開(kāi)源框羨尺沖笑架,都可以在github上找到:

1、volley

2、android-async-http

3、Afinal框架

4、xUtils框架

5、ThinkAndroid

6、LoonAndroid

主要有以下模塊:

(1) 自動(dòng)注入框架(只需要繼承框架內(nèi)的application既可)

(2)

圖片加載框架(多重緩存,自動(dòng)回收,更大限度保證內(nèi)存的安全性)

(3) 網(wǎng)絡(luò)請(qǐng)求模塊(繼承了基本上現(xiàn)在所有的http請(qǐng)求)

(4)

eventbus(集兄判高成一個(gè)開(kāi)源的框架)

(5) 驗(yàn)證框架(集成開(kāi)源框架)

(6) json解析(支持解析成或者對(duì)象)

(7) 數(shù)據(jù)庫(kù)(不知道是哪位寫(xiě)的 忘記了)

(8) 多線程斷點(diǎn)下載(自動(dòng)判斷是否支持多線程,判斷是否是重定向)

(9)

自動(dòng)更新模塊

(10) 一系列工具類

有什么好的支持多種數(shù)據(jù)庫(kù)的ORM框架

1、傳統(tǒng)的建表方式

其實(shí)為了方便我們對(duì)數(shù)據(jù)庫(kù)表進(jìn)行管理,Android本身就提供了一個(gè)幫助類:SQLiteOpenHelper。這個(gè)類集創(chuàng)建和升級(jí)數(shù)據(jù)庫(kù)于一身,并且自動(dòng)管理了數(shù)據(jù)庫(kù)版本,算是一個(gè)非常好用的工具。

那我們現(xiàn)在就來(lái)試試SQLiteOpenHelper的用法吧。首先你要知道SQLiteOpenHelper是一個(gè)抽象類,這意味著如果我們想要使用它的話,就需要?jiǎng)?chuàng)建一個(gè)自己的幫助類去繼承它。SQLiteOpenHelper中有兩個(gè)抽象方法,分別是onCreate()和onUpgrade(),我們必須在自己的幫助類里面重寫(xiě)這兩個(gè)方法,然后分別在這兩個(gè)方法中去實(shí)現(xiàn)創(chuàng)建、升級(jí)數(shù)據(jù)庫(kù)的邏輯。本篇文章只需要把注意力放空纖在創(chuàng)建數(shù)據(jù)庫(kù)這里就行了,升級(jí)數(shù)據(jù)庫(kù)我們會(huì)在下一篇文章中去討論。

新建一個(gè)MySQLiteHelper類并讓它繼承SQLiteOpenHelper,這樣一個(gè)最基本的數(shù)據(jù)庫(kù)幫助類的代碼如下所示:

view plain copy

public class MySQLiteHelper extends SQLiteOpenHelper {

public MySQLiteHelper(Context context, String name, CursorFactory factory,

int version) {

super(context, name, factory, version);

}

@Override

public void onCreate(SQLiteDatabase db) {

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}

}

其中簡(jiǎn)晌,當(dāng)數(shù)據(jù)庫(kù)創(chuàng)建的時(shí)候會(huì)調(diào)用onCreate()方法,在這里去執(zhí)行建表操作就可以了。比如說(shuō)我們想新建一張news表,其中有title,content,publishdate,commentcount這幾列,分別代表著新聞標(biāo)題、新聞內(nèi)容、發(fā)布時(shí)間和評(píng)論數(shù),那么代碼就可以這樣寫(xiě):

view plain copy

public class MySQLiteHelper extends SQLiteOpenHelper {

public static final String CREATE_NEWS = “create table news (”

+ “id integer primary key autoincrement, ”

+ “title text, ”

+ “content text, ”

+ “publishdate integer,”

+ “commentcount integer)”;

public MySQLiteHelper(Context context, String name, CursorFactory factory,

int version) {

super(context, name, factory, version);

}

@Override

public void onCreate(SQLiteDatabase db) {

db.execSQL(CREATE_NEWS);

}

}

可以看到,我們把建表語(yǔ)句定義成了一個(gè)常量,然后在onCreate()方法中去執(zhí)行了這條建表語(yǔ)句,news表也就創(chuàng)建成功了。這條建表語(yǔ)句雖然簡(jiǎn)單,斗咐仿但是里面還是包含了一些小的細(xì)節(jié),我來(lái)解釋一下。首先,根據(jù)數(shù)據(jù)庫(kù)的范式要求,任何一張表都應(yīng)該是有主鍵的,所以這里我們添加了一個(gè)自增長(zhǎng)的id列,并把它設(shè)為主鍵。然后title列和content列都是字符串類型的,commentcount列是整型的,這都很好理解,但是publishdate列該怎么設(shè)計(jì)呢?由于SQLite中并不支持存儲(chǔ)日期這種數(shù)據(jù)類型,因此我們需要將日期先轉(zhuǎn)換成UTC時(shí)間(自1970年1月1號(hào)零點(diǎn))的毫秒數(shù),然后再存儲(chǔ)到數(shù)據(jù)庫(kù)中,因此publishdate列也應(yīng)該是整型的。

現(xiàn)在,我們只需要獲取到SQLiteDatabase的實(shí)例,數(shù)據(jù)庫(kù)表就會(huì)自動(dòng)創(chuàng)建了,如下所示:

view plain copy

SQLiteOpenHelper dbHelper = new MySQLiteHelper(this, “demo.db”, null, 1);

SQLiteDatabase db = dbHelper.getWritableDatabase();

LitePal的基本用法

雖說(shuō)LitePal宣稱是近乎零配置,但也只是“近乎”而已,它還是需要進(jìn)行一些簡(jiǎn)單配置才可以使用的,那么我們之一步就先快速學(xué)習(xí)一下LitePal的配置方法。

快速配置

1. 引入Jar包或源碼

首先我們需要將LitePal的jar包引入到項(xiàng)目當(dāng)中,可以點(diǎn)擊這里查看LitePal的最新版本,選擇你需要的下載即可。下載好了jar包之后,把它復(fù)制到項(xiàng)目的libs目錄中就算是引入成功了,如下圖所示:

如果你不想用jar包的話,也可以把LitePal的源碼下載下來(lái),然后作為一個(gè)library庫(kù)導(dǎo)入到Eclipse當(dāng)中,再讓我們的項(xiàng)目去引用這個(gè)library庫(kù)就可以了。

2. 配置litepal.xml

接著在項(xiàng)目的assets目錄下面新建一個(gè)litepal.xml文件,并將以下代碼拷貝進(jìn)去:

view plain copy

配置文件相當(dāng)簡(jiǎn)單,用于設(shè)定數(shù)據(jù)庫(kù)的名字,用于設(shè)定數(shù)據(jù)庫(kù)的版本號(hào),用于設(shè)定所有的映射模型,我們稍后就會(huì)用到。

3. 配置LitePalApplication

由于操作數(shù)據(jù)庫(kù)時(shí)需要用到Context,而我們顯然不希望在每個(gè)接口中都去傳一遍這個(gè)參數(shù),那樣操作數(shù)據(jù)庫(kù)就顯得太繁瑣了。因此,LitePal使用了一個(gè)方法來(lái)簡(jiǎn)化掉Context這個(gè)參數(shù),只需要在AndroidManifest.xml中配置一下LitePalApplication,所有的數(shù)據(jù)庫(kù)操作就都不用再傳Context了,如下所示:

view plain copy

當(dāng)然,有些程序可能會(huì)有自己的Application,并在這里配置過(guò)了。比如說(shuō)有一個(gè)MyApplication,如下所示:

view plain copy

沒(méi)有關(guān)系,這時(shí)只需要修改一下MyApplication的繼承結(jié)構(gòu),讓它不要直接繼承Application類,而是繼承LitePalApplication類,就可以使用一切都能正常工作了,代碼如下所示:

view plain copy

public class MyApplication extends LitePalApplication {

}

但是,有些程序可能會(huì)遇到一些更加極端的情況,比如說(shuō)MyApplication需要繼承另外一個(gè)AnotherApplication,并且這個(gè)AnotherApplication還是在jar包當(dāng)中的,不能修改它的代碼。這種情況應(yīng)該算是比較少見(jiàn)了,但是如果你遇到了的話也不用急,仍然是有解釋方案的。你可以把LitePal的源碼下載下來(lái),然后把src目錄下的所有代碼直接拷貝到你項(xiàng)目的src目錄下面,接著打開(kāi)LitePalApplication類,將它的繼承結(jié)構(gòu)改成繼承自AnotherApplication,再讓MyApplication繼承自LitePalApplication,這樣所有的Application就都可以在一起正常工作了。

僅僅三步,我們就將所有的配置工作全部完成了,并且這是一件一本萬(wàn)利的事情,自此以后,你就可以開(kāi)心地體驗(yàn)LitePal提供的各種便利了,就讓我們從建表開(kāi)始吧。

開(kāi)始建表

前面在介紹的時(shí)候已經(jīng)說(shuō)了,LitePal采取的是對(duì)象關(guān)系映射(ORM)的模式,那么什么是對(duì)象關(guān)系映射呢?簡(jiǎn)單點(diǎn)說(shuō),我們使用的編程語(yǔ)言是面向?qū)ο笳Z(yǔ)言,而我們使用的數(shù)據(jù)庫(kù)則是關(guān)系型數(shù)據(jù)庫(kù),那么將面向?qū)ο蟮恼Z(yǔ)言和面向關(guān)系的數(shù)據(jù)庫(kù)之間建立一種映射關(guān)系,這就是對(duì)象關(guān)系映射了。

但是我們?yōu)槭裁匆褂脤?duì)象關(guān)系映射模式呢?這主要是因?yàn)榇蠖鄶?shù)的程序員都很擅長(zhǎng)面向?qū)ο缶幊?,但其中只有少部分的人才比較精通關(guān)系型數(shù)據(jù)庫(kù)。而且數(shù)據(jù)庫(kù)的SQL語(yǔ)言晦澀難懂,就算你很精通它,恐怕也不喜歡經(jīng)常在代碼中去寫(xiě)它吧?而對(duì)象關(guān)系映射模式則很好地解決了這個(gè)問(wèn)題,它允許我們使用面向?qū)ο蟮姆绞絹?lái)操作數(shù)據(jù)庫(kù),從而可以從晦澀難懂的SQL語(yǔ)言中解脫出來(lái)。

那么接下來(lái)我們就看一看LitePal中是如何建表的吧。根據(jù)對(duì)象關(guān)系映射模式的理念,每一張表都應(yīng)該對(duì)應(yīng)一個(gè)模型(Model),也就是說(shuō),如果我們想要建一張news表,就應(yīng)該有一個(gè)對(duì)應(yīng)的News模型類。新建一個(gè)News類,如下所示:

view plain copy

package com.example.databasetest.model;

public class News {

}

然后,表中的每一列其實(shí)就是對(duì)應(yīng)了模型類中的一個(gè)字段,比如news表中有id、title、content、publishdate、commentcount這幾個(gè)列,那么在News類中就也應(yīng)該有這幾個(gè)字段,代碼如下所示:

view plaincopy

view plain copy

public class News {

private int id;

private String title;

private String content;

private Date publishDate;

private int commentCount;

// 自動(dòng)生成get、set方法

}

其中id這個(gè)字段可寫(xiě)可不寫(xiě),因?yàn)榧词共粚?xiě)這個(gè)字段,LitePal也會(huì)在表中自動(dòng)生成一個(gè)id列,畢竟每張表都一定要有主鍵的嘛。

這里我要特別說(shuō)明一下,LitePal的映射規(guī)則是非常輕量級(jí)的,不像一些其它的數(shù)據(jù)庫(kù)框架,需要為每個(gè)模型類單獨(dú)配置一個(gè)映射關(guān)系的XML,LitePal的所有映射都是自動(dòng)完成的。根據(jù)LitePal的數(shù)據(jù)類型支持,可以進(jìn)行對(duì)象關(guān)系映射的數(shù)據(jù)類型一共有8種,int、short、long、float、double、boolean、String和Date。只要是聲明成這8種數(shù)據(jù)類型的字段都會(huì)被自動(dòng)映射到數(shù)據(jù)庫(kù)表中,并不需要進(jìn)行任何額外的配置。

那么有的朋友可能會(huì)問(wèn)了,既然是自動(dòng)映射的話,如果News類中有一個(gè)字符串字段我并不想讓它映射到數(shù)據(jù)庫(kù)表中,這該怎么辦呢?對(duì)此,LitePal同樣采用了一種極為輕量的解決方案,只有聲明成private修飾符的字段才會(huì)被映射到數(shù)據(jù)庫(kù)表中,如果你有某一個(gè)字段不想映射的話,只需要將它改成public、protected或default修飾符就可以了。

現(xiàn)在模型類已經(jīng)建好了,我們還差最后一步,就是將它配置到映射列表當(dāng)中。編輯assets目錄下的litepal.xml文件,在標(biāo)簽中加入News模型類的聲明:

view plain copy

注意這里一定要填入News類的完整類名。

OK,這樣所有的工作就都已經(jīng)完成了,現(xiàn)在只要你對(duì)數(shù)據(jù)庫(kù)有任何的操作,news表就會(huì)被自動(dòng)創(chuàng)建出來(lái)。比如說(shuō)LitePal提供了一個(gè)便捷的方法來(lái)獲取到SQLiteDatabase的實(shí)例,如下所示:

view plain copy

SQLiteDatabase db = Connector.getDatabase();

關(guān)于litepal 創(chuàng)建數(shù)據(jù)庫(kù)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

成都創(chuàng)新互聯(lián)科技公司主營(yíng):網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、小程序制作、成都軟件開(kāi)發(fā)、網(wǎng)頁(yè)設(shè)計(jì)、微信開(kāi)發(fā)、成都小程序開(kāi)發(fā)、網(wǎng)站制作、網(wǎng)站開(kāi)發(fā)等業(yè)務(wù),是專業(yè)的成都做小程序公司、成都網(wǎng)站建設(shè)公司、成都做網(wǎng)站的公司。創(chuàng)新互聯(lián)公司集小程序制作創(chuàng)意,網(wǎng)站制作策劃,畫(huà)冊(cè)、網(wǎng)頁(yè)、VI設(shè)計(jì),網(wǎng)站、軟件、微信、小程序開(kāi)發(fā)于一體。


分享題目:LitePal:簡(jiǎn)單易用的數(shù)據(jù)庫(kù)創(chuàng)建工具(litepal創(chuàng)建數(shù)據(jù)庫(kù))
URL標(biāo)題:http://uogjgqi.cn/article/djhcjcs.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流