基于ASE的android中间键开发.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于ASE的android中间键开发

Android中间键开发 什么是ASE Android Scripting Environment(ASE)是Google针对Android操作系统发布的一个小工具。ASE将脚本语言带入Android,允许用户编辑和执行脚本,直接在Android设备上运行交互式解释器。脚本将能大幅度简化任务界面,目前支持Python, Perl, JRuby, Lua, BeanShell, JavaScript, Tcl, shell,以后将会增加更多的语言的支持。从此可以直接通过脚本(解释语言)方便快捷的调用Android系统中大部分的API,其可以完全满足对那些想把手机功能发挥到极致的“生物”。根据官方发布的消息,其可以通过非常简便的接口快速实现以下功能: Handle Intents 启动Activities 发送通话请求 发送文字信息 扫描条形码 获取地理信息和返回设备传感器状态信息 使用语音输出文字信息 /p/android-scripting/wiki/ApiReference) ASE原理 ASE其实就是Client端和Server端用JSON去通信. Server端是Android的那一套了,Java 通过JNI调用C/C++.首先,建立 AndroidProxy Service,它会负责Run JsonRpcServer.这个Server非常重要,它负责监听以及和Script PC Client 端通信这里有两个很重要的Thread, 第一是Thread 用于Listen Socket, 当Accept socket的时候,就会创建另一个线程去Connect to the Client.JsonPpcServer还有两个重要的函数,分别是StartPublic 和Start Local. StartPublic()建立Remote 通信,远程通信主要是负责监听脚本;StartLocal()建立Local通信,本地通信的作用主要是用来:监听Android上解释执行的脚本.也就是说:无论本地还是远端的脚本都是通过JsonRpcServer来统一调用Android JAVA API的 AndroidProxyService含有AndroidProxy类.这个类的主要作用就是负责调用AndroidFacade类中,封装好了的,提供给Script调用的函数 AndroidProxy类中,还包含有notification和notification manager之类的东西.notification就是在运行ASE时start service时,模拟器或者手机的提示信息.这里包含了一个很重要的信息:IP和Port号.其中Port号就是Run Scripts Externally 中的Remote的端口号.代码如下:adb forward tcp:local_port tcp:remote_port local port超过1024就可以了, remote port就是notification中的port号. 在这个类中,有很重要的一个方法: ??? private JSONObject dispatch(int id, String methodName, JSONArray params) throws JSONException { ??? JSONObject result; ??? try { ????? Method m = mReceiver.getClass().getMethod(methodName, new Class[] { JSONArray.class }); ????? if (m.isAnnotationPresent(Rpc.class)) { ??????? result = (JSONObject) m.invoke(mReceiver, new Object[] { params }); ????? } else { ??????? throw new Exception(); ????? } ... ? 这里就是会Call AndroidFacade中函数的地方了. ?所以,理论上,我们只要扩展AndroidFacade中的函数,然后,在AndroidProxy中调用AndroidFacade就Okay了(祥细的扩展API的方法在下一章中描述)。 怎样在ASE的基础上开发ANDROID手机中间键软件 下载adnroidSDK 下载ASE的源代码,下载地址是:/p/android-scripting/source/checkout 在Eclipse里面导入源文件中所有的工程 在工程Common的src/com.googlecode.android_scripting.fa

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档