android客户端和php服务简单交互

android客户端和php+mysql+apache搭建之间的简单交互,实现log信息存储。

实现原理就是android客户端发送请求,传给服务器log信息,服务器收到这些,连接数据库进行存储,并将存储后的状态返回给客户端。

服务器端:

先在mysql里面建一个testlog的数据库,里面有一个log_info表,记录了LogCategory,System,Executor,Action等信息。

在php的虚拟目录下新建一个php项目testlog,创建conn.php和log_deal.php文件。

<?php
	include_once('conn.php');

	//echo '$_POST接收:</br>';
	$System = $_POST['System'];
	$LogCategory = $_POST['LogCategory'];
	$Executor = $_POST['Executor'];
	$Action = $_POST['Action'];

	$sqlstr = "insert into log_info(System,LogCategory,Executor,Action,CreateTime) values('".$System."','".$LogCategory."','".$Executor."','".$Action."','".date('Y-m-d H:m:s')."')";
    if (mysql_query($sqlstr)){
    	echo "succeed";
    } else {
    	die(mysql_error());
    	echo "error";
    }
?>

服务器搭建完成。

android客户端:

布局随意写一下就OK了

下面是主要代码:

class SendlogHandler implements Runnable{

        @Override
        public void run() {
            try {
                String url = "http://localhost/testlog/log_deal.php";
                String result = null;
                boolean isSendSucceed = false;
                HttpPost httpRequest = new HttpPost(url);
                List params = new ArrayList();
                params.add(new BasicNameValuePair("System", "系统名称"));
                params.add(new BasicNameValuePair("LogCategory", "LOG等级"));
                params.add(new BasicNameValuePair("Executor", "操作人"));
                params.add(new BasicNameValuePair("Action", "发生了什么事"));

                httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
                HttpResponse httpResponse = new DefaultHttpClient().execute(httpRequest);
                int stateCode = httpResponse.getStatusLine().getStatusCode();
                if (stateCode == 200){
                    HttpEntity httpEntity = httpResponse.getEntity();
                    result = EntityUtils.toString(httpEntity);
                }

                if (result.equals("succeed")){
                    isSendSucceed = true;
                }
                Message msg = new Message();
                msg.what = 2;
                msg.obj = isSendSucceed;
                handler.sendMessage(msg);

            } catch (Exception e){
                e.printStackTrace();
            }

        }
    }

好了,简单的客户端post数据到php服务器端存储的功能已经完成了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-09-28 15:54:37

android客户端和php服务简单交互的相关文章

Android客户端与PHP服务端交互(一)---框架概述

背景 作为一个普通上班族,总是想做一些自认为有意义的事情,于是乎准备成立一个工作室,尽管目前正在筹备阶段,但是之前有些朋友提出一些需求的时候,我发现自己的能力还是有限,直到最近和一些技术牛朋友聊起这事儿,大家不谋而合,也准备加入小团队.只是我作为工作室的“业务员”,感觉有必要都了解一下,这样才好和客户沟通,提出解决方案,也方便大家讨论订方案.譬如之前有商家提出的在线订单,要求客户可以使用APP直接下单,商家处理订单.当时我不是很懂,自己接不了,现在和朋友交流后,准备学习一下. 框架 ① 客户提交

Android客户端与PHP服务端交互(一)

背景 作为一个普通上班族,总是想做一些自认为有意义的事情,于是乎准备成立一个工作室,尽管目前正在筹备阶段,但是之前有些朋友提出一些需求的时候,我发现自己的能力还是有限,直到最近和一些技术牛朋友聊起这事儿,大家不谋而合,也准备加入小团队.只是我作为工作室的"业务员",感觉有必要都了解一下,这样才好和客户沟通,提出解决方案,也方便大家讨论订方案.譬如之前有商家提出的在线订单,要求客户可以使用APP直接下单,商家处理订单.当时我不是很懂,自己接不了,现在和朋友交流后,准备学习一下. 框架 ①

Android客户端与PHP服务端通信(二)

概述 本节通过一个简单的demo程序简单的介绍Android客户端通过JSON向PHP服务端提交订单,PHP服务端处理订单后,通过JSON返回结果给Android客户端.正常来讲,PHP服务端在处理订单过程中,需要与MySQL数据库交互,这里为了简单起见,暂时省掉MySQL. 通信格式 首先,需要定下客户端与服务端之间通信格式,如下表 Android客户端 客户端与服务端采用JSON数据格式通信,同时采用HTTP通信协议交互,采用POST方式提交结果.同时还要注意一点,与WEB服务器通信的过程需

Android 客户端与服务器端进行数据交互(二、登录客户端)

概要 Android客户端分为User,HttpUtil,HttpCallbackListener,MainActivity四个部分.User model与服务端的一样,一方面是用于本地用户信息的存储model,另一方面也是为了保证构造URL时使用的key一致. HttpUtil封装了发送Http请求的过程和构造URL的函数,HttpCallbackListener是用于发送请求后的回调接口,MainActivity就是用于测试的Activity交互界面了. User model 不再贴出,见上

Android 客户端与服务器端进行数据交互(一、登录服务器端)

概要 安卓APP要实现很多功能(比如登录注册.发表评论等)时都必须要使用到网络数据交互.所以在学习了这部分内容后,就将其以最常见的登录过程为例整理出来,也方便跟我一样的新手能迅速学习上手. 预期效果图如下,输入手机号和密码,点击Login按钮,上传数据到服务器端进行验证,再对结果进行反馈. 博客分一二两篇,第一篇是服务器端,第二篇是Android客户端 而服务器端分为User model.UserDAO.LoginServlet三个部分,只写了用户登录验证流程中最简单的实现逻辑,仅供参考. Us

Android客户端与PHP服务端通信(四)---极光推送示例工程分析

概述 上一节,描述了注册极光推送并使用其例子的方法,这一节准备研究一下示例工程的框架,为移植它做准备. 分析例程源码 首先分析一下例程的源码结构,建议对照着JPUSH的官方文档(http://docs.jpush.io/)分析,我就是这样做的. 注册应用后,下载的示例工程结构如下, ExampleApplication.java:该类为应用程序定制了一个Application类,因为调用JPush的SDK时,需要调用JPush提供的init()函数API,而按照官方文档的说明"init 只需要在

android客户端 与javaweb服务端的简单理解

客户端定义的变量 永远都是一个人在用,所以定义成类的成员变量不会产生脏数据,对成员变量的访问都是一个线程 一个人在操作.可以尽可能的使用成员变量. Java服务端的程序  是并发的,有可能并发数会很大超过100多,后台的程序都是多人多线程访问,所以减少业务层成员变量的定义,尽量定义方法内的局部变量.在多线程运行方法 ,都是每个线程 分配给方法一个栈区域内存,每个方法内的 对象都是唯一,都是 new的.

cas sso单点登录系列2:cas客户端和cas服务端交互原理动画图解,cas协议终极分析

转:http://blog.csdn.net/ae6623/article/details/8848107 1)PPT流程图:ppt下载:http://pan.baidu.com/s/1o7KIlom 一.用户第一次访问web1应用. ps:上图少画了一条线,那一条线,应该再返回来一条,然后再到server端,画少了一步...谢谢提醒.而且,重定向肯定是从浏览器过去的.我写的不严谨,画的比较通俗了...因该像下面这张图一样就ok了!!PPT自己下载下来修改吧,我就不改了. 二.用户第一次访问we

微信app支付android客户端以及.net服务端实现

由于公司运营需要,需要在客户端(android/ios)增加微信以及支付宝支付,在调用微信app支付时遇到一些问题,也算是一些踩过的坑,记录下来 ,希望能对.net开发者服务端网站更快的集成微信app支付. 1.开发所需资料:微信开放平台应用的appid以及appsecert,商户平台的商户号以及api安全里面里面设置的key,详见 微信支付账户相关信息; 2.微信开发者平台完善应用平台的相关信息,android应用签名必须用打包签名过的发布版本apk(这一步很重用),包名必须一致,可以用微信提