文章列表
- 从零开始搭建一个联网Android APP(一)—— 工具和基本概念介绍
- 从零开始搭建一个联网Android APP(二)—— 服务器端程序
- 从零开始搭建一个联网Android APP(三)—— Android端程序
本文源码
注:该工程有两个branch,master为离线版本,所有功能集成到Android端,便于使用;online为在线版本,适合喜欢折腾的人
注:本系列博客主要重点在于服务器端的程序开发、部署和Android端如何与服务器端通信,不涉及具体的Android开发内容。
程序介绍
服务器端编程使用的是python语言,涉及flask和sqlite3两个库,其中flask用于构建Web程序(获得并相应用户请求GET/POST),sqlite3用于操作数据库相关的内容。
库文件的安装与使用
1. Flask
一、前期环境配置
首先选择一款你喜欢的IDE或者编辑器,python的话个人推荐PyCharm,和Android Studio都是JetBrain出产的,界面很相似,两者直接基本无缝切换,而且也很好用。
因为sqlite3是python自带的一款轻量级数据库,所以我们只需要安装flask即可。安装 flask 最便捷的方式是使用虚拟环境(virtual environment)。
win+R并输入cmd打开命令提示符,利用cd指令转到工程目录,并输入
virtualenv env #创建名为env的虚拟环境
然后利用
cd env/Scripts
activate #激活虚拟环境
mac下可用如下指令激活
source env/bin/activate
如下图,当命令行前面出现(env)的时候就证明虚拟环境成功激活,然后就可以在虚拟环境里面安装flask了。
pip install flask #安装flask
前期的环境配置就大功告成了,然后就可以开始写代码了。
二、Flask程序介绍
(1)初始化
from flask import Flask
app = Flask(__name__)
(2)路由和视图函数
- 客户端(例如 Web 浏览器)把请求发送给 Web 服务器
- Web服务器再把请求发送给 Flask程序实例app
- app需要知道:对每个URL请求运行哪些代码,所以保存了一个URL到Python函数的映射关系。处理 URL 和函数之间关系的程序称为路由
在 Flask 程序中定义路由的最简便方式,是使用程序实例提供的 app.route 修饰器,把修饰的函数注册为路由。如:
@app.route('/')
def index():
return'Hello Flask!'
还可以在路由里面定义动态部分,如:
@app.route('/<name>')
def hello(name):
return'Hello ' + name + ' !'
尖括号中的内容就是动态部分,任何能匹配静态部分的URL都会映射到这个路由上。路由中的动态部分默认使用字符串,不过也可使用类型定义。例如,路由/user/<int:id>
只会匹配动态片段id为整数的URL。Flask 支持在路由中使用int、float和path类型。(path类型也是字符串,但不把斜线视作分隔符,而将其当作动态片段的一部分)调用视图函数时,Flask会将动态部分作为参数传入函数。
注:修饰器是Python语言的标准特性,可以使用不同的方式修改函数的行为。惯常用法是使用修饰器把函数注册为事件的处理程序
(3)启动服务器
if __name__ == '__main__':
app.run(