感受作的笔记得常常看常常改,不然一会就忘了,记忆力真差啊...,代码直接下源码查看html
比较神奇的是,运行这两章的程序都没遇到什么问题,感受初学一个东西的时候总会遇到这样那样的问题...python
Spripting Layer for Android, SL4Aandroid
容许在你的Android设备上运行Python。web
下载软件开发包(SDK)json
增长一个Android平台浏览器
建立一个新的Android虚拟设备(AVD)服务器
安装和配置Android脚本环境app
模拟器中用浏览器打开:http://code.google.com/p/android-scriptingide
为SL4A安装增长Python函数
仍然在模拟器浏览器中下载pythonForAndroid_rx.apk
安装->运行->点Install
建立mydroidtest.py模块
把脚本复制到模拟器的虚拟SD卡中。书中的adb程序在新版SDK中移到了platform-tools文件夹下,可在环境变量path中添加该文件夹的路径,就能够直接使用adb了。
Python 3使用的pickle格式与Python 2不兼容,须要一种数据交换格式,好比说XML或JSON
JSON是Python 2和Python 3都已预置的一个成熟的Web标准。
JSON库模块容许将Python的内置类型转换为基于文本的JSON数据交换格式。
使用json.dumps()
能够建立一个Python类型的字符串版本。
使用json.loads()
能够从一个JSON字符串建立一个Python类型。
在athletemodel模块中增长一个新函数
新的CGI脚本generate_names.py
若是数据使用JSON发送,须要将其Content-Type:设置为application/json。
启动Web服务器(同上一章)
运行新的CGI脚本:http://localhost:8080/cgi-bin/generate_names.py
https://code.google.com/p/android-scripting/wiki/ApiReference
编写coachapp.py,放到模拟器上。注意修改web_server地址。
比较有用的代码:
from urllib import urlencode from urllib2 import urlopen
Urllib和urllib2库模块(都在Python 2中提供)能够用来从一个程序向Web服务器发送编码的数据(使用urlencode()和urlopen()函数)。
generate_data.py
标准库的JSON库只能处理Python的内置类型,没法处理AthleteList对象
在AthleteList类中建立一个新方法,把类的属性数据转换为一个字典:
The sys module provides the sys.stdin
, sys.stdout
and sys.stderr
input streams.