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