app inventor中文指導(dǎo)-第7我車(chē)在哪_第1頁(yè)
app inventor中文指導(dǎo)-第7我車(chē)在哪_第2頁(yè)
app inventor中文指導(dǎo)-第7我車(chē)在哪_第3頁(yè)
app inventor中文指導(dǎo)-第7我車(chē)在哪_第4頁(yè)
app inventor中文指導(dǎo)-第7我車(chē)在哪_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

7兒,你的同伴也很茫然。幸運(yùn)的是,你的Android還在,它從來(lái)應(yīng)用,在停車(chē)時(shí)點(diǎn)一下按鈕,Android的位置傳感器會(huì)“記住”GPS學(xué)習(xí)要LocationSensorAndroidTinyDBActivityStarter組件:在應(yīng)用中打開(kāi)谷歌地圖,并顯示從一個(gè)位置到另準(zhǔn)備開(kāi)登陸AppInventor,開(kāi)始一個(gè)新項(xiàng)目“AndroidWhere”(項(xiàng)目名稱測(cè)試。設(shè)計(jì)組Label組件:顯示當(dāng)前位置和“記住”Label顯示GPSLabel顯示“GPS:”Label,如CurrentLatLabelLabel設(shè)定一個(gè)默認(rèn)值(0,0),GPS取得位置信息時(shí),這個(gè)值將隨之改變;兩個(gè)Button組件:記錄位置和指示該位置的方向;TinyDBActivityStarter組件:用于打開(kāi)谷歌地圖,以獲得當(dāng)前位置和記住位置7-17-17-17-1所示的用戶7-1組件類(lèi)面板中分命作User顯示標(biāo)題“當(dāng)前位置Screen放址信User顯示“地址User顯示動(dòng)態(tài)數(shù)據(jù):當(dāng)前址Screen安置GPS信User顯示User顯示動(dòng)態(tài)數(shù)據(jù):當(dāng)前度User顯示ser顯示動(dòng)態(tài)數(shù)據(jù):當(dāng)前度User點(diǎn)擊記錄當(dāng)前位User顯示“已記錄的地點(diǎn)Screen安置已保存的GPS息User顯示“地址User顯示動(dòng)態(tài)數(shù)據(jù):已記的地Screen安置已記錄的GPS息User顯示User顯示動(dòng)態(tài)數(shù)據(jù):已記的緯User顯示Userl顯示動(dòng)態(tài)數(shù)據(jù):已記的經(jīng)User點(diǎn)擊來(lái)顯示地感知GPS信永久保存已記錄的位信打開(kāi)地Label的Text7-GPSLabelText屬性為L(zhǎng)abel的Text屬性為“未知RememberButtonDirectionsButton的Enabled屬性(設(shè)設(shè)置ActivityStarter屬性(7-2),以便ActivityStarter.startActivity可以打開(kāi)谷歌地圖。(7-1中ActivityStarter的屬性顯示不完整。)7-2中未列出的屬性可以留空。7-2ActivityStarter屬值.提示:ActivityStarter組件可在應(yīng)用中打開(kāi)安裝在設(shè)備上的任何其他Android7-2中的屬性必須一字不差地輸入;要 /learn/reference/other/activitystarter.htmlAppInventor為組件添加行當(dāng)LocationSensor到位置信息時(shí),將數(shù)據(jù)填寫(xiě)到相應(yīng)的Label中,表示傳感器已經(jīng)到當(dāng)前位置信息,用戶這時(shí)可以選擇保存此當(dāng)用戶點(diǎn)擊RememberButton時(shí),當(dāng)前位置信息被到“已記錄的地點(diǎn)”Label中。這些信息要保存到設(shè)備數(shù)據(jù)庫(kù)中,以便用戶關(guān)閉并再次打開(kāi)應(yīng)用時(shí),數(shù)據(jù)不會(huì);DirectionsButton時(shí),打開(kāi)谷歌地圖,并顯示“已記錄”位置當(dāng)應(yīng)用重新啟動(dòng)時(shí),從數(shù)據(jù)庫(kù)中加載“已記錄”顯示當(dāng)前位LocationSensor.LocationChanged事件,(1)傳感器首次位置信息時(shí);(2)設(shè)備的位置變化,傳感器讀數(shù)更新時(shí)。首次讀數(shù)有時(shí)僅需幾秒鐘,但如果GPS信號(hào)受到,會(huì)一直沒(méi)有讀數(shù)(也與設(shè)備的設(shè)置有關(guān))GPSLocationSensor的更23章。在到位置信息時(shí),程序要將數(shù)據(jù)寫(xiě)到相應(yīng)的Label中。表7-3列表7-3到位置信息時(shí),用戶界面顯示這些信息所需要的塊的類(lèi)所在抽作當(dāng)收到新的GPS讀數(shù)時(shí),發(fā)該事setel.Text將當(dāng)前地址的新數(shù)據(jù)寫(xiě)入該屬性保存了街道地址信setCurrentLatLabel.Texto將緯度信息寫(xiě)入相應(yīng)的get插入setCurrentLatLabel.Text塊的插set將經(jīng)度信息寫(xiě)入相應(yīng)的get插入setto塊的插seted設(shè)置“記住我現(xiàn)在的位置”按鈕屬插入setedto插塊的作-2所示,te(經(jīng)度)e(緯度)是ids抽屜中抓?。坏玹sir的屬性,因此要從ir抽屜里抓取。irS位置信息之外,還通過(guò)調(diào)用谷歌地圖,獲得了與位置信息相對(duì)應(yīng)的街道地址信息。圖7-2使用LocationSensor當(dāng)前位置信測(cè)試:用(wifi與電腦連接)實(shí)時(shí)測(cè)試位置感知應(yīng)用是無(wú)效的。將程序打包并到上:選擇“buildApp(provideQRcodefor.apk)”,按照提示在上打開(kāi)應(yīng)用。GPS及地址信息顯示在屏幕RememberButton變?yōu)榭捎谩ndroid設(shè)備的位置及安全性設(shè)置,并嘗試走到戶外。要了解信息,請(qǐng)參見(jiàn)第23章。記錄當(dāng)前位RememberButton時(shí),當(dāng)前位置信息被寫(xiě)入“已記錄的地點(diǎn)”下方的label中。表7-4顯示了實(shí)現(xiàn)這能所需要的塊。7-4塊的類(lèi)所在抽作用戶點(diǎn)擊按鈕時(shí)觸發(fā)該事setaLabel.Text將傳感器獲得的地址信息寫(xiě)“已記錄”label該屬性保存了街道地址信setxt將緯度信息寫(xiě)入“已記錄中該屬性保存了緯度信setText將經(jīng)度信息寫(xiě)入“已記錄中該屬性保存了經(jīng)度信setd設(shè)置DirectionsButtoned屬設(shè)置DirectionsButtoned屬性為塊的作RememberButton時(shí),當(dāng)前位置信息將寫(xiě)入“已記錄”label7-3所示。DirectionsButton已可用,這會(huì)有點(diǎn)兒小麻煩,因?yàn)槿绻脩?-3將當(dāng)前位置信息寫(xiě)入“已記錄”label測(cè)試:將應(yīng)用的新版本到,并再次測(cè)試。當(dāng)單擊RememberButton時(shí),當(dāng)前位置信息是否被寫(xiě)入到“已記錄”label顯示“已記錄”位置的DirectionsButton時(shí),應(yīng)用將打開(kāi)谷歌地圖,地圖中顯示ActivityStarterAndroid應(yīng)用,也包括谷歌地圖,但打開(kāi)地圖的關(guān)鍵是設(shè)置ActivityStarter.DataUri屬性,該屬性無(wú)異于你在瀏覽器中直接輸入的。要想搞清楚這一點(diǎn),只需在瀏覽器中打開(kāi)http 向。當(dāng)結(jié)果出來(lái)時(shí),點(diǎn)擊地圖的左上部的按鈕,并檢查顯示的URL。這正是你在應(yīng)用中所需要的URL。分別用一組特定的GPS坐標(biāo)來(lái)表示(而非城市之間)。該URL必須 在瀏覽器中輸入,說(shuō)說(shuō)看,它指引你了那個(gè)著名的地標(biāo)性建這里需要為URL設(shè)定動(dòng)態(tài)參數(shù):起點(diǎn)地址(saddr)(daddr)。幾章中,你已經(jīng)學(xué)會(huì)用join塊將文本連接起來(lái),這里GPSURL中,設(shè)置ActivityStarter.DataUri屬性為URL,然后調(diào)用ActivityStarter.StartActivity7-5列出了此項(xiàng)功能所需要的塊。塊的作DirectionsButtonURL,然后調(diào)用ActivityStarter7-4所示,用join創(chuàng)建的URL發(fā)送給地圖應(yīng)用。最終的URL包含了地圖(http 個(gè)URL參數(shù):saddr與daddr,用來(lái)指定方向的起點(diǎn)位置及終點(diǎn)位置。在本應(yīng)用中,saddr7-5塊的類(lèi)所在抽作用戶點(diǎn)擊”指示方向”按鈕觸發(fā)事setActivityStarter1.DataUri設(shè)置要打開(kāi)地圖的將URL的各組成部分連接起 URL中固定的部分,后面接點(diǎn)當(dāng)前位置的緯度放在值之間的逗當(dāng)前位置的經(jīng)度URL中的第二個(gè)參數(shù),后面終點(diǎn)已記錄位置的緯放在值之間的逗已記錄位置的經(jīng)打開(kāi)地7-4生成一個(gè)URLRememberButtonDirectionsButton時(shí),地圖是否永久保存已記錄的位置信用被關(guān)閉,然后再重新打開(kāi),“記住”的信息也將。實(shí)際上你希望用如果你能想起“開(kāi)車(chē)不發(fā)”應(yīng)用(第4章),說(shuō)明你的思路是正確的,我們需要使用TinyDB數(shù)據(jù)庫(kù)來(lái)永久保存這些數(shù)據(jù),采取的方案當(dāng)用戶點(diǎn)擊RememberButton時(shí),位置信息到數(shù)據(jù)庫(kù)中從修改RememberButton.Click事件處理程序開(kāi)始,來(lái)這些要被“記住”的信息。緯度、經(jīng)度和地址三組信息,需要三次調(diào)用TinyDB.StoreValue7-6列出了所要補(bǔ)充的塊。7-6塊的類(lèi)所在抽作將數(shù)據(jù)保存在設(shè)備數(shù)據(jù)庫(kù)插入TinyDB1.StoreValuetag插槽插入TinyDB1.StoreValuevalue插槽中,久保存地址信插入第二個(gè)TinyDB1.StoreValuetag插槽插入第二個(gè)TinyDB1.StoreValuevalue插中,永久保存緯度信插入第三個(gè)TinyDB1.StoreValuetag插槽插入第三個(gè)TinyDB1.StoreValuevalue插中,永久保存經(jīng)度信塊的作7-5所示,TinyDB1.StoreValueLocationSensor屬性中的位置信息保存到數(shù)據(jù)庫(kù)中。你該記得在“開(kāi)車(chē)不發(fā)”中,StoreValue函數(shù)有兩個(gè)參數(shù),tag與value,tag充當(dāng)已數(shù)據(jù)的標(biāo)識(shí),value是你LocationSensor數(shù)據(jù)。圖7-5在數(shù)據(jù)庫(kù)中被“記住”的位置信啟動(dòng)應(yīng)用時(shí)“記住”的位置信幾章中討論過(guò),應(yīng)用的觸發(fā)Screen.Initialize事件,而在動(dòng)時(shí)從數(shù)據(jù)庫(kù)中數(shù)據(jù)是一種慣例,我們也不例外使用TinyDB.GetValue函數(shù)來(lái)的GPS數(shù)據(jù)。要的GetValue“開(kāi)車(chē)不發(fā)”中一樣,要事先檢查數(shù)據(jù)庫(kù)中否保存了數(shù)據(jù)(如,第一次啟動(dòng)應(yīng)用時(shí),TinyDB.GetValue將返回一個(gè)空文本)。7-6進(jìn)行圖7-6在應(yīng)用啟動(dòng)時(shí),從數(shù)據(jù)庫(kù)中數(shù)據(jù),如果數(shù)據(jù)不為空則顯示塊的作可加載,也不必填寫(xiě)“已記錄”labelDirectionsButton。在后續(xù)的使用中,如果確有數(shù)據(jù),就要從數(shù)據(jù)庫(kù)中加載這些位置信息。首先用“address”為tag()調(diào)用TinyDB1.GetValue函數(shù),之前在位置信息時(shí)使用過(guò)這個(gè)tag。的值保存在變量tempAddress測(cè)試:將新版本應(yīng)用到,并再次測(cè)試。點(diǎn)擊完整的應(yīng)用:Android,我的車(chē)在哪兒7-7顯示了完整的“Android,我的車(chē)在哪兒?”7-7“Android,我的車(chē)在哪兒”改據(jù)庫(kù),用TinyWebDB組件來(lái)替代TinyDB。信息請(qǐng)參見(jiàn)第22來(lái)位置記錄,需要幫助時(shí)請(qǐng)參見(jiàn)第19章。小LocationSensor組件:可以報(bào)告用戶的緯度、經(jīng)度及當(dāng)前的街區(qū)地LocationChanged事件。有關(guān)LocationSensor的信息,請(qǐng)參見(jiàn)第23章;ActivitySt

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論