文档章节

小蚂蚁学习APP接口开发(6)—— APP接口实例——首页数据接口的案例实现

嗜学如命的小蚂蚁
 嗜学如命的小蚂蚁
发布于 2015/10/18 10:09
字数 674
阅读 838
收藏 14
点赞 0
评论 0

读取数据的三种方式

  1.  读取数据库方式开发首页接口

    从数据库获取数据——》封装——》生成接口数

        优点:数据时效性比较高的系统

   2.   读取缓存方式开发首页接口(用途非常广)

        从数据库获取信息——》封装——》返回数据

                   再次请求——》缓存——》返回数据

        优点:减小数据库压力

   3.   定时读取缓存方式开发接口

        数据库 ——》crontab(定时生成)

        请求    ——》缓存——》返回数据

开发APP可以安装工具    :    Start BlueStacks安卓模拟器

读取数据库方式发开接口的代码实现:

<?php
/***********************************
*
*	读取数据库的方式开发首页接口
*	学php的小蚂蚁
*	博客 http://my.oschina.net/woshixiaomayi/blog
*
************************************/

//载入前天写的db类
//代码内容请参考 http://my.oschina.net/woshixiaomayi/blog/518295
require_once('./db.php');
//载入之前写好的接口响应类
//代码内容请参考 http://my.oschina.net/woshixiaomayi/blog/517384	
require_once('./response.php');

//接收分页数据 page 为当前第几页  pagesize 一页多少数据
$page	=	isset($_GET['page'])?$_GET['page']:1;
$pagesize=	isset($_GET['pagesize'])?$_GET['pagesize']:5;

//检测这两个数值是否为数字
if(!is_numeric($page) or !is_numeric($pagesize)){
	//不是数字,发送错误提示
	/*
		这里之所以使用了一个return是加强了程序的可读性,因为对程序不熟悉的程序员,不知道
		在show方法中有exit,加上一个return,其他人就会知道执行到这一步之后,程序就会停止,
		后面的程序就不会执行了。方便了其他人,大家好才是真的好\(^o^)/YES!
	*/
	return Response::show(400,'参数不合法');
}
//设置分页所需要的偏移量
$offset	=	($page-1)*$pagesize;
//编写sql语句
$sql="select * from actor limit ".$offset.",".$pagesize;

//如果连接数据库的时候出错,获取信息,并将自定义的信息返回
//以免将错误直接暴露给用户
try{
	$connect =	Db::getInstance()->connect();
}catch(Exception $ea){
	//返回给APP的错误提示
	return Response::show(400,'mysql not connect');
}

//数据库连接成功,执行sql语句,获取结果集
$result	=	mysql_query($sql,$connect);
$index_data=array();
while($row=mysql_fetch_assoc($result)){
	$index_data[]=$row;
}

if($index_data){
	//所需的结果数据拿到,返回数据
	return Response::show(200,'内容获取成功',$index_data);
}else{
	//没有拿到,返回错误提示
	return Response::show(400,'首页数据获取失败');
}

?>

需要注意两点需要注意:

  1.     添加一个return,方便其他人阅读代码。

  2.     在数据库没有连接成功的时候,会获取一个异常,并返回提示信息。

© 著作权归作者所有

共有 人打赏支持
嗜学如命的小蚂蚁
粉丝 137
博文 161
码字总数 100864
作品 0
郑州
程序员
小蚂蚁学习APP接口开发(9)—— APP版本升级的接口实例

今天的笔记主要来记录最后两个知识要点之一,APP客户端版本升级的接口开发。 APP的开发主要由伟大而神圣的用户来更新,更新的流程应该是这样的: 开启APP——请求初始化接口init.php——检测...

嗜学如命的小蚂蚁
2015/10/21
2.5K
1
小蚂蚁学习APP接口开发(1)—— json方式封装通信接口

前段时间,和公司的一个安卓程序员配合开发一款简单的APP,因为第一次写,时间也紧张,总感觉写的不是那么的完美,趁着这段时间好好总结一下经验。 对于APP的请求,服务器返回的数据类型一般...

嗜学如命的小蚂蚁
2015/10/13
985
0
巧用第三方快速开发Android App 热门第三方SDK及框架

巧用第三方快速开发Android App 热门第三方SDK及框架 历经大半年的时间,终于是把这门课程给录制出来了,也就在今天,正式在慕课网上上线了 项目地址:巧用第三方快速开发Android App 热门第三...

qq_26787115
2017/01/12
0
0
博客导航——一站式搜索(所有博客的汇总帖)

博客导航——一站式搜索 以后博客肯定会越来越多的,所以这做一个整理,方便各位朋友能快速的锁定自己想要的资源 课程 巧用第三方快速开发Android App 热门第三方SDK及框架 Android Studio G...

qq_26787115
2016/01/08
0
0
轻量级框架--PHP_MVC_REST

PHPMVCREST作为一个极其轻量级MVC&API开发框架,是本人多年的php开发经验总结,不断吸取参考了flight、phx、discuz、punbb等开源项目的优点,最终形成独具自己风格的快速开发框架。目前我主要...

穿青人
2015/10/16
1K
0
[图文教程] 迷你日记 - 只需要4个小白接口,便可快速开发App

开发示例:迷你日记 假设当前需要开发一个迷你版的日记,用于纪录私人生活感想。本文将说明如何使用小白接口配合构建你想要的APP。  在线示例和源代码 最终实现效果,请访问:http://demo.o...

暗夜在火星
2017/12/07
8
0
用PHP写APP接口,现在我也在学习中。。。

现在app这么火,作为一个phper,应该知道如何写app的接口,下面做一个讲解。Index: 第1章 APP接口简介 - 第2章 封装通信接口方法 2-1 JSON方式封装通信接口 (14:39) 2-2 PHP生成XML数据 (12:...

YSail
07/05
0
0
基于node · Express框架总结

————— --- --- —————— Express Express 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,可以轻松的创建各种 web 或者移动端应用 提供了一个轻量级模块,把nodejs的htt...

搜狗搜到你
2017/11/15
0
0
物联网跨平台应用开发

本文由嵌入式企鹅圈原创团队成员Hunter_Zhu提供。 基于H5进行跨平台应用开发是未来的趋势,其具有跨平台兼容、开发门槛低、运维难度低等优势。phonegap、Dcloud等平台已经实现了很多的应用案...

yueqian_scut
2017/03/08
0
0
开发工具总结(7)之多年珍藏的Android开发必备网站和工具

【前言】工欲善其事,必先利其器。搞开发多年了,会收藏一些干货网站和工具,辅助开发,提高开发效率。下面一次性分享给大家。喜欢的朋友们点个赞吧。 说明:这些是我收藏的网站,感觉还是不...

AWeiLoveAndroid
01/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Ecstore 在没有后台管理界面(维护)的情况如何更新表的字段

window 系统: 切换到:app\base 目录下: C:\Users\qimh>d: D:\>cd D:\WWW\huaqh\app\base 执行:D:\WWW\huaqh\app\base>cmd update linux 系统: 1># cd /alidata/www.novoeshop.com/app/......

qimh
11分钟前
0
0
设计模式-策略模式

策略模式 解释 对工厂模式的再次封装,使用参数控制上下文信息(将工厂返回的实例赋值给context field) 不会返回bean实例,只是设置对应的条件 调用context的方法(调用field的方法) 用户只...

郭里奥
13分钟前
0
0
python使用有序字典

python自带的collections包中有很多有用的数据结构可供使用,其中有个叫OrderedDict类,它可以在使用的时候记录元素插入顺序,在遍历使用的时候就可以按照原顺序遍历。 a = {"a":1,"b"...

芝麻糖人
43分钟前
0
0
RestTemplate HttpMessageConverter

RestTemplate 微信接口 text/plain HttpMessageConverter

微小宝
44分钟前
0
0
mysql视图/存储过程/函数/事件/触发器

--语法参考:https://dev.mysql.com/doc/ (当前用的是5.6) https://dev.mysql.com/doc/refman/5.6/en/sql-syntax-data-manipulation.html --视图 CREATE VIEW test.v AS SELECT * FROM t;......

坦途abc
45分钟前
0
0
MySQL参数优化案例

环境介绍 硬件配置 cpu核心数 内存大小 磁盘空间 16核 256G 3T 软件环境 操作系统版本 mysql版本 表数目 单表行数 centos-7.4 mysql-5.7.22 128张表 2kw行 优化层级与指导思想 优化层级 MySQ...

小致dad
55分钟前
0
0
【HAVENT原创】NodeJS 短网址开发(调用第三方接口)

最近想弄个短网址的示例站点,在网上搜集了一些代码,都需要数据库支持,所以只能自己写个简单的不需要数据库支持的(PS:那就只能借调第三方的接口了)。 index.js 启动文件 'use strict';...

HAVENT
55分钟前
0
0
219. Contains Duplicate II - LeetCode

Question 219. Contains Duplicate II Solution 题目大意:数组中两个相同元素的坐标之差小于给定的k,返回true,否则返回false 思路:用一个map记录每个数的坐标,如果数相同,如果坐标差小...

yysue
今天
0
0
Android 自动生成java bean

背景: 想搞一个自动生成java bean 的方案。 首先想到的是注解自动生成代码的方法。但是看了看注解相关的东西,发现对已有的类,增加方法,目前没有找到办法。 继续goole :发现了这里。 ht...

Carlyle_Lee
今天
0
0
图片加载相关

本文记载有关于 图片懒加载、图片模糊加载等与图片加载相关的知识,后续会更新 图片懒加载 利用img标签src属性,在该图片快到达客户可视范围时,给img添加src属性(添加后,会发起请求下载图...

littleFaye
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部