`
mars5337
  • 浏览: 89366 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Android Scripting Environment -ASE

阅读更多
http://code.google.com/p/android-scripting/
Android脚本环境 ( ASE )为Android引入了脚本语言支持,从而使您编辑、执行脚本,并与Android设备上的脚本解释器进行互动成为可能。这些脚本可以借用很多现有的API快速开发Android应用,并极大地简化了接口,可以轻易完成以下工作:

处理intent
启动activity
拨打电话
发送短信
扫描条形码
获取位置和传感器数据
使用文字朗读引擎( TTS )
以及更多

脚本可以在终端内交互运行,作为一个长期运行的服务启动,或由位置启动 。目前已经支持Python,Lua和BeanShell,我们正在计划将Ruby和JavaScript的支持也添加进来。




脚本可以在手机上直接进行编辑。




脚本管理器显示现有脚本。




脚本可以交互启动或作为背景服务。





交互式终端可以用来解释执行脚本





脚本可以使用Android的用户界面获取用户输入。

你可能会问,为什么使用脚本而不是开发真正的Android应用呢?诚然,Android的开发环境非常易于使用,但是你必须在电脑前完成所有工作。而ASE则使您在任何您需要的情况下,快速的在设备上使用高级脚本语言尝试您的想法。请看如下的Lua示例脚本:

--Placing the phone face down will disable the ringer. Turning it face up again will enable
--the ringer.
require "android"
android.startSensing()
android.sleep(1)  --Give the sensors a moment to come online.
silent = false
while true do
  s = android.readSensors()
  facedown = s.result and s.result.zforce and s.result.zforce > 9
  if facedown and not silent then
    android.vibrate()  --A short vibration to indicate we're in silent mode.
    android.setRingerSilent(true)
    silent = true
  elseif not facedown and silent then
    android.setRingerSilent(false)
    silent = false
  end
  android.sleep(1)
end

接下来是另一个不错的脚本,以Python语言编写:

"""Say chat messages aloud as they are received."""

import android, xmpp

_SERVER = 'talk.google.com', 5223

class SayChat(object):
  def __init__(self):
    self.droid = android.Android()
    username = self.droid.getInput('Username')['result']
    password = self.droid.getInput('Password')['result']
    jid = xmpp.protocol.JID(username)
    self.client = xmpp.Client(jid.getDomain(), debug=[])
    self.client.connect(server=_SERVER)
    self.client.RegisterHandler('message', self.message_cb)
    if not self.client:
      print 'Connection failed!'
      return
    auth = self.client.auth(jid.getNode(), password, 'botty')
    if not auth:
      print 'Authentication failed!'
      return
    self.client.sendInitPresence()

  def message_cb(self, session, message):
    jid = xmpp.protocol.JID(message.getFrom())
    username = jid.getNode()
    text = message.getBody()
    self.droid.speak('%s says %s' % (username, text))

  def run(self):
    try:
      while True:
        self.client.Process(1)
    except KeyboardInterrupt:
      pass

saychat = SayChat()
saychat.run()

这些脚本表明一些现有的API可直接用于Lua和Python。其目的是启用一个服务,当手机正面朝下放置时禁用铃声。对于某些诸如BeanShell这样的脚本语言,则可以直接访问Android的Java API 。出于简化的目的,ASE提供了AndroidFacade类。而对其它象Python和Lua这样的语言来说,API是通过使用JSON RPC调用在代理上暴露出来的。当然,这意味着只有部分被AndroidFacade和AndroidProxy封装了的那部分API才能被Python和Lua的交叉编译解释器所使用。值得庆幸的是,AndroidFacade和AndroidProxy类都很容易扩展。

如果您想试试ASE,你暂时还没法在软件商店发现它,但很快就可以见到了。目前,您可以从我们的项目主页下载最新的APK。那里还有一些示例脚本和文档为您开始使用提供帮助。我们总是乐意倾听你的想法,因此请向我们发送反馈或在ASE讨论组进行询问。
分享到:
评论

相关推荐

    Android脚本语言环境SL4A.zip

    Google官方博客介绍了Android Scripting Environment(ASE、SL4A),将脚本语言带入Android,允许用户编辑和执行脚本,直接在Android设备上运行交互式解释器。脚本将能大幅度简化任务界面,用户能在交互式终端中使用...

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

    Android中间键开发主要涉及到使用Android Scripting Environment (ASE)这一工具来实现对Android系统的自定义功能,特别是通过脚本语言来扩展和控制设备。ASE是一个Google为Android平台设计的小型应用,它允许用户在...

    在Android上用PHP编写应用- PFA初探.doc

    然而,通过Android Scripting Environment(ASE)和PHP for Android(PFA),PHP开发者也能在Android设备上构建应用程序。ASE是一个允许在Android设备上运行Python、Lua、BeanShell、Perl等脚本语言的框架,其原理...

    基于ASE的android中间键开发

    ASE,即Android Scripting Environment,是Google为Android操作系统推出的一款强大的工具。它允许开发者利用各种脚本语言(如Python、Perl、JRuby等)直接与Android系统的API进行交互。ASE通过将这些脚本语言集成到...

    android 脚本层运行环境

    PHP可不仅仅只能在互联网站上...该项目的主要赞助商是开源公司IronTec,PFA使用 Scripting Layer for Android (SL4A),也就是Androd Scripting Environment (ASE)来实现这一点,您可以参看他们的网站来了解更多技术内幕

    Android移动应用测试.pdf

    4. **Android Scripting Environment (ASE)**:ASE允许用户在Android设备上直接运行和编辑脚本,支持Python、Perl等脚本语言。通过ASE,可以便捷地调用Android API,进行自动化测试和简化任务界面,特别适合进行功能...

    Android第一次开发

    Android开发环境主要包括SDK、NDK和Android Scripting Environment (ASE)。SDK是Android开发的基础,需要JDK、SDK、ADT(Android Development Tools)和Eclipse等工具配合使用,主要用于Java编程,产出.apk文件。NDK...

    android开发教程.pdf

    - **脚本语言集成**:通过Android Scripting Environment (ASE)集成Python、Lua等脚本语言进行开发。 #### 十三、案例实战 - **常用应用开发**:以迭代的方式逐步开发常用的Android应用,如天气预报、新闻客户端等...

    PHP for Android 0.3.rar

    该项目的主要赞助商是开源公司IronTec,PFA使用 Scripting Layer for Android (SL4A),也就是Androd Scripting Environment (ASE)来实现这一点,您可以参看他们的网站来了解更多技术内幕。 version:0.3 ...

    修订版Android开发应用揭秘.doc

    - **脚本语言开发**:通过Android Scripting Environment (ASE)使用Python、Lua等脚本语言开发Android应用。 #### 九、案例分析与实战 - **应用案例**:详细介绍多个典型应用的开发过程,如天气预报应用、新闻阅读...

    Android 近百个项目的源代码.doc

    5. **脚本环境**:Android Scripting Environment (ASE) 提供了在Android上运行脚本的能力,这涵盖了对Android SDK的脚本级访问。 6. **社交网络应用**:HelloWorld goes mobile演示了如何构建基本的社交网络应用,...

    phpforandrio

    以前发过在Android上运行python程序,这次轮到PHP for Android了,PHP...该项目的主要赞助商是开源公司IronTec,PFA使用Scripting Layer for Android (SL4A),也就是Androd Scripting Environment (ASE)来实现这一点。

    关于+Android+下的自动化测试.pdf

    ASE(Android Scripting Environment)允许通过Python脚本调用Android功能,实现定制化的测试场景。这种灵活性使得ASE在复现偶发故障和扩展测试功能方面特别有用。 Robotium是一个用于黑盒自动化测试的工具,无论...

    android简单教程

    9. **Android Scripting Environment (ASE)**:学习如何使用ASE在设备上运行脚本,为应用提供更强大的自动化能力。 10. **多线程与异步处理**:掌握Handler、AsyncTask等机制,确保应用的响应性和稳定性。 #### ...

    基于Android的自动化测试的设计与实现

    - **ASE (Android Scripting Environment)**:允许使用脚本语言(如Python)编写测试脚本,增强了测试的灵活性和可定制性。 3. Android自动化测试框架 Android提供了基于JUnit和Instrumentation的自动化测试框架。...

    《Android应用开发揭秘》源码.rar

    最重要的是还全面介绍了如何利用原生的c/c++(ndk)和python、lua等脚本语言(android scripting environment)来开发android应用;本书实战性强,书中的每个知识点都有配精心设计的示例,尤为值得一提的是,它还以...

    关于Android 下的自动化测试

    ASE(Android Scripting Environment)允许使用Python脚本调用Android功能,进行定制测试。通过扩展API并利用Python的灵活性,ASE提供了强大的扩展性,尤其适合复现偶发故障的场景。目前仍在发展中,有望为开发者...

    Android备忘

    - **Python等脚本:** 通过Android Scripting Environment (ASE) 等工具,可以在Android应用中使用Python等脚本语言。 #### 三、Android系统架构 1. **应用层:** 用户可以直接看到和使用的应用程序,如日历、...

Global site tag (gtag.js) - Google Analytics