【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~

一、写在前面

  web开发有前端和后端之分,其实android还是有前端和后端之分。android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发。android和php在当下如此热门,我想作为一个android程序员还是应该清楚android与php的交互的,那么,今天我们就来尝试一波~

二、环境准备

1)虽然现在十分流行wamp(windows+apache+mysql+php)和lamp的php开发模式,但是为了省时省力,今天我们就暂且使用xampp作为环境搭建,xampp的便捷性我想大家一定早有耳闻,这里就不做详细介绍,下载地址:https://www.apachefriends.org/zh_cn/index.html

2)安装过程十分简单,和常规安装方法都是差不多,安装目录一定要在磁盘根目录,我这里就安装在F盘根目录。

3)安装结束后,找到xampp-control.exe,点击运行;

4)启动apache服务和mysql服务,mysql的初始账号为root,密码为空,如需修改自己修改配置文件,如果端口被占用也可以直接通过修改config文件来修改端口(点击config查找listen并修改它就好了),是的,如果你点击start后背景变为这个颜色,就代表你启动服务成功了。

5)端口被占用的话点击config查找listen并修改它就好了

6)检测环境,在浏览器输入127.0.0.1:80(默认端口为80的时候可以不输入),如果能弹出下面的页面就正确的

7)点击phpInfo可以看到当前php环境的情况,点击phpMyadmin可以看mysql数据库,并对其操作;

查看mysql,我们可以在mysql数据库下建表和做一切的数据库操作(你可以使用GUI,也可以使用sql语句,看个人喜好吧);

8)搭建环境就花了太多时间就不好了,下面速度创建一个表,并插入部分数据,省的偏题了,毕竟我们不是来研究如何搭建环境的。

可以看到我这里在Mysql下建立了一个表,表名为aiya_user,并插入了两条数据;

三、PHP端

1)终于到了php代码编写阶段,下面我们就把数据库中的两条数据信息转换为json并在android端成功访问起来。

我们先把表的信息存放在一个php文件中

2)然后写一个response响应,并生成json串,我这里采用的是status(boolean),msg和一个数据结构的方式;

JSON_UNESCAPED_UNICODE这句话是php5.1之后让echo出来的值跳过转为unicode码的方式

3)下面直接来连接操作数据库进而得到json串

4)运行我们的php文件可以看到:

5)为了看的清晰一些,我们采用json在线解析一下:

看起来的确有几分神似我们平时只用得到的json接口数据哈~这挺棒的。

 

四、android端

1)android端我暂且就采用当下主流的retrofit2.1.0进行网络访问,具体实用细节大家可以传送过去:http://www.cnblogs.com/liushilin/p/5680135.html

2)简单看下代码:

Response.java

用于存放数据的User.java

最后是MainActivity.java

后记:这里只是简单使用php生成一个可访问接口,只可以在局域网进行访问,其中我的ip:10.1.1.113是路由器IP,只要你的服务器和手机在一个局域网就可以访问到这个json串了。这里还采用的是明文传输,在实际开发中我们却更多的使用加密的方式,并且还需要采用post等方式让android端和服务器进行交互,这些笔者都会持续更新,望大家持续关注~详情请关注楼主的开源app爱吖校推:https://github.com/nanchen2251/AiYaSchoolPush,可以fork得到第一手资讯,我后面会把服务器代码也开源出来~