freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于j2me的手機gps導航系統(tǒng)的設計與實現(xiàn)(編輯修改稿)

2024-12-23 21:54 本頁面
 

【文章內(nèi)容簡介】 同類型的手機必須實現(xiàn)對HTTP協(xié)議的支持,而其他協(xié)議的實現(xiàn)都是可選的而不是必需的。因此,考慮到不同類型的手機上的可兼容性,客戶端和服務端采用HTTP協(xié)議進行通信。 數(shù)據(jù)存儲技術本系統(tǒng)中查詢記錄是保存在手機記錄管理系統(tǒng)(RMS)中,從服務端接收的地圖文件是先保存在手機文件系統(tǒng)中,再讀取文件并渲染到地圖界面中。系統(tǒng)涉及數(shù)據(jù)存儲技術,在此作簡明介紹。 RMSJ2ME 記錄管理系統(tǒng)(RMS)提供了一種機制,通過這種機制,MIDlet 能夠持久存儲數(shù)據(jù),并在以后檢索數(shù)據(jù)。在面向記錄的方法中,J2ME RMS 由多個記錄存儲構成。記錄存儲在與平臺相關的位置(比如非易失性設備存儲器)創(chuàng)建,這些位置不直接公開給 MIDlet。RMS 類調(diào)用特定于平臺的本機代碼,這種本機代碼使用標準 OS 數(shù)據(jù)管理器函數(shù)來執(zhí)行實際的數(shù)據(jù)庫操作。記錄存儲實現(xiàn)確保所有單個的記錄存儲操作都是原子的、同步的以及序列化的,因此多個訪問將不會出現(xiàn)數(shù)據(jù)毀壞。記錄存儲被蓋上時間戳來指示它上次被修改的時間。記錄存儲還維護版本(version),它是一個整數(shù),修改記錄存儲內(nèi)容的操作每發(fā)生一次,這個數(shù)加一。版本和時間戳對于同步目的很有用。記錄存儲中的每個記錄是一個字節(jié)數(shù)組,并且有唯一的整數(shù)標識符。 文件系統(tǒng)在CLDC配置下,文件系統(tǒng)并沒有收納在MIDP功能子集中,而是以可選包的形式提供。文件系統(tǒng)可選包(JSR75規(guī)范)中定義了J2ME平臺的文件系統(tǒng)接口。(GCF)來提供的文件存取接口。也就是說,和文件系統(tǒng)打交道的與其他通用連接框架的應用沒有很大的區(qū)別,其特有的部分就是文件系統(tǒng)處理。 XML技術XML(Extensible Markup Language)即可擴展標記語言,它與HTML一樣,都是SGML(Standard Generalized Markup Language,標準通用標記語言)。XML是Internet環(huán)境中跨平臺的,依賴于內(nèi)容的技術,是當前處理結構化文檔信息的有力工具。擴展標記語言XML是一種簡單的數(shù)據(jù)存儲語言,使用一系列簡單的標記描述數(shù)據(jù),而這些標記可以用方便的方式建立,雖然XML占用的空間比二進制數(shù)據(jù)要占用更多的空間,但XML極其簡單易于掌握和使用。常見的XML解析技術有以下兩種: DOM解析技術DOM(Document Object Model,文檔對象模型)是一種應用程序接口(API)的應用,它將文檔(如XML文檔,HTML文檔等)看成是一個文檔對象,然后通過程序語言(如JavaScript等腳本語言,C++等)調(diào)用該文檔對象,對文檔中的數(shù)據(jù)進行存取,并利用程序?qū)Λ@取的數(shù)據(jù)進行跟進一步的處理。DOM是基于內(nèi)存的,不管文件有多大,都會將所有的內(nèi)容預先裝載到內(nèi)存中。從而消耗很大的內(nèi)存空間。 SAX解析技術SAX是(Simple API for XML)簡易應用程序編寫接口,SAX解析器不在內(nèi)存中建立和XML文件相對應的樹形結構數(shù)據(jù)。SAX解析器的核心是事件處理機制。不同于DOM的文檔驅(qū)動,SAX是事件驅(qū)動的,也就是說,它并不需要一次性讀入整個文檔在內(nèi)存中操作,而文檔的讀入過程也就是SAX的解析過程。 多線程技術 多線程概念由于在J2ME程序中訪問網(wǎng)絡時會花較長時間的連接遠端服務器發(fā)送請求及接收數(shù)據(jù),為了提高程序的響應速度和程序運行效率,不致于用戶在單擊按鈕后程序不再響應用戶的其它操作,增加用戶界面的友好性易用性,引入了多線程機制。用戶發(fā)起網(wǎng)絡請求時,網(wǎng)絡請求由獨立于界面線程的單獨網(wǎng)絡請求線程發(fā)起,該線程完成網(wǎng)絡操作后將結果或接到數(shù)據(jù)顯示到界面上。多線程是這樣一種機制,它允許在程序中并發(fā)執(zhí)行多個指令流,每個指令流都稱為一個線程,彼此間互相獨立。線程又稱為輕量級進程,它和進程一樣擁有獨立的執(zhí)行控制,由操作系統(tǒng)負責調(diào)度,區(qū)別在于線程沒有獨立的存儲空間,而是和所屬進程中的其它線程共享一個存儲空間,這使線程間的通信比進程間通信簡單。多個線程的執(zhí)行是并發(fā)的,也就是在邏輯上“同時”,而不管是否是物理上的“同時”。如果系統(tǒng)只有一個CPU,那么真正的“同時”是不可能的,但是由于CPU的運算速度非???,用戶感覺不到其中的區(qū)別,因此我們也不用關心它,只需設想各個線程是同時執(zhí)行即可[3]。 線程狀態(tài)和生命周期創(chuàng)建一個新的線程的生命周期如下狀態(tài):(1)新建:當一個下hread類或者其子類的對象被聲明并創(chuàng)建時,新的線程對象處于新建狀態(tài),此時它已經(jīng)有了相應的內(nèi)存空間和其他資源。(2)就緒:處于新建狀態(tài)的線程被啟動后,將進入線程隊列排隊等待CpU服務,這個時候線程具備了運行的條件,一旦獲得CpU的時間片,便可脫離創(chuàng)建它的主線程獨立開始自己的生命周期。(3)運行:就緒的線程被調(diào)度并獲得CUp的處理邊進入了運行狀態(tài),每一個Thread類及其子類的對象都有一個重要的run()方法,當線程對象被調(diào)度執(zhí)行的時候,它將自動調(diào)用對象自身的run()方法,從第一句代碼開始執(zhí)行。所以說對線程的操作應該寫到run()方法中。(4)阻塞:一個正在執(zhí)行的線程如果在某種情況下不能執(zhí)行了,進入阻塞狀態(tài),此時它不能再次進入排隊狀態(tài),只有引起了阻塞的原因消失時,線程才可以繼續(xù)進入排隊狀態(tài)等待CPU處理。(5)死亡:處于死亡狀態(tài)的線程不具有繼續(xù)執(zhí)行的能力,線程死亡主要的原因是正常運行的線程完成了全部工作,即執(zhí)行完了run()方法,另外就是被提前強制的終止了。 Java中多線程的兩種實現(xiàn)方式(1)方式一:繼承們時Thread類,覆蓋父類Thread的run()方法,如果我們要實現(xiàn)多線程只需要繼承該類就可以,其它方法不需要自己實現(xiàn)。(2)方式二:實現(xiàn)Runnable接口Java語言提供了Runnable接口來幫助我們編寫多線程程序,Runnable接口只有一個方法run(),我們要實現(xiàn)多線程只需要implements接口并override方法run()即可。 線程的安全問題——同步與協(xié)作(1)線程同步標記:synchronized關鍵字同一進程中的多個線程共享同一片存儲空間,在帶來方便的同時,也帶來了訪問沖突問題。Java語言提供了專門機制來解決這種沖突,有效避免了同一個數(shù)據(jù)對象被多個線程同時訪問的問題。針對方法Java提出同步機制,由synchronized關鍵字來實現(xiàn),主要有兩種用法:synchronized方法(方法同步)和synchronized塊(塊同步)。(2) 線程協(xié)作處理:使用join()方法當一個線程啟動前需等待另一個線程運行完畢時,將要考慮線程協(xié)作,可以使用join()方法處理,該方法的本質(zhì)還是通過wait()方法實現(xiàn),該線程的啟動必須拿到另一個線程的鎖才能執(zhí)行。 Servlet技術 Servlet基本概念Servlet是一種獨立于平臺和協(xié)議的服務器端的Java應用程序,可以生成動態(tài)的Web頁面。它是位于Web 服務器內(nèi)部的服務器端的Java應用程序,與傳統(tǒng)的從命令行啟動的Java應用程序不同,Servlet由Web服務器進行加載。Servlet是JSP的前身,在MVC架構中起到了控制中心的作用。 Servlet的生命周期 Servlet 的生命周期始于將它裝入 Web 服務器的內(nèi)存時,并在終止或重新裝入 Servlet 時結束?! ?1) 初始化  在下列時刻裝入 Servlet:如果已配置自動裝入選項,則在啟動服務器時自動裝入;在服務器啟動后,客戶機首次向 Servlet 發(fā)出請求時;重新裝入 Servlet 時裝入 Servlet 后,服務器創(chuàng)建一個 Servlet 實例并且調(diào)用 Servlet 的 init() 方法。在初始化階段,Servlet 初始化參數(shù)被傳遞給 Servlet 配置對象。   (2) 請求處理  對于到達服務器的客戶機請求,服務器創(chuàng)建特定于請求的一個“請求”對象和一個“響應”對象。服務器調(diào)用 Servlet 的 service() 方法,該方法用于傳遞“請求”和“響應”對象。service() 方法從“請求”對象獲得請求信息、處理該請求并用“響應”對象的方法以將響應傳回客戶機。service() 方法可以調(diào)用其它方法來處理請求,例如 doGet()、doPost() 或其它的方法。   (3) 終止  當服務器不再需要 Servlet, 或重新裝入 Servlet 的新實例時,服務器會調(diào)用 Servlet 的 destroy() 方法。 Java Servlet APIJava Servlet 開發(fā)工具(JSDK)提供了多個軟件包,在編寫 Servlet 時需要用到這些軟件包。其中包括兩個用于所有 Servlet 的基本軟件包: 和 ??蓮膕un公司的Web站點下載 Java Servlet 開發(fā)工具。HTTP Servlet 使用一個 HTML 表格來發(fā)送和接收數(shù)據(jù)。要創(chuàng)建一個 HTTP Servlet,請擴展 HttpServlet 類, 該類是用專門的方法來處理 HTML 表格的 GenericServlet 的一個子類。 HTML 表單是由 FORM 和 /FORM 標記定義的。表單中典型地包含輸入字段(如文本輸入字段、復選框、單選按鈕和選擇列表)和用于提交數(shù)據(jù)的按鈕。當提交信息時,它們還指定服務器應執(zhí)行哪一個Servlet(或其它的程序)。 HttpServlet 類包含 init()、destroy()、service() 等方法。其中 init() 和 destroy() 方法是繼承的。 SVG地圖圖片的渲染及制作技術 SVG地圖圖片渲染技術本系統(tǒng)中的電子地圖采用SVG圖片格式,使用到Mobile SVG Tiny JSR226開發(fā)包,該開發(fā)包提供了完整的在移動設備上構建SVG矢量圖形的方法。 地圖制作軟件——Adobe IllustratorIllustrator是由美國Adobe公司開發(fā)的一款圖形繪制功能強大的平面設計軟件。它被廣泛應用于平面廣告設計、網(wǎng)頁圖形設計、電子出版物設計等諸多領域。通過使用它,用戶不但可以方便地制作出各種形狀復雜、色彩豐富的圖形和文字效果,還可以在同一版面中實現(xiàn)圖文混排,甚至可以制作出極具視覺效果的圖表。作為全球最著名的圖形軟件Illustrator,以其強大的功能和體貼用戶的界面已經(jīng)占據(jù)了全球矢量編輯軟件中的大部分份額。具不完全統(tǒng)計全球有67%的設計師在使用Illustrator進行藝術設計!尤其基于Adobe公司專利的PostScript技術的運用,Illustrator已經(jīng)完全占領專業(yè)的印刷出版領域。第三章 GPS導航模型需求分析通過對GPS導航系統(tǒng)體系結構的了解和分析,論文中的GPS導航系統(tǒng)需要實現(xiàn)以下主要功能:地圖服務、定位服務和查詢服務。地圖服務:由于本次系統(tǒng)設計時采用的地圖數(shù)據(jù)主要是合肥學院這一塊的地圖,主要是滿足在合肥學院周邊地區(qū)人們獲取地理信息數(shù)據(jù)的需求,包括地圖的平移、縮放和測距等跟地圖操作相關的功能[4]。與傳統(tǒng)GIS的主要區(qū)別在于移動終端同服務器之間的連接網(wǎng)絡是無線網(wǎng)絡,網(wǎng)絡帶寬窄,且不穩(wěn)定,再者移動終端的計算能力及存儲能力都不能跟PC同日而語,在設計地圖服務功能時要充分考慮以上因素。定位服務:現(xiàn)在人們的活動中有80%左右都會跟其自身所處的位置相關,并且定位功能也是GPS導航系統(tǒng)中非常重要的一項功能,如何快速、準確得到移動終端的位置并顯著的在地圖上標識出來是一個需要仔細考慮解決的問題。查詢服務:人們在使用地圖服務時,經(jīng)常會用到的功能是給出一個地名,查看該地名周邊的環(huán)境及建筑物等,也就是人們常說的以文查圖,給出相應的文字信息,在地圖上找到想要找的位置。第四章 GPS導航模型概要設計 功能模塊劃分 圖41 系統(tǒng)功能模塊圖GPS導航模型中軟件共分為兩部分,一部分是運行在移動終端上的客戶端軟件部分,另一部是運行在Web服務器端的服務端軟件部分,客戶端和服務端通過HTTP協(xié)議進行數(shù)據(jù)傳輸。下面分別對這兩部進行詳細描述: 客戶端功能描述(1)地圖服務主要完成地圖的平移、縮放、測定距離、圖層控制、重定中心等功能,其中地圖平移功能包括左移、右移、上移、下移四項功能。(2)定位服務移動終端通過藍牙協(xié)議與藍牙GPS信號接收器通訊,接收藍牙GPS信號接收器接收的衛(wèi)星導航數(shù)據(jù),并對該數(shù)據(jù)進行解析得到當前位置的經(jīng)度、緯度、海拔高度,將這些數(shù)據(jù)發(fā)送給后端的Web服務器,由Web服務器調(diào)用地圖服務器API進行重定中心運算,生成以該經(jīng)度和緯度為中心的柵格圖像,并將該圖像傳到客戶端顯示,實現(xiàn)定位目的。(3)查詢服務客戶端用戶輸入文字信息,該文字信息被傳送到后臺服務端,服務端在地圖上進行快速定位,實現(xiàn)以文查圖功能。(4)系統(tǒng)設置設置地圖視圖方式,分混合視圖、建筑視圖、交通視圖。選擇混合視圖時地圖中將包括建筑物信息及交通信息,選擇建筑視圖時地圖中將只包括建筑物信息而不包括交通信息,選擇交通視圖時地圖中將只包括交通信息而不包括建筑物信息。(5)系統(tǒng)幫助:提供該系統(tǒng)的使用幫助信息。 服務端功能描述地圖服務器端軟件主要負責響應客戶端發(fā)送來的各種請求,并同地圖服務器交互完成數(shù)據(jù)處理和處理后的數(shù)據(jù)發(fā)送。(1)Web服務路由模塊主要負責接收移動客戶端軟件通過HTTP協(xié)議傳送過來的請求數(shù)據(jù)包,并將該請求數(shù)據(jù)包經(jīng)解析后發(fā)送給業(yè)務處理模塊。(2)業(yè)務處理模塊主要根據(jù)用戶的客戶端請求處理類型執(zhí)行相應的業(yè)務邏輯運算,得到運算結果。選擇不同業(yè)務處理響應客戶端服務。(3)數(shù)據(jù)發(fā)送模塊主要完成接收業(yè)務處理模塊的處理結果數(shù)據(jù)并對數(shù)據(jù)進行分析選擇相應的地圖,并將地圖數(shù)據(jù)返回到客戶端。第五章 GPS導航模型詳細設計 系統(tǒng)設計思想 Java設計模式設計模式(Design pattern)是一套被反復使用、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設計經(jīng)驗的總結。使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。利用設計模式可方便地重用成功的設計和結構。把已經(jīng)證實的技術表示為設計模式,使它們更加容易被新系統(tǒng)的開發(fā)者所接受。設計模式幫
點擊復制文檔內(nèi)容
醫(yī)療健康相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1