程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2023-05(2)

《Head First Python》笔记 第八章 移动应用开发 原

发布于2019-08-30 16:45     阅读(1418)     评论(0)     点赞(6)     收藏(1)


感觉做的笔记得经常看经常改,否则一会就忘了,记忆力真差啊...,代码直接下源码查看

比较神奇的是,运行这两章的程序都没遇到什么问题,感觉初学一个东西的时候总会遇到这样那样的问题...

8. mobile app development: Small devices

Spripting Layer for Android, SL4A

允许在你的Android设备上运行Python。

下载软件开发包(SDK)

配置SDK和模拟器

增加一个Android平台

在此输入图片描述

创建一个新的Android虚拟设备(AVD)

在此输入图片描述

安装和配置Android脚本环境

模拟器中用浏览器打开:http://code.google.com/p/android-scripting

在此输入图片描述

为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.



所属网站分类: 技术文章 > 博客

作者:放羊人

链接:https://www.pythonheidong.com/blog/article/71787/f37d90edbd474a041aa1/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

6 0
收藏该文
已收藏

评论内容:(最多支持255个字符)