代码改变世界

让Python在Android系统上飞一会儿:第二节 第一个有实用价值的应用

2011-01-18 22:43  铁骑(PuLee)  阅读(3176)  评论(3编辑  收藏  举报

本节目录

1.本节相关的python知识
2.图书价格查询器的功能分析
3.图书价格查询器的设计实现

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)

最后的返回的查询结果:

本文参考了文章:http://www.mattcutts.com/blog/android-barcode-scanner/

欢迎加入豆瓣SL4A小组一起讨论进步: 豆瓣SL4A小组 (http://www.douban.com/group/SL4A/