基于Android的會(huì)議白板_第1頁(yè)
基于Android的會(huì)議白板_第2頁(yè)
基于Android的會(huì)議白板_第3頁(yè)
基于Android的會(huì)議白板_第4頁(yè)
基于Android的會(huì)議白板_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于 Android 的會(huì)議白板【摘要】 當(dāng)今社會(huì)的生活節(jié)奏越來(lái)越快,人們對(duì)于手機(jī)的應(yīng)用也越來(lái)越頻繁,一款好的應(yīng)用程序可以為人們帶來(lái)無(wú)盡的方便。由于 Android 系統(tǒng)的開放性,越來(lái)越多的手機(jī)和平板使用安卓系統(tǒng)。Android 是一個(gè)開源的系統(tǒng),它底層是基于Linux 的操作系統(tǒng),本論文的會(huì)議白板采用了 Android 開源系統(tǒng)技術(shù),利用Java 語(yǔ)言和 Eclipse 編輯工具對(duì)會(huì)議白板進(jìn)行編寫。同時(shí)給出了詳細(xì)的系統(tǒng)設(shè)計(jì)過(guò)程、部分界面圖及主要功能運(yùn)行流程圖,本文還對(duì)調(diào)試過(guò)程中遇到的問(wèn)題和解決方法進(jìn)行了詳細(xì)的討論,該會(huì)議白板基于 TCP 連接,利用 wife 進(jìn)行多用戶的連接,可以實(shí)現(xiàn)多臺(tái)

2、Android 手機(jī)同時(shí)進(jìn)行對(duì)會(huì)議內(nèi)容模型進(jìn)行討論、交流,在 Android 系統(tǒng)中能獨(dú)立運(yùn)行。該會(huì)議白板為了避免緊急情況,故設(shè)計(jì)了一個(gè)快捷開啟手電筒的功能,可以在突發(fā)情況下,以最快的速度帶給你光明。關(guān)鍵詞: Android,Eclipse,TCP,SketchPad,LinuxAbstract:Abstract: Life rhythm faster and faster in todays society, people are more and more applications for mobile phones and a good application can bring con

3、venience for people.Nowadays the society due to the openness of the Android system, therefore, more and more mobile phones and tablet using Android.Android is an open source system, its bottom is based on the Linux operating system, this thesis conference board USES the Android open source system te

4、chnology, using the Java language and Eclipse editing tools to write meeting the whiteboard.Also gives a detailed system design process, part of the interface diagram and main function operation flow chart, the article also the problems and solutions in the process of highly discussed in detail, the

5、 conference board based on the TCP connection, the use of the wife for multi-user connection, can realize more Android phones at the same time to the discussion of the meeting content model, the Android system can run independently.The conference board in order to avoid an emergency, so designed a s

6、hortcut to open a flashlight function, can be set out in lower case, with the fastest speed gives you the light.KeyKey words:words: AndroidEclipse TCP SketchPad Linux目目 錄錄 1、概述、概述-11.1 研究課題背景研究課題背景-11.2 可行性分析可行性分析-11.3 目標(biāo)目標(biāo)-2 2、功能簡(jiǎn)介、功能簡(jiǎn)介-2 2.1.用例分析用例分析-2 2.2.活動(dòng)分析活動(dòng)分析-2 2.3.流程設(shè)計(jì)流程設(shè)計(jì)-4 2.4.數(shù)據(jù)詞典數(shù)據(jù)詞典-4

7、3、項(xiàng)目詳析、項(xiàng)目詳析-5 3.1 項(xiàng)目結(jié)構(gòu)分析項(xiàng)目結(jié)構(gòu)分析-5 3.1.1 包包-5 3.1.2 配置文件配置文件-5 3.1.3 資源文件資源文件-6 3.1.4 邏輯功能邏輯功能-6 3.2 界面以及代碼說(shuō)明界面以及代碼說(shuō)明-6 3.2.1 首頁(yè)首頁(yè)-7 3.2.2.引導(dǎo)頁(yè)引導(dǎo)頁(yè)-8 服務(wù)端服務(wù)端-9 客戶端客戶端-12 3.2.3.主頁(yè)主頁(yè)-14 3.2.4.配置文件配置文件-19 4、運(yùn)行環(huán)境運(yùn)行環(huán)境-205、系統(tǒng)測(cè)試系統(tǒng)測(cè)試-21結(jié)結(jié) 束束 語(yǔ)語(yǔ)-22謝謝 辭辭-23文文 獻(xiàn)獻(xiàn)-24第 1 頁(yè) 共 24 頁(yè)1 1 概述概述1.11.1 背景背景And

8、roid 開創(chuàng)了一個(gè)智能手機(jī)的時(shí)代,她的到來(lái)造福了千千萬(wàn)萬(wàn)的人們,帶動(dòng)了數(shù)不清的 GDP 增長(zhǎng),她是一套真正意義上的開發(fā)性的移動(dòng)設(shè)備綜合平臺(tái),它包括操作系統(tǒng)、中間件和一些關(guān)鍵的平臺(tái)應(yīng)用。自從它誕生日開始,他就憑借著他那得天獨(dú)厚的優(yōu)勢(shì),快速的得到了開發(fā)人員和用戶們的喜愛。Android 是由 Linux+Java 構(gòu)成的開源軟件,允許所有廠商和個(gè)人在其基礎(chǔ)上進(jìn)行開發(fā)。Android 平臺(tái)的開放性等特點(diǎn)既能促進(jìn)技術(shù)的創(chuàng)新,又有助于降低開發(fā)成本,還可以是運(yùn)營(yíng)商能非常方便地制定自己的特色化的產(chǎn)品。因此,它具有很大的市場(chǎng)發(fā)展?jié)摿Γ俏磥?lái)世界移動(dòng)端的主流。智能機(jī)之所以智能是因?yàn)樗辛司W(wǎng)絡(luò),他能夠和外界進(jìn)行

9、交流溝通。隨著網(wǎng)絡(luò)信息的不斷加大,流量也隨之成為了人們的負(fù)擔(dān)。因此 wife 應(yīng)運(yùn)而生,他可以讓你有著快速瀏覽信息的能力,還能夠快速的構(gòu)建局域網(wǎng),讓人們進(jìn)行交流、溝通。現(xiàn)今,人們?cè)絹?lái)越少的使用紙和筆,人們更加傾向于移動(dòng)端的交流,會(huì)議中有許多的事情是無(wú)法用語(yǔ)言來(lái)進(jìn)行正確描述的,因此會(huì)議白板便可以成為交流和溝通中最佳的選擇了。1.21.2 可行性分析可行性分析TCP 協(xié)議已經(jīng)出現(xiàn)了很久很久,它的技術(shù)是非常成熟的。TCP 協(xié)議中當(dāng)應(yīng)用層向 TCP 層發(fā)送用于網(wǎng)間傳輸?shù)?、?8 位字節(jié)表示的數(shù)據(jù)流,TCP 則把數(shù)據(jù)流分割成適當(dāng)長(zhǎng)度的報(bào)文段,最大傳輸段大?。∕SS)通常受該計(jì)算機(jī)連接的網(wǎng)絡(luò)的數(shù)據(jù)鏈路層的

10、最大傳送單元(MTU)限制。之后 TCP 把數(shù)據(jù)包傳給 IP層,由它來(lái)通過(guò)網(wǎng)絡(luò)將包傳送給接收端實(shí)體的 TCP 層。如果發(fā)送端實(shí)體在合理的往返時(shí)延(RTT)內(nèi)未收到確認(rèn),那么對(duì)應(yīng)的數(shù)據(jù)(假設(shè)丟失了)將會(huì)被重傳。Wife 聯(lián)機(jī)版的會(huì)議白板是通過(guò) wife 構(gòu)建局域網(wǎng),通過(guò) TCP 協(xié)議進(jìn)行連接,在同一個(gè)局域網(wǎng)中,可以有一臺(tái)安卓機(jī)作為服務(wù)器創(chuàng)建會(huì)議房間,其他手機(jī)作為客戶端通過(guò) IP 加入房間。在房間中會(huì)議者可以進(jìn)行幾何圖形的繪制,可以進(jìn)行交流和溝通。在開發(fā)會(huì)議白板程序時(shí),主要運(yùn)行的 Android 程序開發(fā)設(shè)計(jì),而且技術(shù)簡(jiǎn)單可靠,因?yàn)椴恍枰笠?guī)模的計(jì)算和讀取數(shù)據(jù),所以對(duì)手機(jī)的性能要求也不高,對(duì)環(huán)境的

11、搭建沒有特殊的要求。而且 Android 開發(fā)技術(shù)中也使用到了第 2 頁(yè) 共 24 頁(yè)JAVA 中的框架的搭建,在對(duì)記賬本這個(gè)程序進(jìn)行界面布局時(shí),主要是通過(guò)編寫 等屬性都可以通過(guò)代碼實(shí)現(xiàn)。 Android 技術(shù)開發(fā)經(jīng)濟(jì)成本低,Google 提供了豐富的 API 類庫(kù)并且有Google doc 和 Clendar 等免費(fèi),好用的 API 及大量的開源代碼可以借鑒不需要繳納任何費(fèi)用,這些都可以大幅度的降低開發(fā)成本。1.31.3 目標(biāo)目標(biāo) 幫助人們?cè)跁?huì)議中進(jìn)行充分的溝通,會(huì)議白板可以在安卓系統(tǒng)下流暢的運(yùn)行,可以通過(guò) wife 構(gòu)建局域網(wǎng)進(jìn)行 TCP 協(xié)議的正確連接。第 3 頁(yè) 共 24 頁(yè)2 2 功

12、能簡(jiǎn)介功能簡(jiǎn)介2.12.1 用例分析用例分析 圖圖 1-11-1 圖圖 1-21-2 服務(wù)端可以創(chuàng)建房間,等待其他參會(huì)人員加入房間,后可以進(jìn)行交流的操作;客戶端可以加入房間,加入后可以進(jìn)行交流的一些操作。2.22.2 活動(dòng)分析活動(dòng)分析第 4 頁(yè) 共 24 頁(yè) 圖圖 2-2-1 12.32.3 流程分析流程分析 圖圖 3-3-1 12.42.4 數(shù)據(jù)字典數(shù)據(jù)字典 第 5 頁(yè) 共 24 頁(yè) 圖圖 4-4-1 1 SketchPad:會(huì)議白板 IndexActivity:歡迎提示頁(yè)MainActivity:交流頁(yè) StartActivity:引導(dǎo)頁(yè)Client:客戶端Server:服務(wù)端Float_

13、windows:浮動(dòng)窗Color_image:按鈕樣式sketchpadtool_pen:畫筆sketchpadtool_eraser:橡皮sketchpadtool_pencolor:畫筆顏色sketchpadtool_clear:清空creat_home:創(chuàng)建房間home_address:房間地址 IPadd_home:加入房間第 6 頁(yè) 共 24 頁(yè)3 3 項(xiàng)目詳析項(xiàng)目詳析3.13.1 項(xiàng)目結(jié)構(gòu)分析項(xiàng)目結(jié)構(gòu)分析.1 包包erfaces 包:包含了項(xiàng)目中所需要的接口;com.xhy.gbb.utils 包:包含了項(xiàng)目中所需要用到的工具類;com

14、.xhy.gbb.tcp 包:包含了 TCP 協(xié)議寫的服務(wù)端和客戶端;com.xhy.gbb.view 包:包含了會(huì)議白板中用到的視圖類;com.xhy.gbb.activity 包:包含了項(xiàng)目中交流的邏輯類和方法。.2 配置文件配置文件AndroidManifest.xml:安卓項(xiàng)目的配置文件,當(dāng)系統(tǒng)需要調(diào)用某些底層功能是 ,需要在其中進(jìn)行聲明,添加權(quán)限以及設(shè)置程序入口 Activity。.3 資源文件資源文件第 7 頁(yè) 共 24 頁(yè)res 文件夾:包含了項(xiàng)目中所需要用到的各種資源,有照片、界面布局、預(yù)聲明等。.4 邏輯功能邏輯功能src 文件

15、夾:包含了項(xiàng)目中所需要用到類,其中 Client.java 和Server.java 是客戶端和服務(wù)器端。activity 包下的類是交流、溝通所要用到的邏輯類。3.23.2 界面以及代碼顯示界面以及代碼顯示.1 主頁(yè)展示主頁(yè)展示第 8 頁(yè) 共 24 頁(yè) 圖圖 3-3-2 2- -1 1 主頁(yè)是一張漸變的圖片,可以慢慢的消失,最終跳轉(zhuǎn)至引導(dǎo)頁(yè),圖片的消失是創(chuàng)建了一線程,定義一個(gè)變量,讓其每秒減少一定的數(shù)。頁(yè)面跳轉(zhuǎn)是用到了一個(gè)方法 Intent,讓其可以在圖片消失的那一刻就行頁(yè)面的自動(dòng)跳轉(zhuǎn)(進(jìn)行了判斷,當(dāng)變量小于等于 0 時(shí),進(jìn)行跳轉(zhuǎn))。public class MainActi

16、vity extends Activity private Handler mHandler = new Handler();ImageView imageview; TextView textview;int alpha = 255; int b = 0;public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);imageview = (ImageView) this.findViewById(R.id.Im

17、ageView1);textview = (TextView) this.findViewById(R.id.TextView1);imageview.setAlpha(alpha);第 9 頁(yè) 共 24 頁(yè)new Thread(new Runnable() public void run() while (b 2) try if (b = 0) Thread.sleep(1000);b = 1; else Thread.sleep(50);updateApp(); catch (InterruptedException e) e.printStackTrace();).start();mHa

18、ndler = new Handler() public void handleMessage(Message msg) super.handleMessage(msg);imageview.setAlpha(alpha);imageview.invalidate();public void updateApp() alpha -= 5;if (alpha = 0) b = 2;Intent in = new Intent(this, StartActivity.class);startActivity(in);this.finish();mHandler.sendMessage(mHandl

19、er.obtainMessage();.2 引導(dǎo)頁(yè)展示引導(dǎo)頁(yè)展示第 10 頁(yè) 共 24 頁(yè) 圖圖 3-2-23-2-2第 11 頁(yè) 共 24 頁(yè)引導(dǎo)頁(yè)可以對(duì)用戶進(jìn)行引導(dǎo)作為服務(wù)器創(chuàng)建房間或者加入房間(需要輸入服務(wù)器的 IP 地址),創(chuàng)建或加入完房間后,需要進(jìn)行帶參數(shù)的跳轉(zhuǎn)。 基于基于 TCP 協(xié)議的服務(wù)端代碼(協(xié)議的服務(wù)端代碼(socket 通信技術(shù))通信技術(shù)) public class Server public static Thread t;public static void run() if (t = null) t = new Threa

20、d(new Landing();t.start();/ 監(jiān)聽class myListener implements Runnable private Socket s;public myListener(Socketa s) this.s = s;Overridepublic void run() while (true) try Thread.sleep(10); catch (InterruptedException e) e.printStackTrace();for (int i = 0; i Landing.myAL.size(); i+) BufferedReader br;try

21、 br = new BufferedReader(new InputStreamReader(s.getInputStream();String str = br.readLine();MyOutPut m = new MyOutPut();m.put(str, s); catch (IOException e) int temp = Landing.myAL.indexOf(s);Landing.myAL.remove(temp);System.out.println(連接用戶數(shù)為 + Landing.myAL.size();return;第 12 頁(yè) 共 24 頁(yè)/ 用戶連接,端口:888

22、8class Landing implements Runnable ServerSocket ss;public static ArrayList myAL = new ArrayList();public void run() ServerSocket ss = null;try ss = new ServerSocket(8888); catch (IOException e1) / TODO Auto-generated catch blocke1.printStackTrace();System.out.println(服務(wù)器已開啟!);while (true) System.out

23、.println(就緒,等待新用戶);try Socket s = ss.accept();myAL.add(s);System.out.println(s.getInetAddress() + 連接了);System.out.println(連接用戶數(shù)為 + myAL.size();Thread ct = new Thread(new myListener(s);ct.start(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();class MyOutPut public void pu

24、t(String str, Socket s) if (str = null | str.equals(null) return;for (int i = 0; i 浮動(dòng)窗口的功能第 20 頁(yè) 共 24 頁(yè)mFloatView.setOnClickListener(new OnClickListener() public void onClick(View v) / TODO Auto-generated method stubcamera = Camera.open(); Parameters params = camera.getParameters();if (kaiguan) Toas

25、t.makeText(getApplicationContext(), 您已經(jīng)打開了手電筒, Toast.LENGTH_SHORT).show(); / 通過(guò) wife 進(jìn)行連接 private String getlocalip() WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); int ipAddress = wifiInfo.getIpAddress(); Log.d(,

26、int ip + ipAddress); if (ipAddress = 0) return null; return (ipAddress & 0 xff) + . + (ipAddress 8 & 0 xff) + . + (ipAddress 16 & 0 xff) + . + (ipAddress 24 & 0 xff); .4 項(xiàng)目配置文件項(xiàng)目配置文件 第 21 頁(yè) 共 24 頁(yè) 4 4 開發(fā)及運(yùn)行環(huán)境開發(fā)及運(yùn)行環(huán)境 1 JDK(1.8)+ SDK(API 18)+ Eclipse(2013)。2 安卓系統(tǒng)手機(jī)或者平板電腦一臺(tái)。第 22

27、 頁(yè) 共 24 頁(yè)第 23 頁(yè) 共 24 頁(yè)5 5 系統(tǒng)測(cè)試系統(tǒng)測(cè)試 圖圖 5 5- -1 1 圖圖 5 5- -2 2圖 5-1 為服務(wù)端,主機(jī) 07 為該設(shè)備連入 wife 后,路由器為該設(shè)備分配的 IP 地址,客戶端可以與服務(wù)端進(jìn)行連接。且界面上的浮動(dòng)按鈕可以快速的打開和關(guān)閉手機(jī)的手電筒功能。圖 5-2 為客戶端,連接的服務(wù)端 IP 為 07,從機(jī)(客戶端設(shè)備)連入與服務(wù)端同一 wife 下,路由器為其分配的 IP07.當(dāng)兩臺(tái)或多臺(tái)設(shè)備成功連接后,用戶可以進(jìn)行同步交流。當(dāng)一端繪畫或?qū)懽謺r(shí),另一端可以同步顯示。個(gè)別手機(jī)可能會(huì)

28、無(wú)法顯示浮動(dòng)窗口,這是因?yàn)槟脑O(shè)備可能需要手動(dòng)開啟浮動(dòng)窗設(shè)置。第 24 頁(yè) 共 24 頁(yè)結(jié)結(jié) 束束 語(yǔ)語(yǔ)本系統(tǒng)是一個(gè)基于 Android 平臺(tái)的 wife 聯(lián)機(jī)版的會(huì)議白板,該會(huì)議白板具備一個(gè)可以商用的大部分條件,實(shí)現(xiàn)了會(huì)議中用戶之間的正常交流和溝通。作為一個(gè)會(huì)議白板,系統(tǒng)提供了開關(guān)燈,畫板交流等功能。該會(huì)議白板基本完成了會(huì)議交流的基本功能。這次的畢業(yè)設(shè)計(jì),讓我對(duì)過(guò)去兩年的學(xué)習(xí)進(jìn)行了一個(gè)系統(tǒng)性的總結(jié),讓我對(duì)網(wǎng)絡(luò)的 TCP、websocket 等協(xié)議有了一個(gè)清晰的認(rèn)識(shí),這次設(shè)計(jì)讓我明白到了自己的不足之處,讓我得到了長(zhǎng)足的提高??傊谶@次的系統(tǒng)設(shè)計(jì)中,從中學(xué)到了許多以前書本上沒有學(xué)到過(guò)的,這更增強(qiáng)了我的理論基礎(chǔ)知識(shí),從中受益多多。感謝老師對(duì)我的指導(dǎo)。大學(xué)生活如同白駒過(guò)隙般匆匆忙忙而過(guò),但我卻能無(wú)悔地說(shuō):“我曾經(jīng)來(lái)過(guò)?!贝髮W(xué)三年,但它給我的影響卻不能用時(shí)間來(lái)衡量,這三年以來(lái),經(jīng)歷過(guò)的所有

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論