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讨论组进行询问。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
牙科就诊管理系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线查看数据。管理员管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等功能。牙科就诊管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 管理员在后台主要管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等。 牙医列表页面,此页面提供给管理员的功能有:查看牙医、新增牙医、修改牙医、删除牙医等。公告信息管理页面提供的功能操作有:新增公告,修改公告,删除公告操作。公告类型管理页面显示所有公告类型,在此页面既可以让管理员添加新的公告信息类型,也能对已有的公告类型信息执行编辑更新,失效的公告类型信息也能让管理员快速删除。药品管理页面,此页面提供给管理员的功能有:新增药品,修改药品,删除药品。药品类型管理页面,此页面提供给管理员的功能有:新增药品类型,修改药品类型,删除药品类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值