移動軟件開發(fā)課程設(shè)計(jì)_第1頁
移動軟件開發(fā)課程設(shè)計(jì)_第2頁
移動軟件開發(fā)課程設(shè)計(jì)_第3頁
移動軟件開發(fā)課程設(shè)計(jì)_第4頁
移動軟件開發(fā)課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

移動軟件開發(fā)課程設(shè)計(jì)(共14頁)--本頁僅作為文檔封面,使用時請直接刪除即可----內(nèi)頁可以根據(jù)需求調(diào)整合適字體及大小--丈拿丈理厚院YangtzeUniversityCollegeofArtsandScience學(xué)生課程設(shè)計(jì)報告系部:機(jī)電與信息工程系專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級:計(jì)科5131姓名:來超學(xué)號:6課程名稱:移動平臺數(shù)據(jù)庫綜合開發(fā)指導(dǎo)教師:王騰實(shí)習(xí)時間:2016年6月20日至2016年6月27日android即時通訊軟件摘要在網(wǎng)絡(luò)越來越發(fā)達(dá)的今天,人們對網(wǎng)絡(luò)的依賴越來越多,越來越離不開網(wǎng)絡(luò),由此而產(chǎn)生的聊天工具越來越多,例如,國外的ICQ、國內(nèi)騰訊公司開發(fā)的OICQ。基于Java網(wǎng)絡(luò)編程的強(qiáng)大功能,本次課程設(shè)計(jì)使用Java編寫一個運(yùn)行在版本以上的即時通訊軟件。一般來說,聊天工具大多數(shù)由客戶端程序和服務(wù)器程序外加服務(wù)器端用于存放客戶數(shù)據(jù)的數(shù)據(jù)庫組成。Java提供的多線程功能用多線程可完成一點(diǎn)對多點(diǎn)的聊天,數(shù)據(jù)庫管理系統(tǒng)用SQLlite來訪問數(shù)據(jù)庫的。本系統(tǒng)建立在JAVA平臺上,系統(tǒng)的設(shè)計(jì)使用了面向?qū)ο蠹夹g(shù)和面向?qū)ο蟮脑O(shè)計(jì)原則。系統(tǒng)采用C/S結(jié)構(gòu),客戶端與客戶端以及客戶端與服務(wù)器端之間傳送消息。使用JAVA語言編寫,開發(fā)工具采用AS。在智能手機(jī)中,Android平臺約占75%市場份額。安卓系統(tǒng)的廣泛應(yīng)用,使得Android手機(jī)應(yīng)用程序的數(shù)量快速增長,即時通訊APP的應(yīng)用范圍也更加廣泛。關(guān)鍵字:多線程;客戶機(jī)/服務(wù)器;JAVA;AS;Android手機(jī)應(yīng)用開發(fā)背景Android的英文翻譯是指“機(jī)器人”,而Android這個詞語作為操作系統(tǒng)的名稱出現(xiàn),是谷歌在2007年發(fā)布了應(yīng)用在手機(jī)平臺上的操作系統(tǒng),自此Android作為手機(jī)操作系統(tǒng)出現(xiàn)在人們的視野中。同時由于Android的操作系統(tǒng)的開源性和可開發(fā)性使得以Android操作系統(tǒng)的應(yīng)用軟件日益增多。Android操作系統(tǒng)被越來越多的人接受和使用。目前的Android聊天軟件基本分為2種架構(gòu)形式:(1)C/S架構(gòu):采取客戶端/服務(wù)器對等傳輸?shù)男问?,用戶方主要使用客戶端軟件,使用前用戶通過網(wǎng)上下載客戶端軟件,再安裝到手機(jī)上進(jìn)行使用,市場上流行的C/S架構(gòu)的聊天軟件有以下幾種:QQ、微信、微博、YY、MSN等;(2)B/S架構(gòu):瀏覽器/服務(wù)端對等傳輸?shù)男问?,這種形式下的即時通信工具,一般都是依賴于互聯(lián)網(wǎng),作為用戶無需下載客戶端,用戶一般在瀏覽往網(wǎng)上網(wǎng)頁時瀏覽器會提供一個類似于客戶端的界面使用戶可以發(fā)送消息,此架構(gòu)一般應(yīng)用在數(shù)據(jù)流比較大的電商網(wǎng)站,如WebQQ等。軟件需求分析軟件開發(fā)的工具和環(huán)境開發(fā)環(huán)境:AS開發(fā)語言:JAVA模擬機(jī)平臺:AVD手機(jī)運(yùn)行平臺:以及上版本開發(fā)軟件所需插件:JDK安裝JDK和SDK先從網(wǎng)站上找到(JREaloneisnotsufficient)版本并下載,下載完畢后將它安裝在PC機(jī)上并在PC機(jī)上設(shè)置好有關(guān)的環(huán)境變量,將JAVA_HOME,path等幾個設(shè)置為適用于Java開發(fā)的環(huán)境變量,最后將其導(dǎo)入你的JDK文件路徑SDK安裝:直接從相關(guān)網(wǎng)站下載好SDK壓縮包,然后打開Eclipse軟件,在其中找到對應(yīng)路徑將其導(dǎo)入就可以。3、原理與技術(shù)要點(diǎn)分析登錄功能概要點(diǎn)擊button按鈕服務(wù)器驗(yàn)證登錄賬號跳轉(zhuǎn)進(jìn)入好友列表界面登錄流程圖:登錄功能流程圖聊天功能概要用戶點(diǎn)擊聯(lián)系人列表中的一個好友時,進(jìn)入聊天界面在輸入框輸入信息,點(diǎn)擊發(fā)送按鈕,發(fā)送信息好友回復(fù)消息是在該聊天頁面顯示當(dāng)有好友發(fā)消息過來時,系統(tǒng)會通過Toast提示用戶聊天模塊總體流程圖:用戶A用戶日成功登錄返回主畀成功登錄返回主界點(diǎn)擊好友進(jìn)入聊天界面點(diǎn)擊好友進(jìn)A.聊天畀面用戶聊天模塊總體流程圖技術(shù)要點(diǎn)分析概念結(jié)構(gòu)設(shè)計(jì)L3E-R圖邏輯結(jié)構(gòu)設(shè)計(jì)1)用戶信息(用戶賬號,用戶密碼,昵稱,頭像)publicclassQQMessageextendsProtocal{L3E-R圖publicStringtype=;egisterContentObserver(地址:信號,子路徑是否有效,指定一個觀察者);().registerContentObserver(uri,true,observer);app=(ImApp)getApplication();Intentintent=();Bundlebundle=();account=("account");toNick=("nick");("與["+toNick+"]聊天中");querySetofChatWithOne(account+"",list);adapter=newChatMessageAdapter(this,list);(adapter);if()-1>0){()-1);}}oString().trim();if("".equals(messageBody)){(getBaseContext(),"發(fā)送消息不為空",.show();return;}("");finalQQMessagemsg=newQQMessage();=?;=messageBody;=();=account;="人族";endMessage(msg);}catch(Exceptione){();}}});}ueryRaw("whereSESSION_ID=orderbySENDTIMEASC",session_id);foritem:dbmsgList){QQMessagemsg=newQQMessage();;=();=();=();=();(msg);}}@OverrideprotectedvoidonDestroy(){();getContentResolver().unregisterContentObserver(observer);}}SplashActivi類ypublicclassSplashActivityextendsActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){(savedInstanceState);setContentView(newRunnable(){@Overridepublicvoidrun(){try{(3000);ddOnMessageReceiveListener(listener);emoveOnMessageReceiveListener(listener);}}LoginActivity類publicclassLoginActivityextendsActivity{EditTextaccount,psw;Stringusername,password;QQCommunicationCorecommunicaCore;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){(savedInstanceState);setContentViewaccount=(EditText)findViewByIdpsw=(EditText)findViewByIdoString().trim()));how();how();}}});}};oString().trim();password=().toString();(newRunnable(){@Overridepublicvoidrun(){try{QQMessagemsg=newQQMessage();=?;=username+"#"+password;(msg);}catch(Exceptione){();}}});}@OverrideprotectedvoidonDestroy(){();(listener);}}<xmlversion=""encoding="utf-8"><LinearLayoutxmlns:android=""android:layout_width="match_parent"android:layout_height="match_parentandroid:orientation="vertical"><TextViewandroid:textSize="30sp"android:text="聯(lián)系人"android:layout_width="match_parent"android:background="#0099ff"android:textColor="#ffffff"android:gravity="center"android:layout_height="50dp"/><ListViewandroid:layout_width="match_parent"android:layout_height="0dp"android:cacheColorHint="@android:color/transparent"android:divider="#0099ff"android:dividerHeight="1dp"android:id="@+id/listview_contact"android:layout_weight="1"></ListView></LinearLayout><xmlversion=""encoding="utf-8"><LinearLayoutxmlns:android=""android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><!--頭像--><ImageViewandroid:id="@+id/head"android:layout_width="40dp"android:layout_height="40dp"android:layout_gravity="center_vertical"android:layout_marginLeft="20dp"android:src="@drawable/ic_launcher"/><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"><!--昵稱--><TextViewandroid:id="@+id/nick"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="來超"android:textSize="20sp"android:textColor="#ff0000"android:gravity="left|center_vertical"/><!--狀態(tài)--><TextViewandroid:id="@+id/desc"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="[在線]"android:textSize="15sp"android:textColor="#000000"android:gravity="left|center_vertical"/></LinearLayout></LinearLayout><xmlversion=""encoding="utf-8"><RelativeLayoutxmlns:android=""android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/splash_bg"><ImageViewandroid:layout_centerInParent="true"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/conversation_bg_logo"/></RelativeLayout>5、測試分析客戶端具體功能實(shí)現(xiàn)登錄功能:建立與服務(wù)器的連接并登錄,能顯示登錄成功信息。界面顯示:將好友顯示在聯(lián)系人列表中,并可以通過點(diǎn)擊進(jìn)入會話界面,進(jìn)行與好友的聊天聊天功能:當(dāng)好友發(fā)送消息時會顯示在會話界面。用戶也同時可以在輸入框中輸入相應(yīng)信息點(diǎn)擊發(fā)送與好友聊天。信息提示:Toast提示到來信息的好友賬號。用戶在客戶端點(diǎn)擊應(yīng)用程序圖標(biāo)后啟動應(yīng)用如下圖:圖5-1客戶端啟動界面進(jìn)入聯(lián)系人界面后,點(diǎn)擊好友賬號,進(jìn)入聊天功能。當(dāng)好友發(fā)送消息時,會顯示在會話界面。用戶也同時可以在輸入框中輸入相應(yīng)信息點(diǎn)擊發(fā)送與好友聊天。聊天界面如下圖:圖5-2與好友聊天界面心得體會本課程設(shè)計(jì)緊緊圍繞了基于Android平臺的移動聊天程序進(jìn)行研究說明,針對基于Android平臺的應(yīng)用程序開發(fā)已經(jīng)及時通訊進(jìn)行了深入的探討。移動聊天程序是當(dāng)今社會實(shí)現(xiàn)人機(jī)交互的重要技術(shù)支撐,通過分析相關(guān)移動聊天程序的各種功能需求,并用面向?qū)ο笳Z言Java語言實(shí)現(xiàn)并封裝好這些功能。然后又通過需求分析設(shè)計(jì)了移動聊天程序所需的各個功能模

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論