版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、目錄緒論2.1 .需求分析2.1.1 軟件功能需求分析 3.1.2 平安需求分析 3.2 .總體設(shè)計(jì)4.2.1 軟件結(jié)構(gòu)圖4.2.2 功能描述 注冊功能概要 登錄功能概要 聊天功能概要6.2.3 平安設(shè)計(jì)7.3 .數(shù)據(jù)庫設(shè)計(jì) 7.3.1 概念結(jié)構(gòu)設(shè)計(jì) 7.3.2 邏輯結(jié)構(gòu)設(shè)計(jì)8.3.3 物理結(jié)構(gòu)設(shè)計(jì)8.4 .詳細(xì)設(shè)計(jì)8.4.1 用戶聊天模塊總體流程圖 9.4.2 效勞端模塊9.4.3 客戶端模塊1.0五編碼1.5六.結(jié)論1.7學(xué)習(xí)體會(huì)1.8致謝18參考文獻(xiàn)1.8緒論隨著現(xiàn)代技術(shù)的不斷輸入和信息化的廣泛普及,移動(dòng)網(wǎng)絡(luò)作為一種新興事 物,在近些年得到了前所
2、未有的普及和深入,移動(dòng)網(wǎng)絡(luò)上的各種應(yīng)用層出不窮, 給各個(gè)階層、各個(gè)年齡段的用戶提供了不同的個(gè)性化的效勞. 而現(xiàn)代中小型企業(yè) 的領(lǐng)導(dǎo)熟悉到進(jìn)一步提升企業(yè)信息化的必要性.為使企業(yè)能在瞬息萬變的信息時(shí) 代生存下去,適應(yīng)劇烈的市場競爭,現(xiàn)代企業(yè)要求增強(qiáng)員工之間的交流和通信能 力,尤其是領(lǐng)導(dǎo)和員工之間的共同水平,實(shí)時(shí)的交流系統(tǒng)就是在這種條件下誕生 的.在這個(gè)信息化時(shí)代, 已成為繼固話之后最為通俗的交流工具,“聊天 成了生活的必需品,這就有了系統(tǒng)下人與人之間的多樣會(huì)話方式一QQ聊天.傳統(tǒng)會(huì)話聊天或許是面對面閑話家常或許是通過打 進(jìn)行交流,但都存在各種不便及弊端.而 QQ在 系統(tǒng)下,占用 相對很小的空間,系
3、統(tǒng)的記錄 了 QQ好友的信息,不僅突破了各種條件的束縛,減輕了機(jī)主的負(fù)擔(dān),更方便了 使用者的通訊交流.綜上所述,本課題主要研究基于Android的移動(dòng)聊天系統(tǒng),以更好的用戶體 驗(yàn)性為目的開發(fā)出界面簡潔,用戶易操作的移動(dòng)即時(shí)通信聊天工具. 該聊天工具 的主要功能:用戶注冊,登錄,好友一對一聊天,添加新好友,修改個(gè)人信息等. 在該即時(shí)通信工具中利用 Bmo以現(xiàn)Android端與Bmot®務(wù)端的數(shù)據(jù)操作.Bmob 對數(shù)據(jù)的增刪改查找做了很好地封裝,以及其批量的處理.客戶端之間通過效勞 器對數(shù)據(jù)的轉(zhuǎn)發(fā)實(shí)現(xiàn)相互通信.一.需求分析隨著經(jīng)濟(jì)全球化的推進(jìn)以及企業(yè)劇烈的競爭, 改善企業(yè)內(nèi)部及整個(gè)供應(yīng)
4、鏈各環(huán)節(jié)的治理、調(diào)度資源配置,迅速適應(yīng)客戶的新需求和市場新機(jī)遇, 是 企業(yè)贏得競爭勝利的決定性因素.需求分析是軟件分析中的一個(gè)重要步驟. 它的根本任務(wù)是要準(zhǔn)確地分析 出系統(tǒng)應(yīng)用者的需要,以及系統(tǒng)目標(biāo)必須具備哪些功能.這些功能必須準(zhǔn)確地,完整地表達(dá)出用戶的要求1.1 軟件功能需求分析通過對用戶需求的市場調(diào)查的分析,確定反響用戶需求的系統(tǒng)邏輯模型,把 整個(gè)設(shè)方案分成3個(gè)單元,分別是程序啟動(dòng)、用戶界面、后臺(tái)效勞.使用Android 和java編程語言及網(wǎng)絡(luò)數(shù)據(jù)庫相結(jié)合,編寫一個(gè)基于 android端的移動(dòng)聊天系 統(tǒng)軟件.這個(gè)系統(tǒng)提供多個(gè)用戶及時(shí)并發(fā)通信的平臺(tái). 未注冊用戶可以注冊成系 統(tǒng)成員,已注冊
5、用戶可以通過登錄進(jìn)入聊天系統(tǒng).在系統(tǒng)中用戶可以選擇與某一 個(gè)用戶聊天,用戶可以查找好友或附近的人,可以添加好友或把好友加黑名單等.用戶注冊:用戶在注冊界面填入相關(guān)正確信息后,后臺(tái)對其進(jìn)行處理.用戶登錄:用戶輸入自己的 QQ帳號及密碼后,點(diǎn)擊登錄,后臺(tái)對其進(jìn)行驗(yàn) 證,以及好友的查找,登錄成功后返回該用戶的會(huì)話界面.聊天:用戶選定聊天對象后,對其發(fā)送信息,信息將由后臺(tái)轉(zhuǎn)發(fā)給選定的聊天對象,進(jìn)行,提示,顯示.后臺(tái)運(yùn)行 用戶可以退出主界面,將聊天軟件在后臺(tái)運(yùn)行,當(dāng)有消息傳入時(shí), 消息會(huì)用播送的形勢顯示.后臺(tái)治理:對用戶的治理.1.2 平安需求分析由于Android系統(tǒng)自身具備的開放源碼的特征,它的平安
6、性能成為信息平安 領(lǐng)域研究的一個(gè)重要課題.Android的平安性能主要表達(dá)在兩個(gè)方面:Android 的系統(tǒng)平安和數(shù)據(jù)平安.Android系統(tǒng)平安是指智能終端本身的平安,是對操作 系統(tǒng)的保護(hù),預(yù)防未授權(quán)的訪問及對授權(quán)用戶效勞的拒絕或?qū)ξ词跈?quán)用戶效勞的 允許,包括行為檢測、記錄等舉措.Android的數(shù)據(jù)平安指保證存儲(chǔ)數(shù)據(jù)完整性、 合法性二個(gè)方面,要求做到系統(tǒng)正確地傳輸數(shù)據(jù),授權(quán)程序順利地讀取數(shù)據(jù).Android平安中的一個(gè)重要的設(shè)計(jì)點(diǎn)是在默認(rèn)的情況下應(yīng)用沒有權(quán)限執(zhí)行 對其他應(yīng)用程序、操作系統(tǒng)或用戶的有害操作,這些操作包括讀取用戶的隱私數(shù) 據(jù),訪問網(wǎng)絡(luò),保持設(shè)備活動(dòng)等等,應(yīng)用程序的進(jìn)程是一個(gè)平安
7、的黑盒子,在沒有給它權(quán)限的時(shí)候它不能干擾其他應(yīng)用程序.總體設(shè)計(jì)系統(tǒng)采用流行的C/S結(jié)構(gòu)模式.系統(tǒng)的分析設(shè)計(jì)采用面向?qū)ο蟮募夹g(shù),應(yīng)用 Visio等工具進(jìn)行輔助設(shè)計(jì).2.1 軟件結(jié)構(gòu)圖注冊會(huì)話圖2.1軟件結(jié)構(gòu)圖附 近 的 人r1消 息 提 醒個(gè) 人 資 料陌 生 人添加好友與好友2.2 功能描述進(jìn)入該軟件,進(jìn)入登錄界面,如果沒有賬號,那么可以點(diǎn)擊立即注冊,進(jìn)入注 冊界面進(jìn)行注冊,登錄進(jìn)入主界面,顯示會(huì)話、聯(lián)系人、設(shè)置,通過選擇相應(yīng)菜 單進(jìn)行相關(guān)操作.2.2.1 注冊功能概要輸入注冊需要的信息,且保證正確參與者:用戶執(zhí)行者:用戶前提條件:開啟程序,進(jìn)入注冊界面用戶注冊流程圖:開始> 注冊圖2.
8、2.1用戶注冊流程圖2.2.2 登錄功能概要判斷輸入信息格式效勞器驗(yàn)證輸入信息跳轉(zhuǎn)進(jìn)入好友列表界面 登錄流程圖:失敗圖2.2.2登錄功能流程圖2.2.3 聊天功能概要用戶點(diǎn)擊聯(lián)系人列表中的一個(gè)好友時(shí),進(jìn)入聊天界面在輸入框輸入信息,點(diǎn)擊發(fā)送按鈕,發(fā)送信息好友回復(fù)消息是在該聊天頁面顯示當(dāng)有好友發(fā)消息過來時(shí),系統(tǒng)會(huì)通過 Toast提示當(dāng)QQ在后臺(tái)運(yùn)行時(shí)有好友發(fā)送消息過來時(shí),系統(tǒng)會(huì)通過播送的形勢告訴用 戶用戶聊天后退出聊天界面后,聊天信息保存 用戶聊天模塊總體流程圖:圖2.2.3用戶聊天模塊總體流程圖2.3 平安設(shè)計(jì)通過為不同的用戶設(shè)計(jì)不同的用戶視圖, 和為每一個(gè)登錄的用戶設(shè)置密碼來 實(shí)現(xiàn)數(shù)據(jù)庫的平安
9、設(shè)計(jì)要求.三.數(shù)據(jù)庫設(shè)計(jì)3.1 概念結(jié)構(gòu)設(shè)計(jì)昵稱性別消息內(nèi)容密他賬號消息編號會(huì)話聊天好友頭像發(fā)送/接收 消息時(shí)間.圖3.1總體E-R圖3.2 邏輯結(jié)構(gòu)設(shè)計(jì)1用戶信息用戶編號,用戶賬號,用戶密碼,性別,昵稱,頭像2會(huì)話信息消息編號,好友賬號,好友頭像,發(fā)送/接收消息時(shí)間,消息內(nèi)容3.3 物理結(jié)構(gòu)設(shè)計(jì)表3-1用戶信息-Users明細(xì)字段主鍵外鍵唯一可為空用戶編號objectldString是P否UsernameString是是是否密碼PasswordString否否性別sexbool是昵稱nickstring頭像表3-2會(huì)話信息-Bmobmsg明細(xì)字段主鍵外鍵唯一可為空消息編Pmessagelds
10、tring是否好友賬號UsernamestringP是是是否好友頭像否是發(fā)送/接收消 息時(shí)間S/Rtimedata是是消息內(nèi)容Contentstring否是四.詳細(xì)設(shè)計(jì)4.1 用戶聊天模塊總體流程圖圖4.1.1用戶聊天模塊總體流程圖4.2 效勞端模塊在該即時(shí)通信工具中利用 Bmo以現(xiàn)Android端與BmobK務(wù)端的數(shù)據(jù)操作 Bmob對數(shù)據(jù)的增刪改查做了很好地封裝,以及其批量的處理.客戶端之間通過 效勞器對數(shù)據(jù)的轉(zhuǎn)發(fā)實(shí)現(xiàn)相互通信.效勞端具體功能:注冊信息:自動(dòng)分配10位對象標(biāo)識(shí),并保存該用戶信息,同時(shí)將信息返回 給客戶端.登錄信息:檢查登錄信息是否正確,并向客戶端返回登錄信息.如信息正確, 那
11、么用戶可以成功登錄,假設(shè)登錄信息不正確,那么會(huì)提示是哪種登錄錯(cuò)誤聊天信息:轉(zhuǎn)發(fā)給消息指定的用戶.用戶間的聯(lián)系:將各用戶間的關(guān)系保存在效勞器端,可以在效勞器端看出所 以QQ用戶間的關(guān)系.4.3 客戶端模塊客戶端具體功能登錄功能:建立與效勞器的連接并登錄,能顯示登錄錯(cuò)誤信息.界面顯示:將好友顯示在聯(lián)系人列表中,并可以通過點(diǎn)擊進(jìn)入會(huì)話界面,進(jìn)行與好友的聊天聊天功能:當(dāng)好友發(fā)送消息時(shí)顯示在會(huì)話界面.用戶也同時(shí)可以在輸入框中輸入相應(yīng)信息點(diǎn)擊發(fā)送與好友聊天.聊天紀(jì)錄:能保存聊天紀(jì)錄,并能觀察聊天紀(jì)錄.信息提示:系統(tǒng)彈出信息提示到來信息,并有聲音提示.發(fā)送端提示聊天的對方.后臺(tái)運(yùn)行:當(dāng)用戶將客戶端進(jìn)行后臺(tái)運(yùn)
12、行時(shí),如果有消息傳輸過來,系統(tǒng)會(huì)直接通過播送的形勢顯示消息的來源以及內(nèi)容.用戶在客戶端點(diǎn)擊應(yīng)用程序圖標(biāo)后啟動(dòng)應(yīng)用如以下圖:圖4.3.1 客戶端啟動(dòng)界面注冊登錄以后就進(jìn)入主界面,界面下方有會(huì)話、聯(lián)系人、設(shè)置選項(xiàng),通過選 擇相應(yīng)菜單進(jìn)入相應(yīng)功能界面,聯(lián)系人界面如以下圖所示:5554:adt4* 6:10聯(lián)系人搜索新朋友a(bǔ)附近的人aaIIi圖4.3.2 聯(lián)系人界面通過點(diǎn)擊聯(lián)系人右面的加號添加好友并進(jìn)入查找好友界面,前提是效勞器端 存在此用戶才能搜索成功,例如搜索 456用戶,如以下圖所示:5554:adt4圖4.3.3 查找好友界面點(diǎn)擊添加按鈕,那么ymmffl戶向456用戶發(fā)送好友添加申請,如果4
13、56用戶在 登錄狀態(tài)那么會(huì)收到此申請,如果同意ymmW請求添加好友申請,那么可以單擊同意 按鈕,如以下圖:5554:adt4新朋友ymm圖4.3.4好友添加請求界面單擊同意按鈕,那么同意ymm勺好友添加請求,否那么無視此條好友添加申請消息:圖4.3.5同意好友請求界面同意同意ymmW申請后,那么ymnffl戶就是自己的好友了,可以與 ymm8行對話與ymm對話*蓑/二:一、03 *、1:三彳0U L8J O聲A已兄演Hellojam.圖4.3.6 與ymnWP天界面退出456賬號,登錄ymm«號查看,此時(shí)可以看到456用戶給自己發(fā)送的消息提 醒條數(shù)并可查看相關(guān)聊天信息5554:adt
14、4與456對話我通過了你的好友驗(yàn)證請 求,我們可以開始聊天了!Hello, I am圖4.3.7 456用戶收到回話提醒及查看消息五.編碼ChatActivity.java用戶聊天代碼/* 聊天界面*/public class ChatActivity extends ActivityBase implements OnClickListener, IXListViewListener, EventListener private Button btn chat emo, btn chat send, btn chat add,btn chat keyboard , btn speak, bt
15、n_chat_voice;XListView mListView ;EmoticonsEditText edit_user_comment ;String targetId =""BmobChatUser targetUser;private static int MsgPagerNum ;private LinearLayout layout_more , layout_emo , layout_add;private ViewPager pager_emo;private TextView tv_picture , tv_camera, tv_location ;/組裝
16、聊天對象targetUser = (BmobChatUser) getIntent().getSerializableExtra( "user"); targetId = targetUser.getObjectId();/BmobLog.i("聊天對象:"+ targetUser.getUsername() + ",targetId ="/+ targetId);注冊播送接收器initNewMessageBroadCast();initView();/* *加載消息歷史,從數(shù)據(jù)庫中讀出*/private List<BmobMs
17、g> initMsgData() List<BmobMsg> list = BmobDB. create(this).queryMessages( targetId ,MsgPagerNum); return list;/*界面刷新*/private void initOrRefresh() if (mAdapter != null) if (MyMessageReceiver. mNewNum != 0) /用于更新當(dāng)在聊天界面鎖屏期間來了 消息,這時(shí)再回到聊天頁面的時(shí)候需要顯示新來的消息int news= MyMessageReceiver. mNewNum;/有可能鎖屏
18、期間,來了N條消息,因此需要倒敘顯示在界面上int size = initMsgData().size();for(int i=(news-1); i>=0; i-)mAdapter .add(initMsgData().get( size-(i+1); / 添加最后一條消息到界面 顯示mListView .setSelection( mAdapter .getCount() - 1); else mAdapter .notifyDataSetChanged(); else mAdapter = new MessageChatAdapter( this, initMsgData();mL
19、istView .setAdapter( mAdapter);public void onSuccess() ShowLog("發(fā)送成功");(BmobMsg) values) .setStatus(BmobConfig. STATUS_SEND_SUCCESS );parentV .findViewById(R.id. progress_loac).setVisibility(View. INVISIBLE );parentV .findViewById(R.id. iv_fail_resend).setVisibility(View. INVISIBLE );paren
20、tV .findViewById(R.id. tv_send_status).setVisibility(View. VISIBLE );(TextView) parentV.findViewById(R.id.tv_send_status) .setText("已發(fā)送");/*新消息播送接收者*/private class NewBroadcastReceiver extends BroadcastReceiver Overridepublic void onReceive(Context context, Intent intent) String from = int
21、ent .getStringExtra( "fromId");String msgId = intent.getStringExtra( "msgId");String msgTime = intent .getStringExtra( "msgTime");/收到這個(gè)播送的時(shí)候,message已經(jīng)在消息表中,可直接獲取BmobMsg msg = BmobChatManger. getInstance (ChatActivity. this).getMessage( msgId, msgTime);if (! from .equals
22、(targetId )/如果不是當(dāng)前正在聊天對象的消息,不處理 return;添加到當(dāng)前頁面mAdapter .add(msg);/定位mListView .setSelection( mAdapter .getCount() - 1);/取消當(dāng)前聊天對象的未讀標(biāo)示BmobDB. create(ChatActivity. this).resetUnread( targetId);/記得把播送給終結(jié)掉abortBroadcast();六.結(jié)論經(jīng)過一個(gè)學(xué)期的學(xué)習(xí),實(shí)踐和教學(xué)老師的悉心指導(dǎo),該仿QQ社交軟件系統(tǒng)經(jīng)過測試,到達(dá)了預(yù)期的目標(biāo),完成了一些根本的功能.本系統(tǒng)功能雖然較為簡 單,但還是具備一定的實(shí)用性和靈活性以及包括很多Android的專業(yè)知識(shí),并可以在使用的過程中不斷的修改完善.移動(dòng)聊天軟件雖然原理不難,但依然有很多的問題需要我們一一解決,例如:如何提升用戶體驗(yàn)性,現(xiàn)在市場上的聊天軟件已經(jīng)很多,功能也相對完善,技
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年化工貸款協(xié)議
- 2025年美容美發(fā)服務(wù)銷售擔(dān)保合同書規(guī)范文本2篇
- 二零二五年度租賃住宅裝修合同標(biāo)準(zhǔn)范本2篇
- 二零二五版辦公場所租賃合同附帶增值服務(wù)協(xié)議3篇
- 二零二五版企業(yè)股權(quán)托管與增值服務(wù)合同2篇
- 重慶市二零二五年汽車租賃合同范本6篇
- 2025裝工程總承包合同
- 二零二五版官方銑刨料生產(chǎn)廢料回收利用合同3篇
- 新技術(shù)環(huán)境下的安全教育培訓(xùn)課程設(shè)計(jì)研究
- 二零二五年度環(huán)保產(chǎn)業(yè)個(gè)人合伙投資合同樣本3篇
- 萬達(dá)廣場裝修手冊
- 云南省律師服務(wù)收費(fèi)管理辦法及標(biāo)準(zhǔn)
- 華為C語言通用編程規(guī)范
- 搞笑詩朗誦《生活》4人
- 團(tuán)建活動(dòng)滿意度調(diào)查問卷
- 數(shù)獨(dú)題目難度系數(shù)3級共100題后附參考答案
- 齊魯醫(yī)學(xué)數(shù)字疼痛評分表
- GB∕T 7588.1-2020 電梯制造與安裝安全規(guī)范 第1部分:乘客電梯和載貨電梯
- 植物種植施工方案與技術(shù)措施
- 空調(diào)工程竣工驗(yàn)收單(共1頁)
- STM32固件庫使用手冊(中文版)
評論
0/150
提交評論