楊君+陳章+黃慧
摘 要: 文章主要論述了面向學生的基于云端構建校園社交網絡的方法,分別介紹校園社交網絡系統的各模塊以及其實現方法。該校園社交網絡不僅可讓學生隨時隨地通過手機了解校園生活和學業信息,還可基于校園社交網絡中個體之間的依賴關系和校園數據促進模式發現。
關鍵詞: 社交網絡; 云; 特定群體
中圖分類號:TP311 文獻標志嗎:A 文章編號:1006-8228(2017)11-01-03
Research on the construction of cloud based social network for specific group
Yang Jun, Chen Zhang, Huang Hui
(College of Computer Science and Technology, Sanjiang University, Nanjing, Jiangsu 210012, China)
Abstract: This paper mainly discusses the methods of constructing cloud based campus social network for students, and introduces the modules and implementation methods of campus social network system respectively. The campus social network not only allows students to understand campus life and academic information through mobile phones anytime and anywhere, but also promotes the pattern discovery according to the dependency between the individuals in campus social network, and the campus data.
Key words: social network; cloud; specific group
0 引言
隨著移動互聯網和移動端設備的迅速普及,人們習慣于使用社交網絡交流并建立相互之間的依賴關系[1-2]。本文以校園為例,介紹面向特定群體構建社交網絡的方法。大學生作為走在時代潮流前端的群體早已適應基于移動設備的新型生活和學習方式[3]。在當今社會中,帶有社交元素的網絡和系統非常具有市場潛力[4]。
校園社交網絡具有學生主體、學習、教學等獨特的關鍵屬性[5-6]。具體而言,校園社交網絡除了需要分享校園內的各種資訊新聞、校園社團和學生會各種活動,還需要企業實習機會以及向學生提供課程信息、師生交流等教務功能。因此,校園社交網絡不僅可以讓學生通過網絡和手機隨時隨地的融入多姿多彩的校園生活,有助于學校各種官方事宜和社團活動的傳播,更可以促進教學效果和人才培養。
如上所述,校園社交網絡與市場上所推出的普通社交網絡有很多不同之處。我們需要在保障校園社交網絡功能的前提下,降低成本并快速開發適用于學校的社交網絡。本文提出后臺基于云端平臺構建校園社交網絡,并針對校園內大學生移動設備所采用的主流Android系統開發一款移動校園社交軟件。該校園社交網絡集合學生教務、社團活動、信息交流等多方面功能。本文首先介紹構建校園社交網絡的云端后臺,然后詳細闡述如何設計校園社交網絡和實現,最后對本文進行總結。
1 基于云的社交網絡架構
云計算可為有償用戶提供所需的各種資源,這種方式省去了用戶初期的投入以及繁瑣的維護開銷。隨著移動設備的流行,移動端應用可令用戶之間進行實時交互。為了針對校園內的大學生們構建一款校園社交網絡,本文基于云和移動端對系統進行開發,其包含后臺服務器端和移動客戶端兩部分。
后臺服務器端不僅需要昂貴的硬件成本,還需要移動開發者在掌握后臺開發技術的基礎上,花費大量的時間和精力進行后臺服務器程序的維護。而校園社交網絡開發不具備花費大量的資金和人力維護屬于自身的硬件設備和軟件程序。因此,云平臺為移動端應用提供很好的云平臺開發并運行后臺服務器端,其不僅能節省學校的前期資金投入,并且可以使開發人員將精力更多的投入到符合校園社交網絡特征的一系列功能上,從而改善校園社交網絡的運行質量。
Bmob云端是一款云存儲后臺管理服務平臺,基于Bmob云端可快速、靈活、穩健、安全地開發校園社交網絡的后臺管理系統。Bmob云端不僅支持包括Number、String、Date、File等豐富的數據類型、提供SQL語句使開發人員進行數據庫管理,還為開發人員提供了簡單易學的數據管理接口。開發人員基于Bmob所提供的豐富的API查詢接口,可對數據進行基本的增加、刪初、修改、查詢等基本操作,并且還可進行相對復雜的批量更新和分頁查詢等復雜操作。除此之外,Bmob云在軟件架構層面提供了傳輸層、應用層以及ACL角色管理等不同粒度的權限控制的方式,從而確保用戶數據的安全。為了保證穩健性,云端數據庫中每個應用的數據都會進行實時或定時的在線備份,以防止某些突發的事件,從而持續保護業務數據。
目前,人們所使用的移動設備包括智能手機和平板等,移動設備通常采用Android應用系統。本文針對移動設備的主流系統Android,開發校園社交網絡系統的移動客戶端。Android開發包括系統底層開發和應用層開發,校園社交網絡移動端軟件的開發屬于應用層開發。開發主要包括Activity(用于交互反應)、Service(用于后臺運行)、Broadcast Receiver(廣播消息接收器)和Content Provider(內容提供)四個組件和Intent(用于不同組建的通信)。endprint
2 面向特定群體社交網絡的功能設計
為了凸顯特定群體社交網絡所具有的獨有特性,校園社交網絡軟件需要包含眾多教學有關的功能以促進課堂教學地有效開展。例如該軟件需要包括課表功能,不僅為學生推送相關課程安排,并且允許學生在該校園網絡平臺對相關課程進行討論,更好地加強樂老師和學生之間的信息交流。因此,本文所構建的校園社交網絡軟件根據功能需求包括四個板塊,分別為登陸板塊、校內板塊、課程板塊和個人中心板塊。
登陸板塊的基本功能是根據用戶登陸的賬號和密碼以確定是否成功登陸校園社交網絡。除了該基本功能之外,登陸板塊還需要設計開場動畫圖片,用于增強良好的用戶視覺感受或者后期的廣告投放。于此同時,除了匹配用戶登陸的賬號密碼之外,還需要對密碼做必須的約束和加密處理以增強安全性。一旦賬號和密碼匹配成功,則對該用戶對應的數據進行后續操作。
校內公告板塊的基本功能是發布校園內的各種新聞和消息,包括學校各院系新聞、校園各種社團以及學生會的各種活動、校內跳蚤市場等。該板塊可以方便學生及時獲取學校課外的各種資訊,并且學生可對自己感興趣的消息進行留言和互動。由于校內公告板塊中的內容具有較強的時效性,因此所有消息都需要實時更新。對于用戶自己發布的消息,可自行刷新以獲得更高的曝光率。
課程板塊的基本功能是用于實現學校的教務有關的事宜,主要用于教輔。學生不僅可從該板塊中獲得自己班級的課程表、課程主要內容和相關教師介紹,還可以對課堂進行實時討論和留言。學生可在該板塊與教師和同學進行線上和線下的互動,以增進學生掌握各種知識。在用戶成功登陸后,系統就會根據獲取到的學生用戶基本信息查詢其相關課程的所有信息。不同院系專業課程的設置和安排都有所區別,因此該板塊需要選擇合適的布局容器,動態地插入不同的課程表。
個人中心板塊的基本功能用于管理學生的個人信息和交流消息,校園社交網絡的用戶不僅可以編輯本人的基本信息、設置頭像以及個性化的個人主題等,還可以編輯個人社交網絡中用戶的消息以及相關的歷史記錄。在社交網絡中與用戶進行即時通信也是一個非常重要的功能。因此,用戶可以在這一板塊設置自己所關注的用戶,并與其他用戶即時通信。
此外,校園社交網絡的后臺服務器端需要基于數據庫進行數據管理。本文后臺采用Bmob云,需要在Bmob云中設計數據庫中的多張表。設計合理的數據庫對校園社交網絡的用戶體驗至關重要。根據之前所描述的登錄板塊、校內公告板塊、課程板塊以及個人中心板塊的功能,本文主要設計了學生基本信息表、根基課程信息表、新聞消息記錄表、跳蚤市場交易記錄表以及評價信息記錄表等。
3 校園社交網絡軟件的實現
基于上一小節所描述的校園社交網絡軟件的功能設計,本節給出基于Bmob云端構建校園社交網絡的實現。
登錄模塊需要判斷用戶名和密碼是否正確,并且具有記住密碼的單選框可供選擇。如果記住密碼單選框被選中,那么在輸入用戶名和密碼時,ContentProvider組件的sharepreferences類被創建并生成一個xml文件,其以鍵值對的方式保存讀取到的用戶信息。執行登錄操作時,如果不存在對應的xml文件,則從前臺頁面方法獲取用戶輸入的賬號密碼數據進行判斷。由于每次通過網絡查詢后臺會比較耗時,因此登錄時可將常用的和用戶相關的數據保存在本地。
登陸成功后進入校內公告板塊,校內公告板塊分為“新鮮事”和“跳蚤市場”兩個模塊。校內公告板塊默認顯示“新鮮事”模塊,展示最新的校內新聞和活動,校內公告板塊新聞列表如圖1所示。列表內只展示消息的關鍵信息,包括消息標題、發布人姓名和時間等,因此每個item設置onclick事件用于顯示詳細內容。向右滑動手機屏幕就會進入校內公告板塊的其他模塊。該模塊根據客戶端所發送的數據,請求從Bmob云后臺查詢得到后,加載到recyclerview的組件并在Android手機頁面上顯示。
通過移動端底部導航可進入課程板塊,默認顯示用戶對應的課程表,如圖2所示。在登陸時,根據用戶賬號名從后臺Bomb查詢并返回包括課程表等基本信息。本板塊實現的難點在于如何將課表數據動態插入界面即課程表排版。課程表排版需要在數據庫設計時,為每節課設置position字段用于標志其在界面所處的對應位置,匹配成功后插入課程數據。對課程進行評價的功能可創建一個彈出的對話框,輸入評價后將評價實時發布。
點擊底部個人中心的圖標,可進行個人信息編輯、設置頭像和主題、個人消息,以及編輯歷史消息等功能,如圖3所示。其中頭像在登錄時下載到本地,頭像所使用的圖片可拍照或從本地獲取,如圖4所示。為了減少該操作的耗時,設置頭像利用子線程實現。另外,手機拍攝照片作為頭像時,由于照片比較大清晰度高,上傳圖片時容易造成超時以及內存溢出等異常。因此,需要將拍攝的照片進行壓縮處理。
4 總結
移動互聯網的快速發展以及移動設備的普遍使用已經改變了人們平時的生活和學習習慣,如何利用校園社交網絡引導大學生適應多姿多彩的大學校園生活至關重要。本文基于云構建校園社交網絡,詳細闡述了后臺采用Bmob云端以及前端基于Android開發移動端軟件的方法,實踐證明基于云的方式提升了開發的效率和穩定性。
參考文獻(References):
[1] 吳信東,李毅,李磊.在線社交網絡影響力分析[J].計算機學報,
2014.37(4):735-752
[2] 乾進,袁勤儉,沈洪洲.國外社交網絡研究熱點與前沿[J].圖書
情報知識,2012.5:68-75
[3] 喬歆新,朱吉虹,沈勇.手機移動社交網絡的用戶研究[J].電信
科學,2010.26(10):109-114
[4] 賴英旭,李健,劉靜,楊震.新型社交網絡信息傳播特點和模型
分析[J].現代情報,2012.32(1):56-59
[5] 常亞平,朱東紅.社交網絡用戶參與動機的測量[J].圖書情報
工作,2011.55(14):32-35
[6] 杜炤,趙燦,付小龍.校園社交網絡中社會化標簽系統的研究
與實現[J].計算機工程與設計,2012.33(8):3235-3238endprint