摘 要: 詳細(xì)介紹了Bmob云平臺的功能:數(shù)據(jù)服務(wù),、文件服務(wù)、用戶管理,、消息推送,,以及這些功能在Android App中的應(yīng)用。利用Android App“游戳”來具體說明Bmob云平臺在App的開發(fā)過程中對于解決所涉及到的數(shù)據(jù),、文件及用戶管理問題所起的作用,,并且對于云平臺今后的發(fā)展做了展望,。
關(guān)鍵詞: Bmob;云平臺,;Android
0 引言
隨著Android系統(tǒng)在手機(jī)和平板市場的普及[1-3]以及Android App越來越多地出現(xiàn),,Android App也吸引了很多開發(fā)者的加入。傳統(tǒng)的網(wǎng)絡(luò)數(shù)據(jù)存儲,、用戶管理,、消息推送等功能都需要數(shù)據(jù)庫以及服務(wù)器的支持,個人開發(fā)者要是想在App中加入這些功能,,就必須學(xué)習(xí)Java,、xml語言之外的其他語言,例如.net,、php,、spq,增加了開發(fā)App的難度,,并且搭建服務(wù)器也額外增加了開發(fā)成本,。Bmob云平臺簡化了這一過程,使開發(fā)者能夠?qū)⒏嗟木ν断蜍浖δ艿母纳坪徒缑娴拿阑O(shè)計,,使應(yīng)用的開發(fā)變得更加簡單,。
1 Bmob云平臺的介紹
Bmob云平臺能為移動應(yīng)用提供一個完整的后端解決方案,利用官方提供的SDK,,在App中進(jìn)行調(diào)用,,便可以很方便地進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)的存儲和下載。目前Bmob提供的能夠使得Android App開發(fā)更加便捷的服務(wù)主要有以下幾種,。
1.1數(shù)據(jù)服務(wù)
Bmob提供了網(wǎng)頁后臺可以進(jìn)行數(shù)據(jù)表的添加,、刪除等操作,不僅可以手動輸入添加數(shù)據(jù),,還可以直接上傳csv格式的文件,,對手動添加大量數(shù)據(jù)特別有利。Bmob支持String,、Number,、Boolean、Date,、Array等常用的數(shù)據(jù)類型,,能夠滿足大多數(shù)應(yīng)用的要求。
1.2 文件服務(wù)
Bmob可以方便地上傳和下載文件,,并且存儲空間沒有限制,。下載圖片類型的文件時,可以選擇下載縮略圖還是原圖,,在一定程度上可以縮短頁面的加載時間,。
1.3 消息推送
消息推送[4]在Android開發(fā)中算是一個難度比較大的部分,,在Bmob中,只需要在網(wǎng)頁中填寫一些時間信息和推送內(nèi)容信息就可以讓Bmob來實現(xiàn)消息推送了,,并且可以指定發(fā)送的用戶對象,。
2 Bmob云平臺在“游戳”開發(fā)中的運(yùn)用
“游戳”是一個旅游社交類的Android App。用戶可以注冊一個賬號,,查看某市的旅游景點和美食,,可以在這些地點打卡標(biāo)記自己已經(jīng)去過,并分享圖片和感想,,同時可以看到其他用戶的打卡信息,,瀏覽別人的圖片和感想。特別地,,在自己的個人頁面中,,還可以通過地圖的方式直觀地查看自己去過的地方。在“游戳”這個App中,,所有的信息,,包括用戶的個人信息、打卡信息,、景點信息,,都存儲在Bmob云平臺中,這樣不僅使得本地客戶端占用SD卡的空間很小,,還讓景點的信息更新更加便捷,,直接在Bmob的管理平臺中操作即可?!坝未痢笔褂玫氖荁mob提供的Android SDK 3.16版本。開發(fā)者需要在Bmob網(wǎng)站中注冊一個賬戶,,創(chuàng)建一個應(yīng)用,,即可取得一個APPID,把這個APPID填入java代碼中的合適位置,,就可以使具體的App和Bmob后臺與這個App存儲的數(shù)據(jù)對應(yīng)起來,。密鑰方式和Google Map API的認(rèn)證方式有些類似。圖1為“游戳”的主界面,。
2.1 用戶信息管理
“游戳”要求用戶注冊后才能使用,,圖2是用戶的注冊和登錄界面。用戶在注冊后,,其用戶名,、密碼和郵箱會保存在Bmob云平臺對應(yīng)的用戶表中。當(dāng)然,,即使是開發(fā)者,,在Bmob后臺中也看不到用戶輸入的密碼信息,,這樣也保護(hù)了用戶的賬戶安全。用戶注冊后,,就可以使用剛剛注冊的用戶名和密碼登錄App了,。登錄以后,還可以利用側(cè)邊欄中的“個人信息”按鈕進(jìn)行密碼,、郵箱,、頭像、性別等信息的完善和修改,。在Java端,,只需要幾句代碼就可以完成注冊、登錄,、修改信息的功能,。
2.2 景點信息管理
“游戳”收錄了臺北市的景點和美食信息。這些信息保存在Bmob云平臺中的地點信息的數(shù)據(jù)表中,,并且在地圖上分別用紅色標(biāo)記和藍(lán)色標(biāo)記來區(qū)分景點和美食,。景點的信息包括景點名稱、地址,、電話,、圖片、簡介和有幾人次在這個地方打卡,。地點的信息可以通過cvs格式的文件直接導(dǎo)入到數(shù)據(jù)庫中,。圖3是地點以標(biāo)記的形式呈現(xiàn)在地圖上(此處為了方便觀察,只呈現(xiàn)了部分地點的標(biāo)記),,以及地點的詳細(xì)信息,。這樣,一旦某個景點信息有變動,,或者需要增加,、刪除某些地點,只需要在Bmob后臺的地點數(shù)據(jù)庫中進(jìn)行操作,,而不需要發(fā)布App的新版本,。
2.3 用戶動態(tài)管理
用戶可以通過“蓋戳”頁面(如圖4左半)進(jìn)行蓋戳打卡,表明自己來過這一地點,??梢栽谖淖挚蛑休斎胍恍┳约合胝f的話,還可以拍照或者從相冊中選取圖片上傳,。用戶發(fā)布過自己的信息后,,可以在首頁所有人的動態(tài)中看到自己發(fā)布的動態(tài),當(dāng)然在這里還能看到其他所有用戶的動態(tài),,也可以在自己的個人頁面中看到自己發(fā)布的內(nèi)容,,也能夠隨時刪除自己發(fā)布的內(nèi)容。另外,,還可以通過地圖的方式查看自己去過哪些地方,,直觀且簡潔。發(fā)布內(nèi)容是將地點信息,、文字內(nèi)容和圖片內(nèi)容保存到Bmob后臺中關(guān)于打卡動態(tài)的數(shù)據(jù)表中,,需要顯示個人去過哪些地方的時候,是將以上數(shù)據(jù)表中關(guān)于這個賬戶的打卡信息提取出來,,再放到地圖中去,。圖4右半是所有人動態(tài)中某個動態(tài)的詳情。
2.4 其他運(yùn)用
“游戳”還可以推薦新的地點信息,,方便在用戶發(fā)現(xiàn)一個App中沒有收錄的景點或者美食時讓開發(fā)者推薦,,這一功能是在Bmob端建立一個新的數(shù)據(jù)表,保存推薦地點的名稱,、經(jīng)緯度和描述,,開發(fā)者在Bmob自己的應(yīng)用中就可以查看這個表。Bmob還提供應(yīng)用官網(wǎng)服務(wù),,即這個App可以有一個專屬網(wǎng)址,,這樣一來,可以讓App有一個更好的展示平臺,,也讓用戶能方便,、快捷地下載應(yīng)用。
3 Bmob云平臺與傳統(tǒng)服務(wù)器的比較
Bmob云平臺是一個新推出的移動應(yīng)用云存儲平臺,,對于開發(fā)者在開發(fā)應(yīng)用時來說它與傳統(tǒng)的搭建服務(wù)器來完成網(wǎng)絡(luò)任務(wù)的方式有著很大的區(qū)別,。傳統(tǒng)搭建服務(wù)器的方式在硬件上能夠自己掌握服務(wù)器的情況、配備,,不論是自己搭建還是租用別人的都需要一定的費用,,在軟件中也需要學(xué)習(xí)服務(wù)器的相關(guān)語言和搭建,會花費更多的學(xué)習(xí)時間,。Bmob云平臺則是利用已經(jīng)搭建好的服務(wù)器,硬件方面不需要開發(fā)者再做投入,,軟件方面則是在源代碼中加入對SDK的調(diào)用,。對于對服務(wù)器的穩(wěn)定性和數(shù)據(jù)的安全性要求非常高的專業(yè)的Android App開發(fā)團(tuán)隊來說,還是選擇自己搭建服務(wù)器比較放心[5-7],,而對于一些個人開發(fā)者或者小型的開發(fā)團(tuán)隊來說,,使用簡單、投入少的Bmob云平臺就是很好的選擇了,。
4 對于云平臺網(wǎng)絡(luò)服務(wù)的展望
在電子,、軟件領(lǐng)域,,有很多技術(shù)對于入門者或者非專業(yè)人員來說都有著很簡單的處理方法。例如單片機(jī),,現(xiàn)在不需要每個開發(fā)者都懂得芯片的工作原理,,只需要調(diào)用芯片對應(yīng)的庫文件就可以進(jìn)行開發(fā),也不需要懂得模擬電路,、LCD,、串口等外圍電路的連接,只需要使用開發(fā)板就可以對外設(shè)進(jìn)行控制,。例如Windows中的軟件開發(fā),,開發(fā)者也不需要了解對話框、按鈕等的設(shè)計,,直接可以通過VB中的模塊拖拉來完成,。所以,在電子科技領(lǐng)域,,高端的技術(shù)應(yīng)該是逐漸被簡單化,、平民化,讓更多的人了解和使用,。以此類推,,對于Android App個人開發(fā)者來說,能夠掌握從實際功能開發(fā),、后端數(shù)據(jù)處理到前端用戶體驗設(shè)計的所有知識是最好的,。但是大多數(shù)的個人開發(fā)者不具備所有的能力,所以有Android Inventor的出現(xiàn)讓不會Java的開發(fā)者能夠開發(fā)Android App的功能,,有DroidDraw的出現(xiàn)幫助開發(fā)者進(jìn)行界面的設(shè)計,,Bmob云平臺的出現(xiàn)自然也解決了后端設(shè)計這一大難題。Bmob也利用了網(wǎng)絡(luò)服務(wù)器+數(shù)據(jù)庫這一平臺集成了更多的功能,,例如聊天組件,、賬號關(guān)聯(lián)服務(wù),這些服務(wù)是將這個云平臺和App的具體功能結(jié)合起來,,變成SDK供用戶下載使用,。相信Bmob以后還會出現(xiàn)更多基于云平臺的SDK。2011年12月1日,,在北京大學(xué)舉行了“基于云平臺的戰(zhàn)略新興產(chǎn)業(yè)發(fā)展研討會”[8],,可見,我國已經(jīng)對云平臺的發(fā)展有了很大的關(guān)注,,所以,,有理由相信,類似于Bmob云平臺這樣的能完成后端設(shè)計的各種云平臺將會越來越多,在業(yè)內(nèi)形成良好的競爭,,幫助開發(fā)者們使Android的開發(fā)變得更加容易,。當(dāng)然,云平臺還面臨著數(shù)據(jù)安全,、隱私保護(hù)等許多問題[9],,這些問題也是開發(fā)者在使用過程中必須考慮的。
參考文獻(xiàn)
[1] 韓基龍.試談Android移動云應(yīng)用的優(yōu)勢和發(fā)展趨勢[J]. 電腦編程技巧與維護(hù),,2014(6):58-59.
[2] 劉昌平,,范明玨,王光衛(wèi),,等.Android手機(jī)的輕量級訪問控制[J].計算機(jī)應(yīng)用研究,,2010,27(7):2611-2613,,2618.
[3] 蔣邵林,,王金雙,張濤,,等.Android安全研究綜述[J].計算機(jī)應(yīng)用與軟件,,2012,29(10):205-210.
[4] 倪紅軍.基于Android平臺的消息推送研究與實現(xiàn)[J].實驗室研究與探索,,2014,,33(5):96-100.
[5] CHAUDHUR A. Language based security on Android [C].Proceedings of the ACM SIGPLAN Fourth Workshop on Programming Languages and Analysis for Security, New York,, 2009:1-7.
[6] ZHANG Y,, REN S, CHEN S,, et al. DifferCloudStor: Differentiated quality of service for cloud storage[J]. Magnetics,, IEEE Transactions on, 2013,,49(6):2451-2458.
[7] 王曉萍,,孟坤.基于可信第三方實現(xiàn)多云平臺的交互和選擇[J].計算機(jī)與現(xiàn)代化,2014,,221(1):104-108.
[8] 曾宇,,潘陳辰.基于云平臺的戰(zhàn)略新興產(chǎn)業(yè)發(fā)展研討會綜述[J].經(jīng)濟(jì)學(xué)動態(tài),2011(12):143-144.
[9] 張建勛,,古志民,,鄭超.云計算研究進(jìn)展綜述[J].計算機(jī)應(yīng)用研究,2010,,27(2):429-433.