摘 要:隨著云計(jì)算、物聯(lián)網(wǎng)等技術(shù)的快速發(fā)展,基于Android的移動(dòng)App的開發(fā)也將也來(lái)越成為軟件開發(fā)的流行趨勢(shì)。文章將講述基于第三方控件的Android數(shù)據(jù)庫(kù)App的設(shè)計(jì)和開發(fā),并采用Delphi XE5開發(fā)平臺(tái)和UniDAC數(shù)據(jù)庫(kù)控件。
關(guān)鍵詞:第三方控件;Android;移動(dòng)APP
引言
曾幾何時(shí),Delphi是風(fēng)靡全球的Window應(yīng)用程序的快速開發(fā)工具,它在數(shù)據(jù)庫(kù)編程功能方面尤其強(qiáng)大。但是隨著Java、.NET等開發(fā)工具和平臺(tái)的發(fā)展,Delphi逐漸走向衰落。但是Delphi并沒有甘心衰落,隨著Delphi XE系列的面世,它不僅能夠開發(fā)出Windows應(yīng)用平臺(tái)的軟件,還可以開發(fā)出基于IOS、Android和MAC OS等操作系統(tǒng)的軟件,尤其在數(shù)據(jù)庫(kù)編程方面具有非常強(qiáng)大的能力。它支持幾乎所有的數(shù)據(jù)庫(kù),不僅自帶數(shù)據(jù)庫(kù)控件,也支持第三方控件。下面將講述使用Delphi XE5平臺(tái)和第三方數(shù)據(jù)庫(kù)控件UniDAC開發(fā)移動(dòng)App。
1 開發(fā)過程
文章使用的UniDAC數(shù)據(jù)庫(kù)控件是由重慶慧都控件網(wǎng)提供的試用版控件,該控件名為UniDAC(Universal Data Access Components ),意為可以訪問各種數(shù)據(jù)庫(kù)。
第一步,先安裝UniDAC。
第二步,啟動(dòng)Embarcadero RAD Studio XE5, 新建項(xiàng)目:新建FireMonkey Mobile Application,選擇Blank Application。保存項(xiàng)目為phone。在界面上添加UniConnection和UniTable兩個(gè)控件(這兩個(gè)控件均為第三方提供的數(shù)據(jù)庫(kù)控件)。設(shè)置屬性進(jìn)行數(shù)據(jù)庫(kù)的連接:本案例連接MySql數(shù)據(jù)庫(kù)。因此:將Provider設(shè)置為“MySQL”;將Server設(shè)置為10.194.131.125,如果需要外網(wǎng)訪問則需要設(shè)置外網(wǎng)ip,不能設(shè)置為127.0.0.1否則手機(jī)登移動(dòng)終端無(wú)法訪問Windows平臺(tái)的MySQL數(shù)據(jù)庫(kù);Port設(shè)置為3306,(Apache端口是80,MySQL的端口是3306);Username設(shè)置為root;Password設(shè)置為root;Database是要訪問'的數(shù)據(jù)庫(kù)設(shè)置為db_exam(用于考試成績(jī)查詢)。單擊connect按鈕,顯示如圖1所示。圖中連接狀態(tài)顯示為綠色,表示數(shù)據(jù)庫(kù)服務(wù)器連接成功、數(shù)據(jù)庫(kù)選擇成功。
圖1 設(shè)置connection1的屬性 圖4 Mobile Application運(yùn)行效果
設(shè)置UniTable控件的屬性:Connection屬性設(shè)置為Connection1,用于通過Connection1連接到數(shù)據(jù)庫(kù);設(shè)置tablename為b網(wǎng)絡(luò)1班(保存著網(wǎng)絡(luò)1班的考生成績(jī))。設(shè)置Active為true。添加Edit,將Edit1綁定到字段fenshu,顯示分?jǐn)?shù)為78。至此說(shuō)明軟件環(huán)境和網(wǎng)絡(luò)環(huán)境是正常的。下面可以進(jìn)行第三步。
第三步,添加按鈕(Button1)。并編寫程序如下。
procedure TForm2.Button1Click(Sender: TObject);
begin
uniconnection1.Connect; //連接服務(wù)器
unitable1.Active:=true; //激活unitable1
edit1.Text:=unitable1.FieldByName('fenshu').AsString;
//顯示成績(jī)到文本框
end;
說(shuō)明:為了確保程序運(yùn)行正常,最好進(jìn)行如下設(shè)置:在確信軟硬件環(huán)境正常的情況下,在運(yùn)行程序前斷開UniConnection對(duì)數(shù)據(jù)庫(kù)服務(wù)器的連接,斷開UniTtable對(duì)UniConnection的連接,通過代碼來(lái)進(jìn)行操作。此外還要配置程序運(yùn)行環(huán)境。選擇tool,選擇options,將平臺(tái)選擇為Android,如圖2所示,并連接手機(jī)到電腦,如圖3所示。此外,計(jì)算機(jī)上必須安裝Apache和MySQL數(shù)據(jù)庫(kù),并啟動(dòng)服務(wù),設(shè)置數(shù)據(jù)庫(kù)為允許遠(yuǎn)程訪問。如果在外網(wǎng)上訪問還需要外部IP地址,如果在局域網(wǎng)訪問則只需要連接wifi即可。
圖2 選擇程序運(yùn)行平臺(tái)
圖3 連上手機(jī)后顯示的連接狀態(tài)
第四步,編譯并運(yùn)行該Moblie Application項(xiàng)目,如果有錯(cuò)系統(tǒng)會(huì)報(bào)錯(cuò),如果沒有錯(cuò)誤系統(tǒng)將自動(dòng)生成Android安裝文件project1.apk,并自動(dòng)安裝到手機(jī),如果沒有連接手機(jī)也可以手工安裝。
第五步,手機(jī)上運(yùn)行程序。如圖4所示。
2 結(jié)束語(yǔ)
文章講述了一種最簡(jiǎn)單的基于Delphi XE5和UniDAC控件的移動(dòng)數(shù)據(jù)庫(kù)App的開發(fā)。UniDAC是一系列第三方控件,它幾乎可以訪問所有數(shù)據(jù)庫(kù)。Delphi XE5不僅支持開發(fā)Android應(yīng)用,此外Delphi XE5還支持開發(fā)IOS和MAC OS以及Windows 32位和64位的應(yīng)用軟件。它可以應(yīng)用于各種移動(dòng)客戶端的開發(fā)。作者將該系統(tǒng)應(yīng)用于考試成績(jī)查詢系統(tǒng),只要輸入考生的班級(jí)、姓名和密碼即可顯示考生的成績(jī),使之和在線考試系統(tǒng)雙劍合璧。
參考文獻(xiàn)
[1]http://blog.csdn.net/u013544265/article/details/41621829[DB/OL].
[2]http://www.evget.com/[DB/OL].
作者簡(jiǎn)介:何定華(1972-)男,漢,武漢職業(yè)技術(shù)學(xué)院副教授,研究方向:管理信息系統(tǒng)開發(fā)。