朱山峰
【關鍵詞】云服務 Android 興趣分享平臺社交軟件
隨著移動互聯網的概念日益深入人心,移動智能手持終端得到了快速的發展與普及。Android 系統作為當前智能終端的操作系統之一,日益受到互聯網公司和第三方開發人員的喜愛,基于 Android 系統的各種應用層出不窮。目前,Android 應用主要是在附帶標準插件集的 Eclipse 軟件上開發。Paas服務(平臺即服務)為開發一個具有網絡功能的應用提供很大的便捷。基于該云服務可以縮短軟件開發周期,降低軟件開發復雜難度,從而降低軟件開發成本。本文介紹了使用服務器端+客戶端結構,在Android系統上進行校園軟件的開發與設計——使用Android平臺推出的SDK和 Eclipse 開發環境實現了校園社交軟件。
1 研究內容
本興趣分享平臺包含用戶注冊、用戶登陸、活動發布、丟失拾獲、校園美食等功能。系統具體功能需求分析如下:
1.1 用戶注冊
為第一次使用本系統的客戶提供注冊服務。
1.2 用戶登陸
讓已經注冊的用戶通過自己的賬號和密碼來登陸系統。
1.3 活動發布
用戶發布活動信息,還可以對發表過的活動信息進行編輯或者刪除。
1.4 丟失拾獲
失物者、拾物者雙方在平臺上留下丟(拾)物品的時間、地點、物品特征等信息。
1.5 圖文分享
用戶可以圖片和文字的形式分享在校內或校外遇到的事情。
當前的移動應用通常是針對手機端的信息發布和交流,而信息數據是需要通過網絡來進行獲取。也就是說在開發的過程中應包括信息提供端和手機接收端,即服務器端和客戶端兩部分:服務器端負責提供數據和維護數據,客戶端負責信息的發布和顯示。服務器端和客戶端的紐帶是網絡連接。該系統的物理架構主要由后臺數據庫服務器、無線網絡、手機客戶端等部分組成。服務器端通過無線網絡訪問后臺服務器,相關數據信息由后臺服務器提供,客戶端部分數據存儲使用SQLite數據庫,應該保持客戶端的數據和服務器數據庫中的數據一致。運行過程中保證服務器始終處于開啟狀態。
2 軟件的設計與實現
2.1 服務器端功能實現
本項目不需要具體搭建服務器平臺,利用網絡云服務資源可以大大減少人力,縮短開發周期。要使用公共的移動開發平臺提供的API編寫應用,必須要成為開放平臺的開發者,即需要到Bmob平臺進行應用注冊,也就是創建應用。
先注冊賬號,然后點擊創建應用,此時,開發平臺會為申請的這個應用自動生成唯一的應用密鑰,這時表示應用申請成功。
2.2 客戶端功能實現
在編寫客戶端程序前,需要下載Bmob SDK放在libs目錄下并對SDK初始化。
客戶端變動較大,針對不同的應用,利用控件做具體的UI設計,并將服務器提供的數據以清晰、方便的形式展現出來。下面從用戶注冊、活動發布、圖文分享三個應用程序的客戶端分別介紹。
2.2.1 用戶注冊登錄
用戶是一個應用程序的核心。Bmob提供了一個專門的用戶類——BmobUser來自動處理用戶賬戶管理所需的功能。BmobUser是BmobObject的一個子類,它繼承了BmobObject所有的方法,具有BmobObject相同的功能。不同的是,BmobUser增加了一些特定的關于用戶賬戶管理相關的功能。BmobUser有幾個特定的屬性: username: 用戶的用戶名(必需)。password: 用戶的密碼(必需)。email: 用戶的電子郵件地址(可選)。
2.2.2 活動發布
用戶在活動的過程中,發現有趣的事情,可以隨時隨地發起的分享,發起者可以留下活動的舉辦地、舉辦時間和聯系方式,節省很多宣傳工作量。
該功能的界面主要是利用ListView組件進行設計的,因為ListView的數據來源靈活并可以實現自身的樣式定制。活動信息由客戶端向后臺服務器請求,通過JSON格式封裝數,在客戶端收到數據后,對其進行解析,然后通過數據適配器將數據添加到ListView中。如果想要參與某項活動,只要一鍵就可以聯系到舉辦方。該功能實現是借助于Android手機的電話撥打功能,獲取舉辦方的電話號碼,直接調用手機自帶的電話應用程序。
2.2.3 圖文分享
為了軟件的使用,用戶注冊登后可直接進入圖文分享區以圖片的形式顯示當前信息。信息列表通過ListView控件進行實現。信息內容由客戶端向后臺服務器請求,通過JSON格式封裝數據。在客戶端收到數據后,對其進行解析,然后通過數據適配器,將數據添加到ListView中。
3 結束語
通過自行設計和開發基于云服務的android分享軟件,我們逐漸了解社交軟件的設計模式和結構,同時也深刻體會到互聯網作為一個載體與各行各業的緊密聯系性。該軟件很多功能還比較落后,在以后的時間里將進一步深入學習android開發知識,結合實踐,設計出更好的作品出來。
參考文獻
[1]楊煒,張冰.基于Android的騰訊微博客戶端應用軟件設計[D].西安:西安電子科技大學,2013.
[2]網上蜘蛛2012.天涯問答:什么是云技術?http://wenda.tianya.cn/answer/ 2012.03
[3]李寧寧,鄭純軍.基于Android平臺網絡相冊的設計與實現[J].電視技術,2013,37(15):71-73
[4]李寧寧,王遠飛,張冉.基于Android的校園應用軟件開發與實現[D].大連:大連理工大學,2014(10).