第一节 在手机上配置Python运行环境
1.下载和安装 Scripting Layer for Android (SL4A)
Scripting Layer for Android (SL4A) 是一个开源项目,目标是为android系统提供脚本语言的支持,使用户可以直接在android平台上进行脚本语言的编辑、解释和执行。这些脚本语言已经可是使用很多封装好的android API来开发功能丰富的android应用程序,并且使开发变得更加的简单和高效!
这个平台支持多种脚本语言,比如 Python, Perl, JRuby, Lua, BeanShell, JavaScript, Tcl, shell 等,你可以选择你熟悉的语言进行开发,本系列教程使用Python为编程脚本语言
SL4A项目的地址:http://code.google.com/p/android-scripting/ 页面打开后,你可以选择用手机扫描该页面的二维码将应用直接下载并安装到手机上,或者点击二维码图片,将应用下载的电脑上在传输到手机上安装。你要是懒得去项目主页,直接扫描下图的二维码即可:
2.下载和安装 Python for android
在项目主页面的右上方,有该应用支持的所有脚本语言的下载列表,如下图所示; 选择你使用的语言,打开相应的语言环境的下载页面,与下载SL4A的方式类似,将该语言包应用下载并安装到你的手机上。我打开的是Python的页面,如下图所示: 程序安装完成后,打开Python for Android应用,在应用的最上方会有一个Install的按钮,点击该按钮,就会自动下载Python相关的文件并解压和安装,这个过程结束后,你的android手机上的Python开发环境就配置好了!
3.第一个HelloWorld程序
打开SL4A应用,会进入Python示例代码列表,基本上是对主要API的演示,部分示例可能由于偏老,运行时会提示方法过期或者运行异常的问题,这个至少修改少许代码即可,有机会的话,我会在后续课程中介绍这是示例以及修正的方法。
点Menu键,然后点击Add,选择Python2.6.2,就会新建一个Python脚本文件,将文件的名字命名为:HelloPythonInAndroid.py
点击屏幕进入脚本编辑区,开始输入如下内容:
import android
droid = android.Android()
droid.makeToast(‘Hello, Python in Android’)
输入完成后,如下图所示:
点击Menu,选择Save&Run,恭喜你,你已经用Python完成了第一个Android应用:HelloPythonInAndroid!
第二节 第一个有实用价值的应用
1.python预备知识
单行注释使用#号,#以后的内容是注释,不会被解释器解释执行执行;
import语句用来导入模块,后面跟模块名;
python中的变量不需要声明类型,变量被赋值之后类型会自动指定,这也是动态语言的特性之一;
元组,python基本数据结构之一,使用这样的形式表示:元组1=(数据1,数据2,数据3)
元组一旦生成后就不能修改了
元组可以嵌套包括他自己在内的所有列表类型的数据集合,如:元组2=(元组1,数据4,数据5)
元组中数据的获取方法: 元组名[索引编号]
字典,python基本数据结构之一,使用这样的形式表示:字典1={键1:值1,键2:值2,键3:值3}
字典可以嵌套包括他自己在内的所有列表类型的数据集合
字典中数据的获取方法:字典名[键名] 或者 字典名[索引编号]
格式化字符串:字符串中的%s会被后面的对象替换掉,例如:
‘Hello,%s’ % ‘PuLee’
最后返回的结果是:
Hello,PuLee
注意两个字符串之间的那个%号不要漏掉了!
2.图书价格查询器的功能分析
第一步:调用条形码扫描程序,扫描书的条形码,然后从条形码中获得书籍的ISBN编号
第二步:构造查询书籍价格的Url地址,使用豆瓣的图书搜索功能
第三部:打开浏览器,传入构造好的Url地址,返回查找的结果
3.图书价格查询器的设计实现
实现代码如下:
#导入Android的API模块
import android
#获得操作对象
droid = android.Android()
#运行扫描程序,返回一个元组
code = droid.scanBarcode()
#从扫描程序返回的元组中取得isbn编号
isbn = code[1][’extras’][’SCAN_RESULT’]
#构造查询书籍的Url
url = ‘http://book.douban.com/subject_search?search_text=%s&cat=1001′ % isbn
#打开浏览器,传入构造好的Url,返回查找结果
droid.startActivity(‘android.intent.action.VIEW’,url)
最后的返回的查询结果:
第三节 在电脑上编写程序在手机上运行
前言
最手机上写脚本是一件每场辛苦的事情,虽然SL4A人性化的为我们提供了API快速插入功能,并且优美的Python为我们省去了输入分号和括号之苦,但是没有智能感知,没有关键字补全,狭小的按键,输入符号的困难,还是让我没有勇气去在手机上写超过50行的程序.改为在电脑上编写代码,再复制到手机上运行!那么,如何快速的将PC上编写的代码发送到手机上呢?
1. 一些传统的方法
1.1 数据线
这个就不用我多说了吧,应该都会的,但是随身带数据线是件很麻烦的事情,所以应该再找些其他方法!
1.2 wifi
和数据线原理差不多,很多的android的PC客户端都已经支持通过wifi连接手机了,比如豌豆荚,但是不是哪里都有wifi的.
1.3使用具有网络同步功能的笔记管理软件
通过笔记管理软件,比如evernote,盛大麦库(使用此链接注册,可以将500M控件升级为1G,作为邀请人,我的空间也会增长200M,呵呵,双赢啊!) 在pc端编写好脚本,上传,然后再在手机上下载下来,粘帖到SL4A中.
2.将程序的代码生成二维码图片
上面的几种方法要么对硬件有要求(数据线,无线路由),要么要下载额外的软件(笔记管理软件),都比较麻烦,其实SL4A的作者也考虑到了这个问题,为我们提供了一种很有趣的代码输入方式:扫描二维码!
方法如下:
1. 打开二维码生成页面:http://zxing.appspot.com/generator/,在Contents后面的下拉列表中选择:Text
2. 在Text content 后文本区的第一行输入脚本的名称,比如:HelloWorld.py
3. 在他的下方输入脚本的内容.
4. 在Barcode size 后的下拉列表中选择:L
5. 点击Gernerate 生成二维码
6. 将右边生成的二维码保存或者与你的朋友们分享!
生成的二维码如图所示:
3. 使用手机扫描生成的二维码,并将其转化为py脚本
二维码生成了,如何将它导入手机呢?
1.启动SL4A进入脚本列表
2.按菜单键(MENU)
3.点击Add
4.点Scan Barcode
5.扫描生成的二维码,脚本便会自动显示在列表中(名称就是第一行的名称)
ps:二维码最多容纳的字符为4296个,所以只能用来存放较短的脚本!
转载自:http://tieqixia.javaeye.com/blog/891729
另一篇文章:
在Android上用python(Perl、Lua、BeanShell等)编程
2011-01-13 17:12
原文来自:http://imxingzhi.appspot.com/?p=110001
偶然间发现了google code上的一个项目??android-scripting
该项目开发了一个叫SL4A(Scripting Layer for Android),也被称为ASE(Android Scripting Environment)的软件
该软件可允许一些脚本语言如python、Perl、Lua、Javascript(甚至可以用BeanShell??可以解释Java代码了)在android平台上来编写并编译程序。
SL4A还能访问Android API,可以在手机上直接开发Android应用!虽然我还没这能耐,但想想还觉得爽啊。
我还发现可以利用SL4A的服务器或是通过USB,在电脑上写脚本然后发送至手机上运行。(RemoteControl)
这是款很好很强大的软件!!
下面说说如何在Android上用python写程序。
打开项目主页:http://code.google.com/p/android-scripting/ 下载SL4A软件。
用手机上的条码扫描器扫描位于正中的条码并在手机里下载,或者点击它下载再通过usb传输到手机去。安装它。
接下来,就是增加python语言支持了。
有两种方式安装python解释器。
1. 在项目主页右边Featured downloads处选择python_for_android_r1.apk并将其下载至手机,方法同上,然后在手机上安装后执行。执行后是一个黑色界面,上面有 Install 按钮,点击它就会自动下载压缩包。
2. 执行SL4A ,按手机的Menu键,选Interpreters, 再按Menu,选Add,就会出现各种支持的语言了,选Python2.6.2 程序便会自动下载并安装。
py文件的执行:
python安装后是会有一些范例的,点击便会自动执行,但范例都是Android API的范例。
自己来写一个:
依次按Menu ? Add – Python2.6.2
取个名字:hello.py 下面就可以写代码了,第一个程序当然是hello world ~/(???)/~啦啦啦
代码如下:
print “hello world”
按Menu,Save&Run ,屏幕就出现结果了。
至此,手机就可以用python写程序啦,安装其他语言也是同理。
PS.
在Interpreters里直接点击Python 2.6.2的话,可进入python命令行界面,可以直接执行代码,但还是建议新建py文件,因为在命令行界面下不能用全键盘打字,打命令很痛苦:(
PPS.
Android API:http://code.google.com/p/android-scripting/wiki/ApiReference
PPPS.
感谢这新闻,让我知道了这一好东西:http://www.infoq.com/cn/news/2009/07/android-scripting
转载自:http://hi.baidu.com/zhangtqqq/blog/item/52291c07bb5737df7b8947a7.html