app inventor中文指导-第7我车在哪_第1页
app inventor中文指导-第7我车在哪_第2页
app inventor中文指导-第7我车在哪_第3页
app inventor中文指导-第7我车在哪_第4页
app inventor中文指导-第7我车在哪_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

7儿,你的同伴也很茫然。幸运的是,你的Android还在,它从来应用,在停车时点一下按钮,Android的位置传感器会“记住”GPS学习要LocationSensorAndroidTinyDBActivityStarter组件:在应用中打开谷歌地图,并显示从一个位置到另准备开登陆AppInventor,开始一个新项目“AndroidWhere”(项目名称测试。设计组Label组件:显示当前位置和“记住”Label显示GPSLabel显示“GPS:”Label,如CurrentLatLabelLabel设定一个默认值(0,0),GPS取得位置信息时,这个值将随之改变;两个Button组件:记录位置和指示该位置的方向;TinyDBActivityStarter组件:用于打开谷歌地图,以获得当前位置和记住位置7-17-17-17-1所示的用户7-1组件类面板中分命作User显示标题“当前位置Screen放址信User显示“地址User显示动态数据:当前址Screen安置GPS信User显示User显示动态数据:当前度User显示ser显示动态数据:当前度User点击记录当前位User显示“已记录的地点Screen安置已保存的GPS息User显示“地址User显示动态数据:已记的地Screen安置已记录的GPS息User显示User显示动态数据:已记的纬User显示Userl显示动态数据:已记的经User点击来显示地感知GPS信永久保存已记录的位信打开地Label的Text7-GPSLabelText属性为Label的Text属性为“未知RememberButtonDirectionsButton的Enabled属性(设设置ActivityStarter属性(7-2),以便ActivityStarter.startActivity可以打开谷歌地图。(7-1中ActivityStarter的属性显示不完整。)7-2中未列出的属性可以留空。7-2ActivityStarter属值.提示:ActivityStarter组件可在应用中打开安装在设备上的任何其他Android7-2中的属性必须一字不差地输入;要 /learn/reference/other/activitystarter.htmlAppInventor为组件添加行当LocationSensor到位置信息时,将数据填写到相应的Label中,表示传感器已经到当前位置信息,用户这时可以选择保存此当用户点击RememberButton时,当前位置信息被到“已记录的地点”Label中。这些信息要保存到设备数据库中,以便用户关闭并再次打开应用时,数据不会;DirectionsButton时,打开谷歌地图,并显示“已记录”位置当应用重新启动时,从数据库中加载“已记录”显示当前位LocationSensor.LocationChanged事件,(1)传感器首次位置信息时;(2)设备的位置变化,传感器读数更新时。首次读数有时仅需几秒钟,但如果GPS信号受到,会一直没有读数(也与设备的设置有关)GPSLocationSensor的更23章。在到位置信息时,程序要将数据写到相应的Label中。表7-3列表7-3到位置信息时,用户界面显示这些信息所需要的块的类所在抽作当收到新的GPS读数时,发该事setel.Text将当前地址的新数据写入该属性保存了街道地址信setCurrentLatLabel.Texto将纬度信息写入相应的get插入setCurrentLatLabel.Text块的插set将经度信息写入相应的get插入setto块的插seted设置“记住我现在的位置”按钮属插入setedto插块的作-2所示,te(经度)e(纬度)是ids抽屉中抓取;但tsir的属性,因此要从ir抽屉里抓取。irS位置信息之外,还通过调用谷歌地图,获得了与位置信息相对应的街道地址信息。图7-2使用LocationSensor当前位置信测试:用(wifi与电脑连接)实时测试位置感知应用是无效的。将程序打包并到上:选择“buildApp(provideQRcodefor.apk)”,按照提示在上打开应用。GPS及地址信息显示在屏幕RememberButton变为可用。Android设备的位置及安全性设置,并尝试走到户外。要了解信息,请参见第23章。记录当前位RememberButton时,当前位置信息被写入“已记录的地点”下方的label中。表7-4显示了实现这能所需要的块。7-4块的类所在抽作用户点击按钮时触发该事setaLabel.Text将传感器获得的地址信息写“已记录”label该属性保存了街道地址信setxt将纬度信息写入“已记录中该属性保存了纬度信setText将经度信息写入“已记录中该属性保存了经度信setd设置DirectionsButtoned属设置DirectionsButtoned属性为块的作RememberButton时,当前位置信息将写入“已记录”label7-3所示。DirectionsButton已可用,这会有点儿小麻烦,因为如果用户7-3将当前位置信息写入“已记录”label测试:将应用的新版本到,并再次测试。当单击RememberButton时,当前位置信息是否被写入到“已记录”label显示“已记录”位置的DirectionsButton时,应用将打开谷歌地图,地图中显示ActivityStarterAndroid应用,也包括谷歌地图,但打开地图的关键是设置ActivityStarter.DataUri属性,该属性无异于你在浏览器中直接输入的。要想搞清楚这一点,只需在浏览器中打开http 向。当结果出来时,点击地图的左上部的按钮,并检查显示的URL。这正是你在应用中所需要的URL。分别用一组特定的GPS坐标来表示(而非城市之间)。该URL必须 在浏览器中输入,说说看,它指引你了那个著名的地标性建这里需要为URL设定动态参数:起点地址(saddr)(daddr)。几章中,你已经学会用join块将文本连接起来,这里GPSURL中,设置ActivityStarter.DataUri属性为URL,然后调用ActivityStarter.StartActivity7-5列出了此项功能所需要的块。块的作DirectionsButtonURL,然后调用ActivityStarter7-4所示,用join创建的URL发送给地图应用。最终的URL包含了地图(http 个URL参数:saddr与daddr,用来指定方向的起点位置及终点位置。在本应用中,saddr7-5块的类所在抽作用户点击”指示方向”按钮触发事setActivityStarter1.DataUri设置要打开地图的将URL的各组成部分连接起 URL中固定的部分,后面接点当前位置的纬度放在值之间的逗当前位置的经度URL中的第二个参数,后面终点已记录位置的纬放在值之间的逗已记录位置的经打开地7-4生成一个URLRememberButtonDirectionsButton时,地图是否永久保存已记录的位置信用被关闭,然后再重新打开,“记住”的信息也将。实际上你希望用如果你能想起“开车不发”应用(第4章),说明你的思路是正确的,我们需要使用TinyDB数据库来永久保存这些数据,采取的方案当用户点击RememberButton时,位置信息到数据库中从修改RememberButton.Click事件处理程序开始,来这些要被“记住”的信息。纬度、经度和地址三组信息,需要三次调用TinyDB.StoreValue7-6列出了所要补充的块。7-6块的类所在抽作将数据保存在设备数据库插入TinyDB1.StoreValuetag插槽插入TinyDB1.StoreValuevalue插槽中,久保存地址信插入第二个TinyDB1.StoreValuetag插槽插入第二个TinyDB1.StoreValuevalue插中,永久保存纬度信插入第三个TinyDB1.StoreValuetag插槽插入第三个TinyDB1.StoreValuevalue插中,永久保存经度信块的作7-5所示,TinyDB1.StoreValueLocationSensor属性中的位置信息保存到数据库中。你该记得在“开车不发”中,StoreValue函数有两个参数,tag与value,tag充当已数据的标识,value是你LocationSensor数据。图7-5在数据库中被“记住”的位置信启动应用时“记住”的位置信几章中讨论过,应用的触发Screen.Initialize事件,而在动时从数据库中数据是一种惯例,我们也不例外使用TinyDB.GetValue函数来的GPS数据。要的GetValue“开车不发”中一样,要事先检查数据库中否保存了数据(如,第一次启动应用时,TinyDB.GetValue将返回一个空文本)。7-6进行图7-6在应用启动时,从数据库中数据,如果数据不为空则显示块的作可加载,也不必填写“已记录”labelDirectionsButton。在后续的使用中,如果确有数据,就要从数据库中加载这些位置信息。首先用“address”为tag()调用TinyDB1.GetValue函数,之前在位置信息时使用过这个tag。的值保存在变量tempAddress测试:将新版本应用到,并再次测试。点击完整的应用:Android,我的车在哪儿7-7显示了完整的“Android,我的车在哪儿?”7-7“Android,我的车在哪儿”改据库,用TinyWebDB组件来替代TinyDB。信息请参见第22来位置记录,需要帮助时请参见第19章。小LocationSensor组件:可以报告用户的纬度、经度及当前的街区地LocationChanged事件。有关LocationSensor的信息,请参见第23章;ActivitySt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论