• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Android的校園多媒體即時通信系統(tǒng)的設(shè)計與實現(xiàn)

    2018-03-20 01:36:39笪林梅
    關(guān)鍵詞:服務(wù)器端資訊好友

    笪林梅

    (江蘇財經(jīng)職業(yè)技術(shù)學(xué)院 機械電子與信息工程學(xué)院, 江蘇 淮安 223003)

    移動互聯(lián)網(wǎng)時代,人們之間的交流和互動越來越依賴于手機,尤其是當下的大學(xué)生們。即時通信(Instant Message,簡稱IM)已經(jīng)成為時下應(yīng)用最為廣泛的一種實時通信方式。它建立在因特網(wǎng)和其它有線、無線網(wǎng)絡(luò)基礎(chǔ)之上,是一個集成了交流、資訊、娛樂、搜索、電子商務(wù)、辦公協(xié)作和企業(yè)客戶服務(wù)等為一體的綜合性信息平臺。

    當前,大學(xué)生們喜愛的即時通信工具主要有QQ、微信和陌陌等,這些工具的功能已經(jīng)非常完善。而本論文的研究目的是基于Android技術(shù)開發(fā)一種適用于校園的多媒體聊天系統(tǒng),它能夠效仿微信,以校園溝通交流為目的,實現(xiàn)用戶的注冊與登錄、好友的管理(增刪改查)、好友的一對一聊天、群聊、音視頻共享、校園資訊發(fā)布等功能。系統(tǒng)界面簡潔明了,易于用戶操作,能夠在校園推廣使用。

    一、Android關(guān)鍵技術(shù)

    Android系統(tǒng)是一個開放的移動互聯(lián)操作系統(tǒng),它的底層基于Linux,系統(tǒng)架構(gòu)采用分層模式,從低到高依次是Linux內(nèi)核層、系統(tǒng)運行庫層、應(yīng)用程序框架層和應(yīng)用程序?qū)?。[1]

    Android包含四大組件,即 Activity、Service、BroadcastReceiver和 ContentProvider。[2]Activity是用戶和應(yīng)用程序交互的窗口,可以調(diào)用onCreate()、onStart()、onResume()、onPause()、onStop()、onDestroy()、onRestart()等方法分別實現(xiàn)創(chuàng)建、激活、恢復(fù)、暫停、停止、銷毀和重啟。Service是沒有界面的Activity,一般運行于后臺,封裝一個完整的功能邏輯實現(xiàn)。BroadcastReceiver接受一種或者幾種Intent為觸發(fā)事件,接收相關(guān)消息,進行一些簡單處理,當這些事件發(fā)生時,系統(tǒng)喚醒或傳遞消息到BroadcastReceiver,以此統(tǒng)一Android的事件廣播模型。ContentProvider是Android系統(tǒng)提供的第三方應(yīng)用數(shù)據(jù)的訪問方案,共享自己的數(shù)據(jù)給外部來調(diào)用,提供數(shù)據(jù)訪問接口。[3]

    二、系統(tǒng)設(shè)計

    本系統(tǒng)的主體功能是校園多媒體即時通信,能夠滿足師生和同學(xué)之間會話操作、資訊管理和好友管理三大需求。系統(tǒng)功能結(jié)構(gòu)如圖1所示。

    圖1 系統(tǒng)功能結(jié)構(gòu)圖

    (一)系統(tǒng)技術(shù)架構(gòu)設(shè)計

    系統(tǒng)采用C/S架構(gòu),服務(wù)器端采用Openfire服務(wù)器,管理服務(wù)器端與客戶端之間的連接和會話;客戶端采用MVC模式構(gòu)建。[4]

    (二)系統(tǒng)數(shù)據(jù)庫設(shè)計

    在客戶端,使用Android內(nèi)置的SQLite作為本地數(shù)據(jù)庫,存儲系統(tǒng)信息和本地用戶信息,包括好友聊天記錄表、群聊天記錄表、個人信息表等。在服務(wù)器端,使用MySQL,存儲用戶信息、用戶分組和用戶關(guān)系等。

    (三)系統(tǒng)客戶端設(shè)計

    客戶端工作時,向服務(wù)器端發(fā)送請求,通過XMPP協(xié)議獲取服務(wù)。在通信時,通過GPRS網(wǎng)絡(luò),建立雙方的連接。[5]

    (1)注冊模塊:實現(xiàn)新用戶的注冊。

    (2)登錄模塊:用戶輸入用戶名和密碼,正確則進入系統(tǒng);錯誤則提示用戶名不存在或密碼錯誤。

    (3)會話操作模塊:進行文字聊天、圖片聊天、語音聊天、視頻聊天等,還可以傳送文件。

    (4)資訊管理模塊:添加、刪除、查詢各類校園資訊。

    (5)好友管理模塊:添加、刪除、查詢好友。

    三、系統(tǒng)主要模塊實現(xiàn)

    (一)會話操作模塊

    會話操作,可以是單聊,也可以是群聊。

    (1)文本的發(fā)送。

    ①獲取會話對象:

    EMConversation conversation=EMChatManager.getInstance().getConversation(username);

    ②創(chuàng)建文本:

    EMMessage message=EMMessage.

    createSendMessage(EMMessage.Type.TXT);

    如果是群聊,應(yīng)做設(shè)置“message.setChatType(ChatType.GroupChat);”

    ③添加文本消息:

    TextMessageBody txtBody=new TextMessage-Body(content);

    message.addBody(txtBody);

    ④設(shè)置接收消息的用戶,把消息加到目標會話對象,發(fā)送消息:

    message.setReceipt(username);

    conversation.addMessage(message);

    EMChatManager.getInstance ().sendMessage(message,new EMCallBack(){});

    (2)圖片的發(fā)送。

    和文本消息不同的是,在創(chuàng)建圖片時,使用“EMMessage message=EMMessage.createSendMessage(EMMessage.Type.IMAGE);”而在添加圖片時,使用“ImageMessageBody body=new ImageMessage-Body(new File(filePath));”。[6]

    (3)語音的發(fā)送。

    語音和文本、圖片相似,但創(chuàng)建語音時,參數(shù)使用“EMMessage.Type.VOICE”,添加語音時,使用“VoiceMessageBody”類。[7]

    (4)接收消息。

    ①獲取消息:

    先注冊廣播,使用“NewMessageBroadcastReceiver msgReceiver=new NewMessageBroadcastReceiver();”,再編寫 BroadcastReceiver的相應(yīng)方法onReceive():

    public void onReceive (Context context,Intent intent){

    String msgId=intent.getExtras(“msgid”).toString();

    String msgFrom=intent.getExtras(“from”).toString();

    int msgType=intent.getIntExtra(“type”,0);

    Log.d(“main”,“new message id:”+msgId+“from:”+msgFrom+“type:”+msgType);

    EMMessage message=EMChatManager.getInstance().getMessage(msgId);}

    ②獲取聊天記錄:

    EMConversation conversation=EMChatManager.getInstance().getConversation(username|groupid);

    List〈EMMessage〉messages=conversation.getAllMessages()

    (二)資訊管理模塊

    通過資訊模塊,師生可以查看資訊,管理員可以發(fā)送、刪除、修改資訊。

    (1)申請資訊閱讀權(quán)限。

    EMGroupManager.getInstance().joinGroup

    (“easemob-demo#chatdemoui_1431950354833@con ference.easemob.com”);

    (2)獲取資訊。

    EMGroup group=EMGroupManager.getInstance().getGroup(groupId);//本地資訊

    EMGroup group=EMGroupManager.getInstance().getGroup(groupId);//服務(wù)器資訊

    (三)好友管理模塊

    (1)獲取好友列表。

    環(huán)信支持好友體系,控制發(fā)消息的權(quán)限。[8]需要事先設(shè)置:EMChatManager.getInstance().getChatOptions().setUseRoster(true);

    (2)添加好友。

    EMContactManager.getInstance ().addContact(toAddUsername,reason);

    (3)刪除好友。

    EMContactManager.getInstance ().deleteContact(username);

    (4)同意好友請求。

    EMChatManager.getInstance ().acceptInvitation(username);

    (5)拒絕好友請求。

    EMChatManager.getInstance ().refuseInvitation(username);

    四、系統(tǒng)測試和總結(jié)

    本系統(tǒng)進行了測試,會話、校園資訊運行界面如圖2~3所示。

    圖2 會話界面

    圖3 校園資訊界面

    系統(tǒng)適用于大中專院校學(xué)生,具有校園特色,師生、同學(xué)之間可以無障礙地交流、溝通和互動,傳輸各種圖片、文本和文件,分享校園資訊。操作簡單、功能實用,但在界面美觀和功能拓展上還有待進一步提升。

    [1]郭金尚.Android經(jīng)典項目案例開發(fā)實戰(zhàn)寶典[M].北京:清華大學(xué)出版社,2013.

    [2]施懿民.Android應(yīng)用測試與調(diào)試實戰(zhàn)[M].北京:機械工業(yè)出版社,2013.

    [3]羅雷,韓建文,汪杰.Android系統(tǒng)應(yīng)用開發(fā)實戰(zhàn)詳解[M].北京:人民郵電出版社,2014.

    [4]孟賀.基于Android的即時通訊系統(tǒng)的設(shè)計與實現(xiàn)[D].濟南:山東大學(xué),2014.

    [5]肖莉.基于P2P校園即時通信系統(tǒng)設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2012.

    [6]秦建,鄒凱,邰龍東,朱東亞,林春喜.基于Android的校園移動信息平臺設(shè)計與實現(xiàn)[J].電腦編程技巧與維護,2015(9):54-55.

    [7]張夢琦.基于Android平臺的移動智能點餐系統(tǒng)客戶端設(shè)計[J].軟件導(dǎo)刊,2014(5):96-97.

    [8]丁永明,紀方明.基于Android平臺移動學(xué)習(xí)軟件的研究與實現(xiàn)[J].數(shù)字通信世界,2011(1):66-68.

    猜你喜歡
    服務(wù)器端資訊好友
    資訊Information①
    屬羊
    淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
    成功(2018年10期)2018-03-26 02:56:14
    刪除好友
    雜文月刊(2017年20期)2017-11-13 02:25:06
    在Windows中安裝OpenVPN
    網(wǎng)頁防篡改中分布式文件同步復(fù)制系統(tǒng)
    資訊
    資訊
    中外會展(2009年6期)2009-08-07 01:51:12
    基于Struts的Web應(yīng)用系統(tǒng)數(shù)據(jù)驗證
    資訊
    全國新書目(2009年1期)2009-04-13 06:58:24
    黄冈市| 庄河市| 揭阳市| 望奎县| 佛教| 永康市| 上栗县| 舒兰市| 黎川县| 嘉兴市| 弥渡县| 淄博市| 贵州省| 江达县| 鹤庆县| 泾川县| 黄浦区| 永宁县| 额尔古纳市| 黄浦区| 华宁县| 三门峡市| SHOW| 惠来县| 调兵山市| 民和| 陆丰市| 普格县| 志丹县| 登封市| 治多县| 榆树市| 星座| 什邡市| 红桥区| 吉首市| 丽水市| 霍邱县| 桦川县| 自治县| 林甸县|