Chinaunix首页 | 论坛 | 博客
  • 博客访问: 270446
  • 博文数量: 53
  • 博客积分: 1910
  • 博客等级: 中尉
  • 技术积分: 1130
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-10 14:56
文章分类

全部博文(53)

文章存档

2013年(1)

2012年(17)

2011年(33)

2010年(2)

分类: Python/Ruby

2011-11-19 20:47:08

知道SL4A的大名很久了,今天在ophone上试验了下,
SL4A 全称 Scripting Layer for Android,顾名思义就是在android上跑脚本语言
其支持好几种Script,其中就有python

1. 下载在 http://code.google.com/p/android-scripting/downloads/list下的
   sl4a_r4.apk
   PythonForAndroid_r4.apk

   将文件copy 到手机,先安装sl4a_r4.apk,然后安装PythonForAndroid_r4.apk
   然后执行安装好的PythonForAndroid,选择install ,这时候手机要联网,
   要下载一些东西


2. 执行smaple ,打开安装好的sl4a,选择sample脚本就可以执行了,也可以选择编辑
  

3. 写脚本,一般可以在手机上写,但手机编辑不是很方便,适合写些短小代码,
   http://code.google.com/p/android-scripting/downloads/list 下的
   textedit-sl4a.apk  编辑软件,手机端的可以试验下
  

   如果在pc 上写,传输挺麻烦,不过SL4A的作者,给了一个好办法,可以参考
   http://code.google.com/p/android-scripting/wiki/RemoteControl,
   我自己试验了下adb on wifi ,这样在pc 上写个py ,
   然后adb push  xxxx.py /sdcard/sl4a/script/ ,然后就可以到手机的SL4A上执行,
   不用连usb线
  
   1. 下载 adbwireless ,先切到root,然后执行
   2. pc 端 adb connect IP:PORT  (IP和PORT会在adbwireless连接成功后显示)
   
   这么简单就连上了,另外wifi 要连上,usb debug 功能要钩上,
   有的手机没有usb debug 可选,只能在插usb 显示后选择adb,的机器上,
   比如象ophone就是,需要下一个超及终端软件,先执行下 start adbd
  
4. 写个小代码玩下
   常加班,经常发的3条短消息是
   今天加班, 不回来吃饭, 已经回了
   做成一个alter界面,点下发送,具体代码很简单,如下:

  1. import android
  2. droid = android.Android()
  3. droid.dialogCreateAlert("FastSms")
  4. droid.dialogSetItems(['Jia ban!', 'Bu hui lai chi fan!', 'Yi jin hui le!'])
  5. droid.dialogShow()
  6. response = droid.dialogGetResponse().result

  7. droid.dialogDismiss()
  8. if response.has_key("item"):
  9.   result=response["item"]
  10.   print result
  11.   if result==0:
  12.        print "jiaban!"
  13.        droid.smsSend('136xxxxxxx','jia ban!')
  14.   elif result==1:
  15.        print "bu hui lai chi fan!"
  16.        droid.smsSend('136xxxxxxx','bu hui lai chi fan!')
  17.   elif result==2:
  18.        print " yi jing hui le!!"
  19.        droid.smsSend('136xxxxxxx','yi jin hui le!')
  20.   else:
  21.        print "Unknown response=",response

  22. print "Done"

效果如下,点击选择发送短消息

 


SL4A 貌似目前还不支持中文,只能输入拼音,另外SL4A,还比较简单,感觉只能玩玩,
实现一些快速测试,或者地铁里没事情,学写脚本语言什么的
在网上有看到,把脚本做成二维码,扫描执行的,满有趣的,连接如下:
http://www.cnblogs.com/tieqixia/tag/SL4A/

相关api资料可以看:
http://code.google.com/p/android-scripting/wiki/ApiReference
另外已经出书了:
Pro Android Python with SL4A
网上有pdf 下

root ,adbwirless,supperconsole 工具:

 root.zip   

 

 

 

 

阅读(2624) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~