《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > Bmob云平臺在Android App開發(fā)中的應用
Bmob云平臺在Android App開發(fā)中的應用
2015年微型機與應用第1期
周 冉,,高玉竹
(同濟大學 電子與信息工程學院 電子科學與技術系,,上海 201804)
摘要: 詳細介紹了Bmob云平臺的功能:數(shù)據(jù)服務、文件服務,、用戶管理、消息推送,,以及這些功能在Android App中的應用,。利用Android App“游戳”來具體說明Bmob云平臺在App的開發(fā)過程中對于解決所涉及到的數(shù)據(jù)、文件及用戶管理問題所起的作用,,并且對于云平臺今后的發(fā)展做了展望,。
Abstract:
Key words :

  摘  要: 詳細介紹了Bmob云平臺的功能:數(shù)據(jù)服務、文件服務,、用戶管理,、消息推送,以及這些功能在Android App中的應用,。利用Android App“游戳”來具體說明Bmob云平臺在App的開發(fā)過程中對于解決所涉及到的數(shù)據(jù),、文件及用戶管理問題所起的作用,并且對于云平臺今后的發(fā)展做了展望,。

  關鍵詞: Bmob,;云平臺;Android

0 引言

  隨著Android系統(tǒng)在手機和平板市場的普及[1-3]以及Android App越來越多地出現(xiàn),,Android App也吸引了很多開發(fā)者的加入,。傳統(tǒng)的網絡數(shù)據(jù)存儲、用戶管理,、消息推送等功能都需要數(shù)據(jù)庫以及服務器的支持,,個人開發(fā)者要是想在App中加入這些功能,,就必須學習Java、xml語言之外的其他語言,,例如.net,、php、spq,,增加了開發(fā)App的難度,,并且搭建服務器也額外增加了開發(fā)成本。Bmob云平臺簡化了這一過程,,使開發(fā)者能夠將更多的精力投向軟件功能的改善和界面的美化設計,,使應用的開發(fā)變得更加簡單。

1 Bmob云平臺的介紹

  Bmob云平臺能為移動應用提供一個完整的后端解決方案,,利用官方提供的SDK,,在App中進行調用,便可以很方便地進行網絡數(shù)據(jù)的存儲和下載,。目前Bmob提供的能夠使得Android App開發(fā)更加便捷的服務主要有以下幾種,。

  1.1數(shù)據(jù)服務

  Bmob提供了網頁后臺可以進行數(shù)據(jù)表的添加、刪除等操作,,不僅可以手動輸入添加數(shù)據(jù),,還可以直接上傳csv格式的文件,對手動添加大量數(shù)據(jù)特別有利,。Bmob支持String,、Number、Boolean,、Date,、Array等常用的數(shù)據(jù)類型,能夠滿足大多數(shù)應用的要求,。

  1.2 文件服務

  Bmob可以方便地上傳和下載文件,,并且存儲空間沒有限制。下載圖片類型的文件時,,可以選擇下載縮略圖還是原圖,,在一定程度上可以縮短頁面的加載時間。

  1.3 消息推送

  消息推送[4]在Android開發(fā)中算是一個難度比較大的部分,,在Bmob中,,只需要在網頁中填寫一些時間信息和推送內容信息就可以讓Bmob來實現(xiàn)消息推送了,并且可以指定發(fā)送的用戶對象,。

2 Bmob云平臺在“游戳”開發(fā)中的運用

  “游戳”是一個旅游社交類的Android App,。用戶可以注冊一個賬號,查看某市的旅游景點和美食,可以在這些地點打卡標記自己已經去過,,并分享圖片和感想,,同時可以看到其他用戶的打卡信息,瀏覽別人的圖片和感想,。特別地,,在自己的個人頁面中,還可以通過地圖的方式直觀地查看自己去過的地方,。在“游戳”這個App中,,所有的信息,,包括用戶的個人信息,、打卡信息、景點信息,,都存儲在Bmob云平臺中,,這樣不僅使得本地客戶端占用SD卡的空間很小,還讓景點的信息更新更加便捷,,直接在Bmob的管理平臺中操作即可,。“游戳”使用的是Bmob提供的Android SDK 3.16版本,。開發(fā)者需要在Bmob網站中注冊一個賬戶,,創(chuàng)建一個應用,即可取得一個APPID,,把這個APPID填入java代碼中的合適位置,,就可以使具體的App和Bmob后臺與這個App存儲的數(shù)據(jù)對應起來。密鑰方式和Google Map API的認證方式有些類似,。圖1為“游戳”的主界面,。

001.jpg

  2.1 用戶信息管理

002.jpg

  “游戳”要求用戶注冊后才能使用,圖2是用戶的注冊和登錄界面,。用戶在注冊后,,其用戶名、密碼和郵箱會保存在Bmob云平臺對應的用戶表中,。當然,,即使是開發(fā)者,在Bmob后臺中也看不到用戶輸入的密碼信息,,這樣也保護了用戶的賬戶安全,。用戶注冊后,就可以使用剛剛注冊的用戶名和密碼登錄App了,。登錄以后,,還可以利用側邊欄中的“個人信息”按鈕進行密碼、郵箱、頭像,、性別等信息的完善和修改,。在Java端,只需要幾句代碼就可以完成注冊,、登錄,、修改信息的功能。

  2.2 景點信息管理

003.jpg

  “游戳”收錄了臺北市的景點和美食信息,。這些信息保存在Bmob云平臺中的地點信息的數(shù)據(jù)表中,,并且在地圖上分別用紅色標記和藍色標記來區(qū)分景點和美食。景點的信息包括景點名稱,、地址,、電話、圖片,、簡介和有幾人次在這個地方打卡,。地點的信息可以通過cvs格式的文件直接導入到數(shù)據(jù)庫中。圖3是地點以標記的形式呈現(xiàn)在地圖上(此處為了方便觀察,,只呈現(xiàn)了部分地點的標記),,以及地點的詳細信息。這樣,,一旦某個景點信息有變動,,或者需要增加、刪除某些地點,,只需要在Bmob后臺的地點數(shù)據(jù)庫中進行操作,,而不需要發(fā)布App的新版本。

  2.3 用戶動態(tài)管理

004.jpg

  用戶可以通過“蓋戳”頁面(如圖4左半)進行蓋戳打卡,,表明自己來過這一地點,。可以在文字框中輸入一些自己想說的話,,還可以拍照或者從相冊中選取圖片上傳,。用戶發(fā)布過自己的信息后,可以在首頁所有人的動態(tài)中看到自己發(fā)布的動態(tài),,當然在這里還能看到其他所有用戶的動態(tài),,也可以在自己的個人頁面中看到自己發(fā)布的內容,也能夠隨時刪除自己發(fā)布的內容,。另外,,還可以通過地圖的方式查看自己去過哪些地方,直觀且簡潔,。發(fā)布內容是將地點信息,、文字內容和圖片內容保存到Bmob后臺中關于打卡動態(tài)的數(shù)據(jù)表中,需要顯示個人去過哪些地方的時候,是將以上數(shù)據(jù)表中關于這個賬戶的打卡信息提取出來,,再放到地圖中去,。圖4右半是所有人動態(tài)中某個動態(tài)的詳情。

  2.4 其他運用

  “游戳”還可以推薦新的地點信息,,方便在用戶發(fā)現(xiàn)一個App中沒有收錄的景點或者美食時讓開發(fā)者推薦,,這一功能是在Bmob端建立一個新的數(shù)據(jù)表,保存推薦地點的名稱,、經緯度和描述,,開發(fā)者在Bmob自己的應用中就可以查看這個表。Bmob還提供應用官網服務,,即這個App可以有一個專屬網址,,這樣一來,可以讓App有一個更好的展示平臺,,也讓用戶能方便,、快捷地下載應用,。

3 Bmob云平臺與傳統(tǒng)服務器的比較

  Bmob云平臺是一個新推出的移動應用云存儲平臺,,對于開發(fā)者在開發(fā)應用時來說它與傳統(tǒng)的搭建服務器來完成網絡任務的方式有著很大的區(qū)別。傳統(tǒng)搭建服務器的方式在硬件上能夠自己掌握服務器的情況,、配備,,不論是自己搭建還是租用別人的都需要一定的費用,在軟件中也需要學習服務器的相關語言和搭建,,會花費更多的學習時間,。Bmob云平臺則是利用已經搭建好的服務器,硬件方面不需要開發(fā)者再做投入,,軟件方面則是在源代碼中加入對SDK的調用,。對于對服務器的穩(wěn)定性和數(shù)據(jù)的安全性要求非常高的專業(yè)的Android App開發(fā)團隊來說,還是選擇自己搭建服務器比較放心[5-7],,而對于一些個人開發(fā)者或者小型的開發(fā)團隊來說,,使用簡單、投入少的Bmob云平臺就是很好的選擇了,。

4 對于云平臺網絡服務的展望

  在電子,、軟件領域,有很多技術對于入門者或者非專業(yè)人員來說都有著很簡單的處理方法,。例如單片機,,現(xiàn)在不需要每個開發(fā)者都懂得芯片的工作原理,只需要調用芯片對應的庫文件就可以進行開發(fā),,也不需要懂得模擬電路,、LCD、串口等外圍電路的連接,只需要使用開發(fā)板就可以對外設進行控制,。例如Windows中的軟件開發(fā),,開發(fā)者也不需要了解對話框、按鈕等的設計,,直接可以通過VB中的模塊拖拉來完成,。所以,在電子科技領域,,高端的技術應該是逐漸被簡單化,、平民化,讓更多的人了解和使用,。以此類推,,對于Android App個人開發(fā)者來說,能夠掌握從實際功能開發(fā),、后端數(shù)據(jù)處理到前端用戶體驗設計的所有知識是最好的,。但是大多數(shù)的個人開發(fā)者不具備所有的能力,所以有Android Inventor的出現(xiàn)讓不會Java的開發(fā)者能夠開發(fā)Android App的功能,,有DroidDraw的出現(xiàn)幫助開發(fā)者進行界面的設計,,Bmob云平臺的出現(xiàn)自然也解決了后端設計這一大難題。Bmob也利用了網絡服務器+數(shù)據(jù)庫這一平臺集成了更多的功能,,例如聊天組件,、賬號關聯(lián)服務,這些服務是將這個云平臺和App的具體功能結合起來,,變成SDK供用戶下載使用,。相信Bmob以后還會出現(xiàn)更多基于云平臺的SDK。2011年12月1日,,在北京大學舉行了“基于云平臺的戰(zhàn)略新興產業(yè)發(fā)展研討會”[8],,可見,我國已經對云平臺的發(fā)展有了很大的關注,,所以,,有理由相信,類似于Bmob云平臺這樣的能完成后端設計的各種云平臺將會越來越多,,在業(yè)內形成良好的競爭,,幫助開發(fā)者們使Android的開發(fā)變得更加容易。當然,,云平臺還面臨著數(shù)據(jù)安全,、隱私保護等許多問題[9],這些問題也是開發(fā)者在使用過程中必須考慮的,。

參考文獻

  [1] 韓基龍.試談Android移動云應用的優(yōu)勢和發(fā)展趨勢[J]. 電腦編程技巧與維護,,2014(6):58-59.

  [2] 劉昌平,,范明玨,王光衛(wèi),,等.Android手機的輕量級訪問控制[J].計算機應用研究,,2010,27(7):2611-2613,,2618.

  [3] 蔣邵林,,王金雙,張濤,,等.Android安全研究綜述[J].計算機應用與軟件,,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].計算機與現(xiàn)代化,,2014,,221(1):104-108.

  [8] 曾宇,潘陳辰.基于云平臺的戰(zhàn)略新興產業(yè)發(fā)展研討會綜述[J].經濟學動態(tài),,2011(12):143-144.

  [9] 張建勛,,古志民,鄭超.云計算研究進展綜述[J].計算機應用研究,,2010,,27(2):429-433.


此內容為AET網站原創(chuàng),未經授權禁止轉載,。