android 實踐項目 總結 (修改)

                                 

Android手機定位與地圖實現android

         在一個不熟悉的環境中,得到本身的位置,選擇合適的就餐地點,住宿和公交路線成爲一項難題。本次的實踐項目就是爲了解決上述難題的,經過調用百度地圖的接口實現定位、查詢公交路線、尋找合適的餐飲及住宿等功能,知足人們出行功能。數組

 

一 需求分析eclipse

1.1 功能需求工具

    1)地圖瀏覽和控制----提供國內大多數城市的瀏覽和對地圖基本控制,如放大、縮小、衛星切換等等。性能

    2)搜索地點----可以根據用戶提供的信息,搜索對應的位置。如火車站地點、餐館、酒店等等。學習

    3)公交查詢------查詢某一城市的特定公交路線。測試

    4)個人位置---實時定位用戶的位置。優化

1.2 性能需求設計

         在項目開發完成後,是否能安裝在各種實體機上,而且實現預期的功能。xml

1.3 可擴展性需求

         在將來,隨着客戶需求的增長,該項目能很好的擴展,來實現更多的功能。

Axure建模 當鼠標停在搜索框中,提示的文字消失;還有一組單選按鈕

 

 

二 系統設計

2.1 本系統主要分爲四個模塊,以下圖所示:

 

1)定位功能模塊----利用GPS提供的服務,獲得當前用戶所在的位置,而且可以根據用戶的位置實時更新。

2)公交路線查詢模塊----能夠查詢城市的某一特定公交路線的行車路線,並將各站點標識出來。

3 目的地查詢模塊----用戶經過輸入具體的城市和地點信息,能夠查看該地點的所處在的地圖,並將紅色的標點標識出來。

4)其餘模塊。更具用戶的需求進行添加。

2.二、系統的操做流程圖。

 下圖爲系統的操做流程圖:

 

 

2.三、類的相互關係

  在百度地圖幾種功能的實現中他們擁有的類以下圖所示:

  在這項工程中,各個子界面是相互獨立存在的,從上圖可看出子界面的獨立存在的類和共同享有的類;共同擁有的類是實現調用接口,使圖形可視化。

2.3.一、定位類的關係

 

 

 

3、系統實現

3.1 系統的實現須要百度地圖的受權。首先申請KEY;申請Key後須要在androidManifest.xml取得百度給予的權利:

 

因爲系統會在不一樣屏幕上運行,因此須要適應不一樣的屏幕,給用戶留下好的體驗實現的方式是:

3.二、主界面

        主界面的標題顯示是用setText()方法實現,BMapApiDemoMap的類來展現主窗口。並經過創建一個數組demo對象將進入子界面的按鈕顯示出來。對過單擊列表onListItemClick方法能夠進入相對應的子界面中。

 

3.三、定位子界面

         經過BaiduMap是地圖的操做方法與接口,並經過MapView進行顯示地圖的視圖,默認的地圖中心爲天安門廣場。怎麼實現定位?是經過定位服務客戶端類LocationClient 調用setOpenGps()方法打開手機的GPS實現實時定位。

 

       從上圖中咱們能看到普通、默認圖標、自定義圖標。它們的共能分別是定位模式按鈕及定位圖標按鈕。定位模式是經過LocationMode類實現的,在這裏定位模式有三種模式,分別爲普通模式、跟隨模式、羅盤模式,當點擊按鈕時經過OnClickListener類進行監聽單擊的變化,來實現不一樣的模式。RadioGroup中使用類組單選按鈕。若是咱們選中一個單選按鈕,他會自動取消同一組以前的單選按鈕,進行切換定位的圖標。

3.四、公交查詢子界面

       PoiSearch爲搜索類、BusLineSearch爲城市公交查詢類,這兩個類的聯合使用能查詢公交路線。爲了很好的查看公交路線的公交站點,使用popupText顯示出來。下圖是實例圖:

 

 

 

3.五、目的地的查詢模塊。

       主要經過PoiSearch搜尋感興趣的地方,實現查找。當查找不成功是,會提示未找到結果。

由於查找不可能很精確,因此用一組按鈕,顯示沒有在圖中標記感興趣的點。如圖:

 

 

 

 

4、測試

 

4.一、功能測試用例測試用例

4.1.一、定位功能的實例測試

         爲了檢驗定位功能,作出了以下的測試:

 

         在測試中,基本符合了實時定位的要求,只是在定位界面中設置的定位模式按鈕的功能沒有達到要求。

4.1.二、公交查詢的實例測試

 

進過上面的測試知足公交路線查詢功能。

4.1.三、目的查詢的實例測試

 

經過測試知足以感興趣地點的查詢。

 4.2 定位實例測試

         根據變換定位圖標的形狀來測試設計的功能

 

 

4.2 公交查詢實例測試

當輸入能容不能查到結果會自動提示

 

 

當輸入正確時會出現公交路線圖

 

 

4.3 地點查詢實例測試

當輸入的地點查找不到時

 

當輸入正確的地點和名稱

 

通過測試咱們能夠發現,設計的系統基本符合要求。

 

    五 總結

5.1 開發過程遇到的問題和解決

一、android studio 環境的搭建。開始在android studio搭建百度地圖開發的環境時,一直提示導入的.jar包不正確,查找了一些android studio配置百度地圖環境方式。我一 一試過依然不正確;最終放棄android studio 軟件進行開發。本次項目的軟件是用曾俊宏提供的eclipse軟件進行開發的。

二、網上有不少android百度地圖開發的教程,可是我自借鑑他們作的工程時,發先一個很大的問題他們導入的.jar包不少着找不到了,利用如今的.jar包,來寫教程給的代碼會出問題。所以找到一個合適的.jar 包很重要。還有他們提供的android本版本比較低,雖然在eclipse提示有問題,可是問題很快就消失了。若是咱們將程序導入虛擬機或者實體機,咱們導入的軟件會自動退出,不能正常的工做。

三、在百度地圖開發中心申請key也出現了一些問題,有可能申請的key在工程中是不起做用的。在申請時必須輸入正確的eclipse 的hash值 和創建工程的包名。不然調不出百度地圖的圖形或者調出來圖形不能知足工程的須要。

5.2 項目的不足與改進計劃

 1)、在此次的項目中,算然實現的功能模塊不少,可是不能有效的整合在一個界面中,給人一種界面比較亂的感受。

2)、許多子界面的功能重合,很大的浪費了資源。須要進行代碼整合和優化達到系統的優化,使用戶更願意接受。

3)程序託管在開源中國。(永遠的q2)。

 5.3 感悟

在整個課程中學到了不少有益的東西

一、在學習中對知識的總結是一件很重要的事情。即能對前段學到的知識進行概括和了解本身掌握的東西,還能爲下階段學習進行合理的安排,提升學習的效率。

二、對知識要保持求知,求知慾越強越能激發本身的學習慾望。婁老師是我很好的榜樣,要向老師多學習。

三、在上週,老師的講話,我深受啓發,只有多學習多掌握知識才能找到本身的興趣愛好,在工做中才能有更多的選擇。

四、在這短短兩個月中,從老師這裏學到不少的知識,在之後的研究生期間會有利本身的學習。最遺憾的是沒有掌握老師給咱們建議的學習工具,JAVA 和android不能靈活的應用。

五、學習時間安排不合理,有畏難的思想;主要緣由是大學期間懶散的思想,還保留着,在之後的學習中會克服掉。

六、在之後的研究生期間但願還能跟着婁老師學習,並提高本身的能力。

相關文章
相關標籤/搜索