从零开始搭建一个联网小程序(一)—— 工具和基本概念介绍

文章列表

  1. 从零开始搭建一个联网Android APP(一)—— 工具和基本概念介绍
  2. 从零开始搭建一个联网Android APP(二)—— 服务器端程序
  3. 从零开始搭建一个联网Android APP(三)—— Android端程序

本文源码

注:该工程有两个branch,master为离线版本,所有功能集成到Android端,便于使用;online为在线版本,适合喜欢折腾的人

注:本系列博客主要重点在于服务器端的程序开发、部署和Android端如何与服务器端通信,不涉及具体的Android开发内容。


整体概述

目标效果:多台Android设备共享同一份数据,一个设备更改信息后能够立刻同步到所有设备。

这里以一个小型记账本软件为例,讲述整个流程

需求:所有人共享一份数据,每个人都可以添加新的账单,可统计共花了多少钱和人均等


基本原理

账单数据储存在服务器端的数据库(sqlite3)内部->
client通过okhttp3向server提交请求->
server收到请求后读取后端数据库信息(进行逻辑处理)并以JSON格式返回->
client利用GSON解析返回的数据->

server端nginx默认监听云服务器的80端口(Http端口),并将传来的数据转发给gunicorn运行的端口(通过nginx的配置文件实现),然后python编写的程序解析数据,并作出反应。


涉及软件

  1. 服务器端
  • python3 —— 编写服务器端实现代码

  • flask —— 轻量级web框架

  • sqlite3 —— 轻量级数据库

  • gunicorn —— 运行python程序

  • nginx —— 反向代理,转发请求,监听端口

  1. Android端
  • Android Studio —— 开发程序

  • okhttp3 —— 网络请求库

  • GSON —— JSON格式库

  1. 电脑端:
  • WinSCP —— 图形化SFTP客户端,用于访问远程服务器的文件
    (Mac下可用FileZilla代替)

  • DB Browser forSQLite —— 用于查看.db数据库文件
    (该软件同时支持Windows和Mac)

  • SecureCRT —— 终端仿真程序,用于Windows下登录Unix或Linux服务器主机
    (Mac下可用Terminal的SSH功能代替)

可选:

  • NotePad++和插件NppFTP —— 同样也是用于远程访问服务器端文件,同时可以直接在线编辑代码,保存后自动上传至服务器端(直接用SFTP+密钥/密码登录)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值