內(nèi)容教程安卓端_第1頁
內(nèi)容教程安卓端_第2頁
內(nèi)容教程安卓端_第3頁
內(nèi)容教程安卓端_第4頁
內(nèi)容教程安卓端_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

共享智能標(biāo)識柱Android程序開:Android、導(dǎo)航、標(biāo)識Share ligentidentitycolumnAndroid:ThispapermainlystudiesthedevelopmentoftheAndroidprogramofsharinginligentidentificationcolumn.Inmodernsociety,peopleusemoreandmorefunctionssuchasnavigation.Thecurrentmapnavigationofmobilephonescansolveawiderangeofinstructions,butwhenitcomestoasmallrangeofsmallerlocations,itcan'tbeagoodindicator.Inresponsetothissituation,ourlaboratoryhasdesignedaninligentrotatingidentificationcolumnwhichcanaccurayindicatethelocationinformationwithinafewhundredmetersofthevicinityoftheuser.Whentheuserneedstogotoacertainlocation,therotationarmoftheidentificationcolumnwillrotatetothecorrespondingAngletoindicatethedirectionoftheuser,andthedistanceandtimewillbedisplayedonthescreen.Theidentificationcolumnindicatesthefunctionoftherouteandneedsthesoftwaretocooperate.Therefore,asoftwaredesignedtocontroltheidentificationcolumnisdesignedontheAndroidplatform.Theusercanenterthenameofthedestinationtosearch.Thesoftwaredisplaystheappropriatelocationaccordingtotheuserinput.Aftertheuserselectsthecorrespondinglocation,thesoftwarecontrolidentificationcolumnistheuser'sinstructionroute.Theexperimentshowsthatthedesignsoftwarecancompletethefunctionofthedesignbetter,whichhasgreatpracticability.Thisarticlemainlyincludestherequirementysis,thespecificdesignprocessandthetestingprocessofthesoftwaresystem.Thedesignincludesbothclientandserverparts.Theclientisresponsibleforinteractingwiththeuser,requestingthecorrespondingdatafromtherequesttotheserverandforwardingittotheidentifyingcolumndevice.Theserverismainlyresponsibleformanaginglocationdataandhandlingrequestsfromclients.:Android,navigation,identification第一章緒 課題研究的背景與意 課題研究的背 課題研究的意 內(nèi)容介 章節(jié)安 第二章需求分 需求分 用戶需求 產(chǎn)品需求 產(chǎn)品功能 可行性分 投資必要性 技術(shù)可行性 經(jīng)濟可行性 社會可行性 業(yè)務(wù)流程及系統(tǒng)用例圖介 本章小 第三章相關(guān)知識及開發(fā)工具簡 C/S結(jié) Android系統(tǒng)簡 AndroidStudio簡 Android Netty框架的應(yīng) 本章小 第四章軟件系統(tǒng)設(shè) 系統(tǒng)整體設(shè) 系統(tǒng)關(guān)系圖介 結(jié)構(gòu)的C/S說 功能模塊設(shè) 控制設(shè)備功 指定地點導(dǎo)航功 添加地點功 本章小 第五章系統(tǒng)測 功能模塊測 藍牙通信功能測 服務(wù)器添加查找數(shù)據(jù)功 客戶端獲取服務(wù)器數(shù) 系統(tǒng)整體測 本章小結(jié) 第六章總 致 參考文 附 第一課題研究的背景與意課題研究的背、、時代是信息的時代,人們一個信息大的環(huán)境中。每天都能接受到各種各樣的信息和數(shù)據(jù)。信息展示的方式多種多樣,包括文字、音頻等。而人們?nèi)粘I钪兴枰膶?dǎo)航信息卻一直有所欠缺即便是在擁有地圖和其他紙質(zhì)地圖的情況下仍然避免不了要找人問路的尷尬局面比如說段時間在重慶,括很多的路。這時候?qū)Ш交旧弦呀?jīng)完全失去作用。我們只能根據(jù)著路標(biāo),同時詢問當(dāng)?shù)厝瞬拍苤w怎么走。、、針對路標(biāo)的改進早在幾年前就有許多的嘗試了。2013年,Break-FastNY公司推出了一款旋轉(zhuǎn)路標(biāo),三個可以指向不同的方向。這款路標(biāo)是通過嵌入式技術(shù)來對其實施控制的。相比通過軟件的方式,增加了硬件設(shè)計的復(fù)雜度。2014年,南站也設(shè)置了一款旋轉(zhuǎn)路標(biāo)。這個智能路牌所有的數(shù)據(jù)通信全部由3G或WiFi完成,所有操作也都在電腦上完成。這款路標(biāo)只能由專人操控,不能由路人自己物聯(lián)網(wǎng)等平臺越來越多的應(yīng)用到了上作為人們?nèi)粘I钪须x不開的東西已經(jīng)開始扮演著越來越多的角色利用作為智能家居的控制終端就是一個很好的例 STM32作為主控板,一共有四個藍牙模塊。其中一個藍牙CAN總線控制電機旋轉(zhuǎn)。而標(biāo)識柱的控制指令和指路編寫服務(wù)器來對標(biāo)識柱的展示的數(shù)據(jù)進行和管理。課題研究的意內(nèi)容介本課題主要是對旋轉(zhuǎn)標(biāo)識柱設(shè)計的軟件系統(tǒng)的開發(fā)。該軟件的客戶端是基于Android展示路線的距離、消耗大概時間和地點的相關(guān)信息等。該軟件的服務(wù)器是使用java按照功能模塊逐步完成軟件系統(tǒng)的編寫(包括服務(wù)器的編寫和界面設(shè)計對軟件的功能模塊和軟件整體進章節(jié)安第二求分需求分用戶需求自然而然會體現(xiàn)出用戶的需求。對于標(biāo)識柱而言,前期設(shè)計的初衷是想要讓能控車的模式,當(dāng)有用戶需要查詢到某一地點時,只需要使用掃描 產(chǎn)品需求表2-1導(dǎo)航與共享標(biāo)識柱優(yōu)缺點比一段距離后才發(fā)現(xiàn)走錯路復(fù)旋轉(zhuǎn)調(diào)整方向用戶只需要按著路標(biāo)指新增地點可以進行及時在人流量較小的地方設(shè)處理之后轉(zhuǎn)換為具體的顯示指令后發(fā)送給后來發(fā)現(xiàn)標(biāo)識柱的定位應(yīng)該是致力于產(chǎn)品功能可行性分包括市場需求、社會環(huán)境、需要和設(shè)備、實施方案、經(jīng)濟效益等方面。不業(yè)投資必要性技術(shù)可行性借助第框架,很方便的解決了并發(fā)的問題以及通信的穩(wěn)定性。在軟件的客戶端,BLE08模塊也有藍牙發(fā)送的例程,在例程的基礎(chǔ)上經(jīng)濟可行性品需求達到一定數(shù)量,則可以采取模具加工的方式。預(yù)計可以將成本控制在10000社會可行性業(yè)務(wù)流程及系統(tǒng)用例圖介2-1系統(tǒng)用例 未安裝控制軟件,則將地址展示給用戶,讓用戶軟件。如果已經(jīng)安裝軟件, 自動建立連接。同時通過帶值跳轉(zhuǎn)將站點給查詢地點的Activity。入框中輸入地點名稱或者,點擊搜索按鈕即可。如果未找到該地點,則客戶端直接顯示未找到該地點。如果找到了則通過列用戶根據(jù)詳細的地點名稱點擊選擇對應(yīng)的目的地??蛻舳吮O(jiān)測到用戶的點擊事件之后,向標(biāo)識柱發(fā)送具體的指令。標(biāo)識柱收到指令后,立即向用戶指示目的地對應(yīng)的路線的方向,同時在本章小第三章相關(guān)知識及開發(fā)工具簡C/S結(jié)C/S結(jié)構(gòu)又稱為胖客戶端架構(gòu),系統(tǒng)的主要功能實現(xiàn)及頁面展示都是由客戶端完構(gòu)也更為豐富。C/S結(jié)構(gòu)可以充分的利用客戶機的性能,完成一些較復(fù)雜的操作,尤Android系統(tǒng)簡AndroidAndroid是一個基Linux內(nèi)核的開源操作系統(tǒng),具有良好的擴展性,利于開發(fā),廣泛應(yīng)用于國內(nèi)外各個智能廠家。廠家可以在原有基礎(chǔ)上根據(jù)自身硬件特點研發(fā)出不同的系統(tǒng)。例如國產(chǎn)中小米的MIUI、OPPO的Colors、魅族的Flyme等。IOSAndroid兩種。IOS開發(fā)必須是用蘋果公司自帶的開發(fā)工具Xcode,并且只能在Mac系統(tǒng)上運行,開發(fā)設(shè)備較局限,成AndroidStudioEclipse,可以在多個操作系統(tǒng)中運行。智能的迅速發(fā)展使其能具備的功能,在一定程度上取代了電腦。而Android系統(tǒng)具有的良好的擴展性與豐富的硬件支持,使其在智能穿戴、智能家居以電視領(lǐng)域,Android幾乎占據(jù)了%90100%的比例。2016年12月公司推出了AndroidThing(一款精簡的Android系統(tǒng)),使AndroidAndroid系統(tǒng)的應(yīng)用范圍。AndroidJava語言。Java作為一種面向?qū)ο蟮恼Z言,開發(fā)難度一直穩(wěn)居前三。這使得java學(xué)習(xí)的和資料都非常豐富,非常利于學(xué)習(xí)AndroidStudio簡AndroidStudio是谷歌公司的開發(fā)軟件,具有許多強大的功能、UI界面更加AndroidStudio3.0kotlinAndroid軟件。作為谷歌公司的上講,AndroidStudioAndroid開發(fā)者的首選。AndroidStudioAndroid選項下對應(yīng)的??梢钥吹皆赼ppmanifests、javares三個文件夾。下面明以及權(quán)限的獲取。如果沒有在AndroidManifest文件中的類不能使用。Activity類也存放在這個文件夾下。Res資源文件夾,用于存放布局文件、資源、字符串資源和樣式資源等。Android對應(yīng)的下除了APPGradleScripts的東西。這個文build.gradle(Moudle:app圖3- 結(jié)MySQL和列的形式數(shù)據(jù),互相關(guān)聯(lián)的行和列的組合就成為了表,數(shù)據(jù)庫則是一系列表的MySQLSQL語言,方便對數(shù)據(jù)的操作。程序的體積較小,數(shù)據(jù)存取速度快,適用于中小型服務(wù)器的使用。除此之外MySQL維C、C++、Java等多種語言都提供了API,開發(fā)者只需要在官網(wǎng)上選擇對應(yīng)的庫即可。對于java開發(fā)者而言,有專門用于數(shù)據(jù)庫連接的API-JDBC,開發(fā)者只需要在MySQL官網(wǎng)對應(yīng)的jar包并導(dǎo)作。JavaJDBC有許多開源框架,操作者可以直接調(diào)用相關(guān)方法操作數(shù)據(jù),開源SQLHibernate與Mybatis兩種。.MySQLMySQL對程CPU的利用率。還有很關(guān)鍵的以企業(yè)版的程序。Android在智能性能快速發(fā)展的時期,提高的續(xù)航能力也成為了一個研究的關(guān)BLEBLEBLEBLEBLE低功耗藍牙模式,最大峰值不超過15mA,平均功耗為1μA[3]公司在Android4.3之后開始提供BLE相應(yīng)的API,開發(fā)者可以直接通過調(diào)GTTBLE的數(shù)據(jù)結(jié)構(gòu)由多層數(shù)據(jù)組成。ProfileService(服務(wù))Service包含多個Characteristic(特質(zhì)),特質(zhì)又由特質(zhì)的名字和屬性組成。在AndroidBLE開Characteristic設(shè)置對應(yīng)的值進行發(fā)送的。圖3- BLE數(shù)據(jù)結(jié)Netty框架的應(yīng)ServerSocketaccept方法等待客戶端的連作。并且由于java系統(tǒng)資源所能允許的線程數(shù)量是有限的,所以當(dāng)接入客戶端數(shù)量較多時程序就會顯然這種對資源的浪費以及連接數(shù)量的限制是不利于程序開發(fā)JDK1.4javaI/O(NIO)NIObuffer緩沖區(qū)、channelSelector三個主要的部分完成連接通信。Socket的狀態(tài)發(fā)生變化時,再將它交給線程來進行處理。者都是使用的第框架來進行操作的。目前使用最多的JavaNIO框架就是netty框架。NettyNIO編程進行了良好的封裝,使代碼簡化了很多,同時提高了穩(wěn)定性及安全性。用戶只需要將好的jar包放入程序,然后根據(jù)指南和api參考手冊3-3NIO通信方本章小Android開發(fā)工具進行了簡單說明。通過前期充足的知識準(zhǔn)備,為后文的軟件設(shè)計提第四章軟件系統(tǒng)設(shè)系統(tǒng)整體設(shè)系統(tǒng)關(guān)系圖介ubuntu16.04。4-1系統(tǒng)關(guān)系C/S說,。本系統(tǒng)采用云服務(wù)器作為server端APP作為client端客戶端的主要,。功能模塊控制設(shè)備功APPHC-08JSON格式。與標(biāo)識柱設(shè)備的通信是軟件功能實現(xiàn)的基礎(chǔ),標(biāo)識柱的指路功能前提是要能讓對其進行控制、發(fā)送數(shù)據(jù)所以我們第一步做的就是完成對設(shè)備的控制先向標(biāo)識柱發(fā)一些固定的信息。確定通信正常之后再讓軟件根據(jù)用戶需求向標(biāo)識柱發(fā)送對應(yīng)的數(shù)據(jù)。HC08藍牙串口4.02.4GHZISM,模塊最大為4dBM,接收靈敏度為-93dBm,空曠條件下可與實現(xiàn)80米超遠距離通信。JSON是一種輕量級數(shù)據(jù)通信格式,適用于多種數(shù)據(jù)交換場景。它主要有以下可以用來任意類型的數(shù)據(jù),包括對象和數(shù)采用鍵值對的方式數(shù)JSON 4-2藍牙初步界掃描之后就直接能連接到標(biāo)識柱。我們省略了中間的展示設(shè)備名和地址的4-3修改后藍牙設(shè)計Android4-1藍牙通信數(shù)據(jù)格{}Cmd是指的具體操作指令。word1,word2word3分別是對應(yīng)2、3的顯示動畫。顯示動畫共有88-1bgColor表示的是顯示屏的背景顏色,txtColor88-2。前期在標(biāo)識柱中了一些圖標(biāo)和對應(yīng)和圖標(biāo)的編號。Flag是用來區(qū)分顯示內(nèi)容的形式的,0表示只有漢字,1表示只有2表示既有漢字又有。armIndex是用Angle0-360。Time是指信息顯示的時間,時間范圍為0-60s。Undef1undef2是用來對數(shù)據(jù)進 {"cmd":"display","led":{"word1":"約702米","word2":"步行463分鐘 館{}180轉(zhuǎn)移到下位機程序?qū)崿F(xiàn)了。Status表示傳輸數(shù)據(jù)狀態(tài),complete表示傳輸成功。Err表示失敗。EmotorId指的是回傳剛剛處理完的旋轉(zhuǎn)臂{}—{,,隨機展示信息或modelId:1是這個模式。modelId:2表示控制{,}—JSON失敗{}當(dāng)發(fā)送較多數(shù)據(jù)時,標(biāo)識柱反應(yīng)不過來,則不能獲取到JSON (3首先檢查是否支持低功耗藍AndroidBluetoothAdapterBluetoothAdapterlistview的適配器進Service的連接藍牙方法,BluetoothAdapter根據(jù)地址獲取到deviceconnectGatt指定地點導(dǎo)航功JDBC方法。SocketTCP/IP協(xié)議。絡(luò)協(xié)議棧中,“傳輸控制協(xié)議”(TCP)和“用戶數(shù)據(jù)包協(xié)議”(UDP)使用最廣泛[4]TCP/IP協(xié)議。UDP協(xié)議的應(yīng)用范圍較窄,一般用于實時的音頻和傳輸。TCP/IP協(xié)議是因特網(wǎng)事實上的國際標(biāo)準(zhǔn),規(guī)定了設(shè)備如何連接到因特網(wǎng)。TCP是面向連接的通信協(xié)議,即當(dāng)兩個進程間需要傳輸數(shù)據(jù)時必須先進行握手連接,否則不能進行發(fā)送。TCP連接的傳輸?shù)臄?shù)據(jù)正確TCP連接是一TCPTCP連接后,可以同時向?qū)Ψ桨l(fā)送數(shù)據(jù)。TCP連接只能是點對點的連接,不能連接多個。為了保證TCP連接方式。netty編和實際處理業(yè)務(wù)的Handler類channel加入隊列重寫channelRead方法,客戶端發(fā)送的數(shù)MySQLDownLoadGPL(社區(qū)版本MySQL是免安裝的,所以直接將好的安裝包解壓到對應(yīng) 下即在安 下新建ini配置文件,設(shè)置編碼格式,以及安 以及數(shù)據(jù)存。打開cmd,進入安 的 下,輸入命令在 MySQLMySQL_HOMEmysql的安path中添加%MySQL_HOME%\bin打開命令行輸入:netstartmysql,啟動服務(wù)器。輸入:mysql-uroot–p,一般默認(rèn)沒有直接回車即可。創(chuàng)建數(shù)據(jù)庫sqlCREATEDATABASEsqlRENAME(MySQL不支持。使用數(shù)據(jù)庫sql:USE;(在登錄進數(shù)據(jù)庫時,首先要選擇使用哪一個數(shù)據(jù)庫,只查看本地的數(shù)據(jù)庫sql:SHOWTABLES;sql:CREATETABLE(1234TIPs:FLOATDOUBLECHAR(5VARCHAR(50sql DESC注意:在創(chuàng)建表時,字段的定義是先名稱再類型的,比如說:numberint。此外mysqlcharchar的大小。char(5),char(50)mysql的字符集。我們可以通過輸入對應(yīng)的set命令來直接更改表的字符集編碼,例:數(shù)據(jù)庫信息主要包含兩類,一個是站點的信息,一個是地點的信息。站點信將它的編號設(shè)置為1。將五作為第二個站點,它的編號設(shè)置為2如表4-2。那么在東大門的地點信息的表則命名為postion1,在五的地點信息的表命名為postion2。當(dāng)用戶選擇五站點時,客戶端向服務(wù)器發(fā)送字符串“五”。服務(wù)器在站點信息表中搜索“五作為名稱的數(shù)據(jù)項的id再將id添加“postion”postion24-3和4-4地點信息的補充,例如語或者其他公告等)。表的名稱則按上文中的規(guī)則命名,4-3。4-2站點數(shù)據(jù)1西東2五4-3東大門站地點數(shù)館6003000—600300—600200—表4-4五站數(shù)據(jù)館800300—6001000—連接到MySQL并進行數(shù)據(jù)的步驟進入MySQL官網(wǎng),點擊Dowmload選擇MySQLConnectorsjar加載數(shù)據(jù)驅(qū)動onnectSqlString="jdbc:mysql://localhost:3306/user?characterEncoding=utf-8","用戶名",""ConnecttionconnectDriveMannager。StateMent1postion1的操作。sqlstatement.excuteselect*frompostionwherenameLIKEkeyword’Likea的字符串。當(dāng)搜索’a%’a開頭的以任意字符串結(jié)束的字符串?!?’a%’a的字符串。顯然這里應(yīng)該使用的是第三種,Socket發(fā)送給客戶端。否則需要進行內(nèi)網(wǎng)。同時要保證服務(wù)器一直運行,還需要自己的機器一直處于工JDKMySQLjarFilezilla將文件傳輸?shù)皆品?wù)器。Javaweb項目需要warjava程序。到云服務(wù)器項目所在,執(zhí)行命令,運行程序。由于退出終端后程序也會Activity,使用列表項對搜索結(jié)果進行顯示。4-4搜索地點界面設(shè)創(chuàng)建一個線程子類用來與服務(wù)器進行連接(Android的主線程中不允許進行聯(lián)網(wǎng)操作因為Android中存在ANR異常在主線程中進行耗時操作則會引起程序。所以必須單獨創(chuàng)建線程進行通信,然后載通過hnadler的方式與主線程進行數(shù)據(jù)通先指令的標(biāo)志位來區(qū)分是指定地點導(dǎo)航還是添加地點。當(dāng)用戶執(zhí)行了搜索命令Socket把數(shù)據(jù)發(fā)送給服務(wù)器。HandlerhandlerMessage為列表對象添加數(shù)據(jù),用戶點擊列表項時,APP就將對應(yīng)的指令通過藍handler通信機制、SocketView、BLE通信添加地點功里的添加地點主要是針對需要地點的商家以及設(shè)備管理者使用的后期的設(shè)計中4-5添加地點信息界面設(shè)本章小在后期過程中,我們還需要對軟件進試和優(yōu)化,進一步完善軟件的功能。第五統(tǒng)測功能模塊測取服務(wù)器數(shù)據(jù)三個點進試當(dāng)這三步完成之后就可以將其整合在一起完成指定地藍牙通信功能測的08模塊連接串口進試的。測試沒有問題之后,再與標(biāo)識柱進行連接測試。5-1藍牙測試程序頁5-2串口收到的圖標(biāo)圖5-3串口收到的數(shù)

5-4串口收到的指路信息數(shù)5-5串口收到的切換模式數(shù)圖5-6接收到的反服務(wù)器添加查找數(shù)據(jù)功服務(wù)器程序是用java編寫的,所以直接使用eclipse對其進試。查看對應(yīng)的5-7服務(wù)器顯示全部5-8服務(wù)器對關(guān)鍵字查詢結(jié)客戶端獲取服務(wù)器數(shù)客戶端與服務(wù)器是通過Socket通信的,只要知道服務(wù)器的ip和端即可。測6圖5- 輸入關(guān)鍵字測試顯示結(jié)系統(tǒng)整體測對軟件整體進試從啟動到完成控制標(biāo)識柱的整個過程以及添加數(shù)據(jù)都進行5-10

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論