版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
目錄Andriod手機(jī)地圖設(shè)計(jì)實(shí)現(xiàn)分析目錄1.緒論 12.設(shè)計(jì)實(shí)現(xiàn) 22.1需求分析 22.2結(jié)構(gòu)設(shè)計(jì) 22.3詳細(xì)設(shè)計(jì) 32.3.1設(shè)計(jì)思想 32.3.2具體實(shí)現(xiàn) 32.3.3程序代碼詳解 93.結(jié)論 11致謝 12參考文獻(xiàn) 13附錄 14TOC\o"1-2"\h\z\u青島濱海學(xué)院畢業(yè)設(shè)計(jì)緒論P(yáng)AGE11.緒論Android是一個(gè)移動(dòng)設(shè)備的軟件平臺(tái),是由Linux+Java構(gòu)成的開源軟件,它提供包括SDK、KeyApps、Middleware、LinuxKernel四個(gè)部分在內(nèi)的全套手機(jī)軟件方案。它開放了基于Linux內(nèi)核以上的開發(fā)工具,從而保證了內(nèi)容的可移植性和多樣性。Android平臺(tái)為我們開發(fā)應(yīng)用程序提供了一套很好的框架,我們可以在這個(gè)平臺(tái)的基礎(chǔ)上開發(fā)不同的應(yīng)用程序,也可以開發(fā)新的組件供應(yīng)用程序調(diào)用。Android是一套真正意義上的開發(fā)性的移動(dòng)設(shè)備綜合平臺(tái),它包括操作系統(tǒng)、中間件和一些關(guān)鍵的平臺(tái)應(yīng)用。Android是由Linux+Java構(gòu)成的開源軟件,允許所有廠商和個(gè)人在其基礎(chǔ)上進(jìn)行開發(fā)。Android平臺(tái)的開放性等特點(diǎn)既能促進(jìn)技術(shù)(包括平臺(tái)本身)的創(chuàng)新,又有助于降低開發(fā)成本,還可以是運(yùn)營商能非常方便地制定自己的特色化的產(chǎn)品。因此,它具有很大的市場(chǎng)發(fā)展?jié)摿?。近年來,Google智能手機(jī)平臺(tái)Android得到了手機(jī)行業(yè)及客戶的普遍認(rèn)可,呈爆炸性的趨勢(shì)發(fā)展,為移動(dòng)運(yùn)營商、手機(jī)制造商、軟件開發(fā)商及客戶提供了無限的發(fā)展空間,使市場(chǎng)上不斷涌現(xiàn)出大量的基于Android平臺(tái)的軟件和增值服務(wù)。隨著手機(jī)功能的不斷發(fā)展,android系統(tǒng)下的各種應(yīng)用程序應(yīng)運(yùn)而生。尤其是谷歌自帶的地圖功能使得地圖開發(fā)更加便捷,開發(fā)之前需為你的電腦注冊(cè)一個(gè)androidgooglemapkey,現(xiàn)在這個(gè)注冊(cè)頁面已經(jīng)遷移了,地圖一般都是應(yīng)用百度地圖,由于我們這個(gè)程序開發(fā)的較早,還是用的googlemap。設(shè)計(jì)實(shí)現(xiàn)2.設(shè)計(jì)實(shí)現(xiàn)2.1需求分析如今Android手機(jī)軟件遍布網(wǎng)絡(luò),各種各樣的軟件有些是不容易操作,有些是沒實(shí)際用處,讓人搞不懂,譬如說地圖軟件就有很多,谷歌地圖、還有使用谷歌地圖的一些軟件,有些還會(huì)插入廣告。這樣就讓人很是反感。我自己也想要一款實(shí)用的、簡易方便操作的軟件。我們團(tuán)隊(duì)做的濱海地圖軟件有兩個(gè)基本點(diǎn),一個(gè)是簡單易用,第二是功能方面基于人性化設(shè)計(jì)。我們第三個(gè)模塊跟第四個(gè)模塊完全從人性化方面考慮,設(shè)身處地的為使用者著想,在一個(gè)陌生地方,由地圖給你推薦旅游線路、地方特色小吃,想想就是一件舒心、溫暖的事情。主要實(shí)現(xiàn)四個(gè)模塊我的位置、我的同伴、景點(diǎn)推薦、特色小吃。2.2結(jié)構(gòu)設(shè)計(jì)Android程序=Activity+xml(view、surfaceview)+res+string.xml濱海地圖軟件景點(diǎn)推薦模塊,主要包括行政樓、博物館、一字湖、路線推薦。每個(gè)頁面進(jìn)入之后是這個(gè)景點(diǎn)的詳細(xì)介紹,可以點(diǎn)擊景點(diǎn)位置跳轉(zhuǎn)到景點(diǎn)在地圖上的位置,也可返回上一頁面。線路推薦則是推薦的幾條游玩線路,選中任意一條線路可進(jìn)入在地圖上顯示的線路,線路用紅色線標(biāo)出。經(jīng)典推薦模塊的主頁面設(shè)計(jì)的上面是輪轉(zhuǎn)圖片,下面是可拖動(dòng)的景點(diǎn)列表。2.3詳細(xì)設(shè)計(jì)2.3.1設(shè)計(jì)思想(1)xml配置文件采用LinearLayout線性布局、RelativeLayout相對(duì)布局對(duì)軟件的界面進(jìn)行布局。(2)繼承View類主要是使用了EditText、TextView、button、ImageView等等界面控件2.3.2具體實(shí)現(xiàn)濱海地圖程序圖標(biāo)如圖2-1,濱海地圖主界面如圖2-2所示,濱海地圖軟件景點(diǎn)推薦模塊主界面如下圖2-3所示,下面我主要介紹景點(diǎn)推薦模塊設(shè)計(jì)。圖2-1濱海地圖程序圖標(biāo)圖2-2主界面圖2-3景點(diǎn)推薦模塊界面這一界面設(shè)計(jì)用的是相對(duì)布局,頁面可以上下拖動(dòng),最下面Menu菜單是用絕對(duì)布局固定住的。上面的圖片是輪轉(zhuǎn)圖片,如圖2-4、2-5、2-6。圖2-4輪轉(zhuǎn)圖片1圖2-5輪轉(zhuǎn)圖片2圖2-6輪轉(zhuǎn)圖片3行政樓(1)、行政樓界面如圖2-7所示,顯示了行政樓的圖片以及簡介。(2)、點(diǎn)擊景點(diǎn)位置按鈕進(jìn)入的是景點(diǎn)所在位置,以紅點(diǎn)表示,如圖2-8。(3)、點(diǎn)擊返回按鈕返回上一頁面。圖2-7行政樓圖2-8景點(diǎn)所在位置博物館(1)、博物館界面如圖2-9所示,顯示了博物館的圖片以及簡介。(2)、點(diǎn)擊景點(diǎn)位置按鈕進(jìn)入的是景點(diǎn)所在位置,以紅點(diǎn)表示,如圖2-10。(3)、點(diǎn)擊返回按鈕返回上一頁面。圖2-9博物館圖2-10景點(diǎn)所在位置一字湖(1)、一字湖界面如圖2-11所示,顯示了一字湖的圖片以及簡介。(2)、點(diǎn)擊景點(diǎn)位置按鈕進(jìn)入的是景點(diǎn)所在位置,以紅點(diǎn)表示,如圖2-12。(3)、點(diǎn)擊返回按鈕返回上一頁面。圖2-11一字湖圖2-12景點(diǎn)所在位置路線推薦界面(1)、線路推薦界面如圖2-13,(2)、點(diǎn)擊某條線路進(jìn)入的是線路圖頁面,以紅線表示、第一條如圖2-14,第二條如圖2-15,第三條如圖2-16。(3)、點(diǎn)擊返回按鈕返回上一頁面。圖2-13路線推薦界面圖2-14線路1圖2-15線路2圖2-16線路32.3.3程序代碼詳解1、輪轉(zhuǎn)圖片,是使用dispatchTouchEvent、onTouchEvent方法。(1)viewGroup的dispatchTouchEvent方法會(huì)在其onInterceptTouchEvent方法之前被觸發(fā).又搜了些資料,個(gè)人覺得最受用的總結(jié)如下:首先觸發(fā)ACTIVITY的dispatchTouchEvent,然后觸發(fā)ACTIVITY的onUserInteraction,然后觸發(fā)LAYOUT的dispatchTouchEvent,然后觸發(fā)LAYOUT的onInterceptTouchEvent。publicbooleanonTouchEvent(MotionEventevent)參數(shù)event:參數(shù)event為手機(jī)屏幕觸摸事件封裝類的對(duì)象,其中封裝了該事件的所有信息,例如觸摸的位置、觸摸的類型以及觸摸的時(shí)間等。該對(duì)象會(huì)在用戶觸摸手機(jī)屏幕時(shí)被創(chuàng)建。返回值:該方法的返回值機(jī)理與鍵盤響應(yīng)事件的相同,同樣是當(dāng)已經(jīng)完整地處理了該事件且不希望其他回調(diào)方法再次處理時(shí)返回true,否則返回false。該方法并不像之前介紹過的方法只處理一種事件,一般情況下以下三種情況的事件全部由onTouchEvent方法處理,只是三種情況中的動(dòng)作值不同。屏幕被按下:當(dāng)屏幕被按下時(shí),會(huì)自動(dòng)調(diào)用該方法來處理事件,此時(shí)MotionEvent.getAction()的值為MotionEvent.ACTION_DOWN,如果在應(yīng)用程序中需要處理屏幕被按下的事件,只需重新該回調(diào)方法,然后在方法中進(jìn)行動(dòng)作的判斷即可。屏幕被抬起:當(dāng)觸控筆離開屏幕時(shí)觸發(fā)的事件,該事件同樣需要onTouchEvent方法來捕捉,然后在方法中進(jìn)行動(dòng)作判斷。當(dāng)MotionEvent.getAction()的值為MotionEvent.ACTION_UP時(shí),表示是屏幕被抬起的事件。在屏幕中拖動(dòng):該方法還負(fù)責(zé)處理觸控筆在屏幕上滑動(dòng)的事件,同樣是調(diào)用MotionEvent.getAction()方法來判斷動(dòng)作值是否為MotionEvent.ACTION_MOVE再進(jìn)行處理。2、絕對(duì)布局、相對(duì)布局。AbsoluteLayout(絕對(duì)布局),在拖動(dòng)控件,或有動(dòng)畫的空間中常用絕對(duì)布局;我使用的標(biāo)簽有android:layout_above="@id/footbar_layout_ly"android:layout_below="@id/title_ry">在簡單頁面運(yùn)用相對(duì)布局布局,靈活性很大,兩種布局嵌套使用等等。設(shè)計(jì)方面還使用了EditText、TextView、button、ImageView等界面控件。青島濱海學(xué)院畢業(yè)設(shè)計(jì)結(jié)論3.結(jié)論濱海地圖軟件我個(gè)人認(rèn)為做的很成功,但也有需要改進(jìn)的地方,比如說地圖調(diào)用方面有時(shí)會(huì)出現(xiàn)問題,我想以后改為百度地圖的開發(fā),界面設(shè)計(jì)還需要更加的優(yōu)化,我的技術(shù)還是不夠成熟,還需要繼續(xù)努力。通過設(shè)計(jì)濱海地圖軟件,加強(qiáng)了我對(duì)Android手機(jī)應(yīng)用程序開發(fā)的理解,學(xué)會(huì)掌握了dispatchTouchEvent、onTouchEvent方法。濱海地圖的設(shè)計(jì)過程,讓我更加深刻的了解了Android平臺(tái)。本論文從軟件的產(chǎn)生背景需求到詳細(xì)設(shè)計(jì)最后還給出了具體的實(shí)現(xiàn),算是一個(gè)較完整的小項(xiàng)目。設(shè)計(jì)中我學(xué)到了很多在書本上學(xué)不到的知識(shí),本來以為軟件開發(fā)是一件很簡單的事情,但通過自己親自動(dòng)手才了解到,軟件開發(fā)不是那么簡單。做軟件其實(shí)是一個(gè)很復(fù)雜而艱苦的工作,其中有很多的技巧和無奈,不過當(dāng)做出來的時(shí)候也是非常有成就感的。設(shè)計(jì)讓我們把平時(shí)在書本上的理論知識(shí)得到了升華,對(duì)目前流行的軟件開發(fā)方法和手段,有了一定的認(rèn)識(shí),豐富了軟件開發(fā)的經(jīng)驗(yàn),提高了編制程序的水平,SharedPreferences、JAVA、Android的使用增加了我的知識(shí)面。通過這次設(shè)計(jì),我感覺到我的知識(shí)不足,在遇到問題的時(shí)候需要各種查資料,通過這個(gè)軟件的編寫使我更加了解軟件的開發(fā),現(xiàn)在我能夠清晰地認(rèn)識(shí)到實(shí)踐對(duì)于能力提高的重要性與必要性。總結(jié)一下,本次設(shè)計(jì)讓我學(xué)到了很多課本上沒有的東西,并且對(duì)我的將來有用的東西,不僅是理論上的更多的是實(shí)踐上的。同時(shí)也讓我看到了自己的差距,要想在以后的工作中游刃有余,還需要更多的努力!參考文獻(xiàn)參考文獻(xiàn)[1]《android開發(fā)入門指南》(第2版)索蓋林著[2]孫衛(wèi)琴.Tomcat與JavaWeb開發(fā)電子工業(yè)出版社2007年2月,第二版[3]《BeginningAndroid》MarkL.Murphy著[4]郭宏志.Android應(yīng)用開發(fā)詳解電子工業(yè)出版社2011年5月,第一版[5]《UnlockingAndroid》W.FRANKABLESON,CHARLIECOLLINS,ROBISEN著青島濱海學(xué)院畢業(yè)設(shè)計(jì)附錄附錄部分實(shí)現(xiàn)代碼圖片輪轉(zhuǎn)xml部分<hui.mytest.MyScrollViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/viewflipper_scrollview"android:scrollbars="none"android:focusable="false"android:layout_above="@id/footbar_layout_ly"android:layout_below="@id/title_ry"><RelativeLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"><ViewFlipperandroid:id="@+id/mViewFliper_vf"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="15dip"><LinearLayoutandroid:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center"> <ImageView android:id="@+id/imageview1" android:layout_width="wrap_content" android:layout_height="220dip" android:background="@drawable/default_pic_1" android:contentDescription="@string/app_name"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center"> <ImageView android:layout_width="wrap_content" android:layout_height="220dip" android:background="@drawable/default_pic_2" android:contentDescription="@string/app_name"/></LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center"> <ImageView android:layout_width="wrap_content" android:layout_height="220dip" android:background="@drawable/default_pic_3" android:contentDescription="@string/app_name"/> </LinearLayout></ViewFlipper>2、圖片輪轉(zhuǎn)action部分 packagehui.mytest;importandroid.content.Context;importandroid.util.AttributeSet;importandroid.view.GestureDetector;importandroid.view.MotionEvent;importandroid.widget.ScrollView;publicclassMyScrollViewextendsScrollView{ GestureDetectorgestureDetector; publicMyScrollView(Contextcontext){ super(context); //TODOAuto-generatedconstructorstub } publicMyScrollView(Contextcontext,AttributeSetattrs){ super(context,attrs); //TODOAuto-generatedconstructorstub } publicMyScrollView(Contextcontext,AttributeSetattrs,intdefStyle){ super(context,attrs,defStyle); //TODOAuto-generatedconstructorstub } publicvoidsetGestureDetector(GestureDetectorgestureDetector){ this.gestureDetector=gestureDetector; } @Override publicbooleanonTouchEvent(MotionEventev){ //TODOAuto-generatedmethodstub super.onTouchEvent(ev); returngestureDetector.onTouchEvent(ev); } @Override publicbooleandispatchTouchEvent(MotionEventev){ gestureDetector.onTouchEvent(ev); super.dispatchTouchEvent(ev); returntrue; }}3、主頁面xml<?xmlversion="1.0"encoding="utf-8"?><RelativeLayoutxmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="@android:color/white"android:orientation="vertical"><RelativeLayoutandroid:id="@+id/title_ry"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentTop="true"><includelayout="@layout/index_title_layout"/></RelativeLayout><LinearLayoutandroid:id="@+id/footbar_layout_ly"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentBottom="true"><includelayout="@layout/index_footbar_layout"></include>"</LinearLayout><hui.mytest.MyScrollViewandroid:layout_width="match_parent"android:layout_height="wrap_content"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中學(xué)學(xué)生社團(tuán)活動(dòng)經(jīng)費(fèi)使用規(guī)范制度
- 企業(yè)內(nèi)部保密工作監(jiān)督制度
- 公共交通安全事故處理制度
- 2026年計(jì)算機(jī)視覺技術(shù)挑戰(zhàn)題集算法與圖像處理解析
- 2026年英語語法與閱讀理解能力測(cè)試題集
- 2026年計(jì)算機(jī)二級(jí)考試編程題精講
- 2026年文獻(xiàn)檢索與論文寫作技能提高題庫
- 2025年隱私計(jì)算技術(shù)專利池許可費(fèi)率計(jì)算模型協(xié)議
- 2025年三年級(jí)音樂音樂與心理復(fù)原力期末試卷
- 傳聲港平臺(tái)新華網(wǎng)發(fā)稿服務(wù) -AI驅(qū)動(dòng)下的權(quán)威媒體精準(zhǔn)傳播與品效合一解決方案
- DB31T 330.2-2013 鼠害與蟲害預(yù)防與控制技術(shù)規(guī)范 第2部分:蚊蟲防制
- 河北審圖合同協(xié)議
- 溴化鋰機(jī)組回收合同(2篇)
- 菏澤某中學(xué)歷年自主招生試題
- 醫(yī)院非產(chǎn)科孕情管理和三病檢測(cè)工作流程
- 中小學(xué)的德育工作指南課件
- GB/T 3487-2024乘用車輪輞規(guī)格系列
- 物業(yè)保潔保安培訓(xùn)課件
- 人教版初中英語七至九年級(jí)單詞匯總表(七年級(jí)至九年級(jí)全5冊(cè))
- cnc加工中心點(diǎn)檢表
- 計(jì)劃決策評(píng)審-匯報(bào)模板課件
評(píng)論
0/150
提交評(píng)論