感受作的筆記得常常看常常改,不然一會就忘了,記憶力真差啊...,代碼直接下源碼查看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.