《Head First Python》筆記 第八章 移動應用開發

感受作的筆記得常常看常常改,不然一會就忘了,記憶力真差啊...,代碼直接下源碼查看html

比較神奇的是,運行這兩章的程序都沒遇到什麼問題,感受初學一個東西的時候總會遇到這樣那樣的問題...python

8. mobile app development: Small devices

Spripting Layer for Android, SL4Aandroid

容許在你的Android設備上運行Python。web

下載軟件開發包(SDK)json

配置SDK和模擬器

增長一個Android平臺瀏覽器

在此輸入圖片描述

建立一個新的Android虛擬設備(AVD)服務器

在此輸入圖片描述

安裝和配置Android腳本環境app

模擬器中用瀏覽器打開:http://code.google.com/p/android-scriptingide

在此輸入圖片描述

爲SL4A安裝增長Python函數

仍然在模擬器瀏覽器中下載pythonForAndroid_rx.apk

安裝->運行->點Install

在此輸入圖片描述

在此輸入圖片描述

嘗試Android模擬器

建立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

SL4A Android API

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沒法處理你的定製數據類型

標準庫的JSON庫只能處理Python的內置類型,沒法處理AthleteList對象

在AthleteList類中建立一個新方法,把類的屬性數據轉換爲一個字典:

在此輸入圖片描述

The sys module provides the sys.stdin, sys.stdout and sys.stderr input streams.

相關文章
相關標籤/搜索