App-Inventor移动应用开发标准教程11课件_第1页
App-Inventor移动应用开发标准教程11课件_第2页
App-Inventor移动应用开发标准教程11课件_第3页
App-Inventor移动应用开发标准教程11课件_第4页
App-Inventor移动应用开发标准教程11课件_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

第11讲

组件-通信连接该组件可以使用启动活动对象(StartActivity)方法启动一个活动(即调用其它app)。可以被启动的活动包括:启动由AppInventor创建的其它应用。首先要通过下载其它应用程序的源代码弄清楚类名(class),然后使用文件资源管理器或解压缩程序解压源文件(如把源文件的扩展名修改成.zip或.rar,然后用winrar解压),在解压后的文件夹下找到“youngandroidproject/perties”,打开“perties”文件的第一行是“main=”,紧接着是类名Activity启动器ActivityStarter下面以HelloPurr为例,perties文件内容为:main=appinventor.ai_powerhope.HelloPurr.Screen1name=HelloPurrassets=../assetssource=../srcbuild=../buildversioncode=1versionname=1.0useslocation=FalseActivity启动器ActivityStarter为了让你的启动活动对象(StartActivity)方法启动这个应用程序,设置以下属性:活动包(ActivityPackage):“main”后面去掉最后一个组件,如“appinventor.ai_powerhope.HelloPurr”。活动类(ActivityClass):整个类名,如“appinventor.ai_powerhope.HelloPurr.Screen1”。Activity启动器ActivityStarter启动摄像头应用。属性设置如下:动作【Action】:ent.action.MAIN活动包【ActivityPackage】:com.android.camera活动类【ActivityClass】:com.android.camera.CameraActivity启动器ActivityStarter执行Web搜索。假设你想搜索“吸血鬼”(替换成你要搜索的关键词),属性设置如下:Action:ent.action.WEB_SEARCHExtraKey:queryExtraValue:吸血鬼ActivityPackage:viders.enhancedgooglesearchActivityClass:viders.enhancedgooglesearch.LauncherActivity启动器ActivityStarter打开浏览器到指定的web页面。假设你想打开“”(或其他网站),属性设置如下:Action:ent.action.VIEWDataUri:Activity启动器ActivityStarterActivity启动器ActivityStarterActivity启动器ActivityStarterAction:动作,将启动的activity动作,即Android中Intent。如ent.action.MAINActivityClass:活动类,将启动的activity类名。如appinventor.ai_powerhope.HelloPurr.Screen1ActivityPackage:活动包,将启动的activity包名。如appinventor.ai_powerhope.HelloPurrActivity启动器ActivityStarterDataType:数据类型DataUri:URI传到将启动的activity。ExtraKey:文本键名传递给activity。ExtraValue:文本值传递给activity。Extras:接受一个用作键/值对的列表,传递给activity。Result:被启动的activity的返回值。ResultName:用来从被启动的activity提取结果的名称。Activity启动器ActivityStarterResultType:从被启动的activity返回的类型信息。ResultUri:从被启动的activity返回的URI(或数据)信息。活动调用取消(ActivityCanceled):因为活动(Activity)被取消,ActivityStarter返回时触发事件。活动调用结束(AfterActivity):在ActivityStarter返回后,触发该事件。Activity启动器ActivityStarter处理活动信息(ResolveActivity):返回与ActivityStarter对应的活动(Activity)的名称,如果找不到相应的活动,则返回空字符串。启动活动对象(StartActivity):启动ActivityStarter对应的活动(Activity)。Activity启动器ActivityStarterActivity启动器ActivityStarterActivity启动器ActivityStarter此外,也可以在手机上安装专门的查看应用包名的app,如“包名查看器”。另外,调用系统某些功能时,不同品牌手机可能略有不同,如华为Mate8的照相机的包名和类名都为“com.huawei.camera”Activity启动器例:实现播放器,用ES文件浏览器进行选择文件。下载ES文件浏览器/安装到Android手机Activity启动器ActivityStarter播放器播放器-界面播放器播放器Web客户端是非可视组件,提供了HTTP的GET、POST、PUT和DELETE请求。Web客户端允许使用cookies(AllowCookies):是否允许来自响应的cookies在设备上保存,并在后续的请求中使用。Cookies只支持Android2.3或更高版本。请求头(RequestHeaders):请求头是一个列表,列表元素为包含两个元素的子列表。每个子列表的第一个元素为请求头字段名。每个子列表的第二个元素为请求头字段值,它可能是单个值或包含多个值的列表。Web客户端属性响应文件名称(ResponseFileName):响应的文件被保存的文件名。如果保存响应信息(SaveResponse)的属性值为true和响应文件名称(ResponseFileName)的属性值为空,则将生成新的文件名。保存响应信息(SaveResponse):是否将响应保存为文件。网址(Url):Web请求的URL地址。Web客户端属性Web客户端Web客户端Web客户端获得文件(GotFile):事件表明请求已经完成。获得文本(GotText):事件表明请求已经完成。返回参数说明:响应代码:是用以表示网页服务器HTTP响应状态的3位数字代码。它由RFC2616规范定义的,并得到RFC2518、RFC2817、RFC2295、RFC2774、RFC4918等规范扩展。Web客户端事件HTTP协议状态码表示的意思主要分为五类:1××保留

2××表示请求成功地接收

3××为完成请求客户需进一步细化请求

4××客户错误

5××服务器错误

如200表示请求已成功,请求所希望的响应头或数据体将随此响应返回。其它详细的状态码可以网上查询。响应类型:是服务器响应的HTTP内容类型。如text/html,image/GIF等。Web客户端事件解码HTML文本(HtmlTextDecode):对给定的HTML文本值进行解码。HTML字符实体,如&,<,>,'"经解码后将变为&,<,>,',"。而像&#xhhhh,&#nnnn这样的实体将被转换为适当的字符。解码Json文本(JsonTextDecode):解码给定的JSON编码的值,生成相应的AppInventor值。一个JSON列表[x,y,z]经解码后转换为列表(x,y,z),一个名称为A、值为B的JSON对象(表示为{A:B})经解码后变为列表((AB)),即一个列表的每行包含两个元素的子列表(AB)。Web客户端方法股票在线价格查询如何通过Web客户端在线获取股票的价格?这里需要借助于其它提供实时获取股票行情的API,我们使用新浪股票API。首先,分析一下新浪股票API接口的特征,新浪股票接口数据地址为“/list=”,等号后面接证券上市交易所标识和股票代码,如果股票是在上海证券交易所上市,则为“sh600031”(以三一重工为例),完整的接口数据地址就是“/list=sh600031”;如果股票是在深圳证券交易所上市,则为“sz000858”(以五粮液为例),完整的接口数据地址就是“/list=sz000858”。股票在线价格查询以三一重工(股票代码:600031)为例,如果要获取它的最新行情,只需访问新浪的股票数据接口:/list=sh600031这个url会返回一串文本,例如:varhq_str_sh600031="三一重工,9.65,9.53,9.90,9.92,9.55,9.90,9.91,167635517,1628770330,460000,9.90,197766,9.89,372000,9.88,244939,9.87,211700,9.86,40500,9.91,278500,9.92,237611,9.93,102400,9.94,639600,9.95,2015-05-08,15:03:06,00";这个字符串由许多数据拼接在一起,不同含义的数据用逗号隔开了,按照程序员的思路,顺序号从1开始。股票在线价格查询1:”三一重工”,股票名字;2:”9.65″,今日开盘价;3:”9.53″,昨日收盘价;4:”9.90″,当前价格;5:”9.92″,今日最高价;6:”9.55″,今日最低价;7:”9.90″,竞买价,即“买一”报价;8:”9.91″,竞卖价,即“卖一”报价;9:”167635517″,成交的股票数,由于股票交易以一百股为基本单位,所以在使用时,通常把该值除以一百;10:”1628770330″,成交金额,单位为“元”,为了一目了然,通常以“万元”为成交金额的单位,所以通常把该值除以一万;10:”460000″,“买一”申请460000股,即4600手;11:”9.90″,“买一”报价;12:”197766″,“买二”13:”9.89″,“买二”通过Web客户端从新浪股票接口获取股票的价格代码股票在线价格查询处理GET返回的数据和查询分时图及K线图数据返回后,在Web客户端的获得文本事件中,首先要判断是否获取数据成功。如果“响应代码=200”则表示获取数据成功,接下来可以对数据进行处理,如(1)中所述GET返回的数据是一串“,”分隔的文本,我们需要根据需要进行提取,将其分成称列表,然后从列表中读取需要的数据。股票在线价格查询分时图及K线图也通过分析新浪提供的股票K线图接口,分时图为:/newchart/min/n/,K线图为:/newchart/daily/n/,“n/“后面所接内容与查询股票价格一致。返回的数据就是一张图片,可以把URL直接传给Web浏览框,通过Web浏览框浏览显示。股票在线价格查询股票在线价格查询虽然AppInventor在很多方面的功能都受到了限制,但如果能很好的利用互联网上众多的API接口,借助于Web客户端可以实现很多功能强大的App。股票在线价格查询AppInventor2提供了两个蓝牙通信组件:蓝牙客户端BluetoothClient、服务器BluetoothServer,这两个组件配合使用,可以实现简单的即时通信功能。例:蓝牙聊天工具蓝牙界面定义全局变量“角色”。用来表明当前设备在通信中的角色

温馨提示

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

评论

0/150

提交评论