1. <rp id="zsypk"></rp>

      2. 簡析安卓版自駕天氣手機應(yīng)用的設(shè)計與實現(xiàn)論文

        時間:2021-07-12 14:11:49 論文 我要投稿

        簡析安卓版自駕天氣手機應(yīng)用的設(shè)計與實現(xiàn)論文

          1.總體設(shè)計

        簡析安卓版自駕天氣手機應(yīng)用的設(shè)計與實現(xiàn)論文

          本系統(tǒng)主要是實現(xiàn)一個以自駕出行線路天氣和景區(qū)信息為核心業(yè)務(wù)的移動端,隨時隨地為用戶提供路線天氣和旅游信息服務(wù)。用戶在自駕游途中,打開應(yīng)用可以查看“出發(fā)地—途徑地—目的地”的天氣情況,同時還提供美食信息,購物信息。本應(yīng)用將這些信息以景點為基礎(chǔ)聯(lián)合起來。用戶可以通過一個景點就獲取到景點周邊的美食、購物等信息,可以一站式的規(guī)劃自己的出行安排。

          本應(yīng)用的主要分為:天氣模塊、出行模塊、景點模塊和實景模塊。(如圖1 所示)本應(yīng)用由三個層次組成,分別為底層模塊、支持模塊和業(yè)務(wù)模塊。本著依賴項規(guī)則:源碼依賴項只能向上指向,上層里的所有項不能了解下層所發(fā)生的內(nèi)容。

          2.設(shè)計與實現(xiàn)

          2.1 天氣模塊的設(shè)計與實現(xiàn)

          天氣模塊本身是一個Fragment,基于產(chǎn)品原型圖、用戶體驗的一致性和APK 框架的設(shè)計思想,使用了Fragment 內(nèi)嵌套五個子Fragment 的形式去實現(xiàn)天氣的子模塊。各子模塊的Fragment 的生命周期由自己把控,當Tab 切換到子模塊上時,子模塊開始執(zhí)行自己的生命周期。

          2.1.1 預(yù)報和實況模塊

          將布局文件和Fragment 類建立起映射,同時給布局上的控件和類里面的控件對象建立綁定關(guān)系通過getJSON 方法從網(wǎng)絡(luò)中獲取天氣預(yù)報和實況數(shù)據(jù)。在安卓4.0 版本及其以上的系統(tǒng),為了防止網(wǎng)絡(luò)這一耗時操作阻塞UI 的繪制。因此,新開線程異步地進行網(wǎng)絡(luò)訪問以獲取服務(wù)器返回的JSON 對象。本應(yīng)用中網(wǎng)絡(luò)的訪問均是通過這種模式去實現(xiàn)。

          2.1.2 趨勢圖

          趨勢圖使用畫布類自行繪制,并提供API 修改趨勢圖的走向。天氣趨勢中的折線圖其實現(xiàn)的難度在于,需要一個算法去計算折線上的點在屏幕上的位置,折線兩點之間的度和計算文本的位置。本應(yīng)用使用坡度系數(shù)這個值去定制折線。

          2.1.2.1 通過屏幕的寬和所需要顯示的點數(shù)計算出每一段折線X 軸投影的長度。float wOffset= ((float) this.getWidth() / (2 * topTem.length ‐ 1)) * 2;//X 軸投影長度

          2.1.2.2 通過屏幕的高和坡度系數(shù),以及要顯示數(shù)據(jù)的最大值和最小值計算出中軸線。

          2.1.3 分析圖

          安卓系統(tǒng)中內(nèi)置了高性能的Webkit 瀏覽器,在SDK 中被封裝成了WebView。首先通過網(wǎng)絡(luò)模塊提取URL,然后使用loadUrl()語句調(diào)用,即可在Webview 里面展示網(wǎng)頁。

          2.2 出行模塊的設(shè)計與實現(xiàn)

          2.2.1 路線管理

          路線管理由路線列表和路線定制所組成,在一個FrameLayout 中寫兩個布局,通過設(shè)置布局的可見度,顯示不同的布局。

          在布局文件中,使用幀布局包裹兩個相對布局,其中一個相對布局的可見度為隱藏。并在JAVA 代碼中,對RadioButton 進行監(jiān)聽,當點擊到其中一個時,路線查看界面隱藏,路線定制界面展示,反之亦然。

          2.2.2 地圖模塊

          天氣的預(yù)報、實況、預(yù)警以及路線的實況都與地圖有關(guān),應(yīng)用的地圖使用百度地圖SDK,通過其提供的'API 進行路線的繪制,地圖經(jīng)緯度的采集。

          自定義線路的實現(xiàn):有兩種形式,一是沒有途徑點的形式,一是有途經(jīng)點的形式,沒有途徑點,即調(diào)用 drivingSearch(String strat, MKPlanNode node1, String end, MKPlanNode node2)方法就可以在地圖上顯示出路線了,如果擁有途經(jīng)點,就調(diào)用它的一個重載方法—drivingSearch(String strat, MKPlanNode node1, String end, MKPlanNode node2,List nodes)

          通過drivingSearch 方法我們可以在地圖上展示出一條路線出來。路線的繪制,即在圖上確認一系列的點,將這些點連接成線段,故可以得到起點城市、途經(jīng)點城市和終點城市的經(jīng)緯度,通過這些經(jīng)緯度,我們在其Y軸的做出一定的偏移量,即可繪制出所需要展示的預(yù)報、實況和預(yù)警信息。

          2.3 景點模塊的設(shè)計與實現(xiàn)

          2.3.1 景點導(dǎo)航模塊

          景點導(dǎo)航模塊由三部分構(gòu)成,一是熱門景區(qū)列表,二是全國熱門景區(qū)列表(按省分),三是景點搜索。

          熱門景區(qū)列表是一個ListView,用于展示熱門景區(qū),點擊可以跳轉(zhuǎn)到景點介紹,以及景點的吃住行購。

          全國熱門景點列表是結(jié)合百度地圖SDK 來實現(xiàn)的,在省級縮放度的地圖上,每一個省份在地圖上的表現(xiàn)是一個Button,點擊進去就可以看到該省份的熱門城市。

          2.3.2 吃住行購模塊

          該模塊采用APK 框架,上方的Tab + 下面的Fragment。其中吃住購的實現(xiàn)相同,均是一排篩選器和一個ListView構(gòu)成。行模塊是基于百度地圖SDK 的二次開發(fā),展示景點的位置。篩選器有三個,分別是距離、類型和推薦度,采用了自定義Popup Window View 的方式實現(xiàn)。首先自定義一個View 類繼承PopupWindow 和自定義的SpinnerAdapter,然后使用時,初始化,并填充數(shù)據(jù)。

          2.4 實景模塊的設(shè)計與實現(xiàn)

          圖片瀑布流,即圖片如瀑布般依次展示在屏幕上。對圖片進行分組,以寬度為定值限制圖片大小,向布局中動態(tài)添加指定列數(shù)。

          為了在圖片瀑布流的內(nèi)存使用一直保持在一個合理的范圍,采用了LRU 內(nèi)存緩存技術(shù),它的主要算法原理是把最近使用的對象用強引用存儲在 LinkedHashMap 中,并且把最近最少使用的對象在緩存值達到預(yù)設(shè)定值之前從內(nèi)存中移除。

        【簡析安卓版自駕天氣手機應(yīng)用的設(shè)計與實現(xiàn)論文】相關(guān)文章:

        簡析普通高職院校校園網(wǎng)絡(luò)的設(shè)計與實現(xiàn)論文04-22

        簡析私人銀行設(shè)計論文04-21

        基于Web Service技術(shù)的天氣達人安卓系統(tǒng)的設(shè)計論文04-20

        探討安卓系統(tǒng)的手機定位軟件開發(fā)與設(shè)計論文02-26

        曾卓《懸?guī)r邊的樹》簡析12-06

        安卓手機軟件課件03-30

        安卓手機廣告語01-20

        安卓手機選購指南02-25

        《看云識天氣》的課文簡析12-13

        99热这里只有精品国产7_欧美色欲色综合色欲久久_中文字幕无码精品亚洲资源网久久_91热久久免费频精品无码
          1. <rp id="zsypk"></rp>