1、该组件可以使用启动活动对象(StartActivity)方法启动一个活动(即调用其它app)。可以被启动的活动包括:启动由App Inventor创建的其它应用。首先要通过下载其它应用程序的源代码弄清楚类名(class),然后使用文件资源管理器或解压缩程序解压源文件(如把源文件的扩展名修改成.zip或.rar,然后用winrar解压),在解压后的文件夹下找到“youngandroidproject/project.properties”,打开“project.properties”文件的第一行是“main=”,紧接着是类名下面以HelloPurr为例,project.properties文件内
2、容为:main=appinventor.ai_powerhope.HelloPurr.Screen1name=HelloPurrassets=./assetssource=./srcbuild=./buildversioncode=1versionname=1.0useslocation=False为了让你的启动活动对象(StartActivity)方法启动这个应用程序,设置以下属性: 活动包(ActivityPackage):“main”后面去掉最后一个组件,如“appinventor.ai_powerhope.HelloPurr”。 活动类(ActivityClass):整个类名,如“ap
3、pinventor.ai_powerhope.HelloPurr.Screen1”。启动摄像头应用。属性设置如下: 动作动作【ActionAction】:android.intent.action.MAIN 活动包活动包【ActivityPackageActivityPackage】:com.android.camera 活动类活动类【ActivityClassActivityClass】:com.android.camera.Camera执行Web搜索。假设你想搜索“吸血鬼”(替换成你要搜索的关键词),属性设置如下: Action:android.intent.action.WEB_SEAR
4、CH ExtraKey:query ExtraValue:吸血鬼 ActivityPackage:com.google.android.providers.enhancedgooglesearch ActivityClass:com.google.android.providers.enhancedgooglesearch.Launcher打开浏览器到指定的web页面。假设你想打开“”(或其他网站),属性设置如下: Action:android.intent.action.VIEW DataUri:http:/Action:动作,将启动的activity动作,即Android中Intent。如
5、android.intent.action.MAINActivityClass:活动类,将启动的activity类名。如appinventor.ai_powerhope.HelloPurr.Screen1ActivityPackage:活动包,将启动的activity包名。如appinventor.ai_powerhope.HelloPurrDataType:数据类型DataUri:URI传到将启动的activity。ExtraKey:文本键名传递给activity。ExtraValue:文本值传递给activity。Extras:接受一个用作键/值对的列表,传递给activity。Resul
6、t:被启动的activity的返回值。ResultName:用来从被启动的activity提取结果的名称。ResultType:从被启动的activity返回的类型信息。ResultUri:从被启动的activity返回的URI(或数据)信息。活动调用取消(ActivityCanceled):因为活动(Activity)被取消, ActivityStarter返回时触发事件。活动调用结束(AfterActivity):在ActivityStarter返回后,触发该事件。处理活动信息(ResolveActivity):返回与ActivityStarter对应的活动(Activity)的名称,如果
7、找不到相应的活动,则返回空字符串。启动活动对象(StartActivity):启动ActivityStarter对应的活动(Activity)。此外,也可以在手机上安装专门的查看应用包名的app,如“包名查看器”。另外,调用系统某些功能时,不同品牌手机可能略有不同,如华为Mate8的照相机的包名和类名都为“com.huawei.camera”例:实现播放器,用ES文件浏览器进行选择文件。下载ES文件浏览器 http:/ RFC 2616 规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。HTTP协议状态码表示的意思主要分为五类
8、: 1 保留 2 表示请求成功地接收 3 为完成请求客户需进一步细化请求 4 客户错误 5 服务器错误 如200表示请求已成功,请求所希望的响应头或数据体将随此响应返回。其它详细的状态码可以网上查询。响应类型:是服务器响应的 HTTP 内容类型。如text/html,image/GIF等。解码HTML文本(HtmlTextDecode):对给定的HTML文本值进行解码。HTML字符实体,如 &, <, >, '"经解码后将变为&, , ,。而像hhhh ,nnnn这样的实体将被转换为适当的字符。解码 Json文本(JsonTextDecode)
9、:解码给定的JSON编码的值,生成相应的App Inventor值。一个JSON列表x,y,z经解码后转换为列表(x,y,z),一个名称为A、值为B的JSON对象(表示为A:B)经解码后变为列表(A B),即一个列表的每行包含两个元素的子列表(A B)。如何通过Web客户端在线获取股票的价格?这里需要借助于其它提供实时获取股票行情的API,我们使用新浪股票API。首先,分析一下新浪股票API接口的特征,新浪股票接口数据地址为“http:/ hq_str_sh600031=三一重工,9.65,9.53,9.90,9.92,9.55,9.90,9.91,167635517,1628770330,4
10、60000,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开始。1 1:”三一重工三一重工”,股票名字;,股票名字;2 2:”9.659.65,今日开盘价;,今日开盘价;3 3:”9.539.53,昨日收盘价;,昨日收盘价;4 4:”9.909.90,当前价格;,当前价格;5 5:”
11、9.929.92,今日最高价;,今日最高价;6 6:”9.559.55,今日最低价;,今日最低价;7 7:”9.909.90,竞买价,即,竞买价,即“买一买一”报价;报价;8 8:”9.919.91,竞卖价,即,竞卖价,即“卖一卖一”报价;报价;9 9:”167635517167635517,成交的股票数,由于股票交易以一百股为基本,成交的股票数,由于股票交易以一百股为基本单位,所以在使用时,通常把该值除以一百;单位,所以在使用时,通常把该值除以一百;1010:”16287703301628770330,成交金额,单位为,成交金额,单位为“元元”,为了一目了然,为了一目了然,通常以,通常以“万
12、元万元”为成交金额的单位,所以通常把该值为成交金额的单位,所以通常把该值除以一万;除以一万;1010:”460000460000,“买一买一”申请申请460000460000股,即股,即46004600手;手;1111:”9.909.90,“买一买一”报价;报价;1212:”197766197766,“买二买二”1313:”9.899.89,“买二买二”通过Web客户端从新浪股票接口获取股票的价格代码处理GET返回的数据和查询分时图及K线图数据返回后,在Web客户端的获得文本事件中,首先要判断是否获取数据成功。如果“响应代码=200”则表示获取数据成功,接下来可以对数据进行处理,如(1)中所述
13、GET返回的数据是一串“,”分隔的文本,我们需要根据需要进行提取,将其分成称列表,然后从列表中读取需要的数据。分时图及K线图也通过分析新浪提供的股票K线图接口,分时图为:http:/ Inventor在很多方面的功能都受到了限制,但如果能很好的利用互联网上众多的API接口,借助于Web客户端可以实现很多功能强大的App。App Inventor 2提供了两个蓝牙通信组件:蓝牙客户端BluetoothClient、服务器BluetoothServer ,这两个组件配合使用,可以实现简单的即时通信功能。例:蓝牙聊天工具定义全局变量“角色”。用来表明当前设备在通信中的角色:服务器或客户端。当选中“复
14、选框_在线” 时,表明本设备现在充当服务器的角色,可以接受来自其他设备的连接请求。一旦该设备成为服务器,“选择列表”及“断开连接”组件将不可用。当蓝牙服务器收到连接请求时,将触发该事件。如果连接成功,即连接状态值为真,则向所连接的设备发送“已连接到服务器,可以开始聊天了”,并开始启用计时器,随时监听客户端发来的消息;如果连接不成功,则不启用计时器。当“列表_选择蓝牙设备”准备选择,当用户点击“列表_选择蓝牙设备”时,将打开一个列表,里面列出了所有已配对的蓝牙设备,用户可以选择其一进行连接。当用户选择了一个蓝牙设备,意味着用户向所选设备发出了连接请求,“让蓝牙客户端连接设备”的结果可能是真(连接成功),也可能是假(连接失败)。如果成功,则设全局变量“角色”值为“客户端”,并启动计时器;如果失败,则不启动计时器。定义全局变量“聊天内容”与自定义过程“连接字符串”:以适当的方式来呈现聊天记录,即,为聊天内容添加换行符,并加上发言者身份。实验12. 帮助任课老师制作一个点名软件,可以管理多个班级和多门课程的点名,并能进行相关统计,要求能从文件导入一个班同学的信息。