- 浏览: 7947244 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
如果是PHP做的服务端,要用android去访问,如何办?当然可以用REST,但也可以用点
笨的方法,比如PHP的服务端可以用JSON和XML提供返回的数据,而android端则可以用
APACHE的httpclient去访问.
下面是一个例子,假设数据表中users表有如下字段(mysql):
idusers,UserName,FullName,加点数据.然后在服务端PHP,建立一个
webservice1.php,作用是直接返回服务端数据库的数据,如下:
则可以把数据表输出为JSON或者XML格式了.客户端的ANDROID调用:
再搞个webservice2.php,该文件用来把客户端传送过去的JSON数据保存
而ANDROID端的,可以构造JSON,发送到webservice2.php
这样,就可以把ANDROID发送的数据保存到服务端了
笨的方法,比如PHP的服务端可以用JSON和XML提供返回的数据,而android端则可以用
APACHE的httpclient去访问.
下面是一个例子,假设数据表中users表有如下字段(mysql):
idusers,UserName,FullName,加点数据.然后在服务端PHP,建立一个
webservice1.php,作用是直接返回服务端数据库的数据,如下:
<?php if(isset($_GET['user']) && intval($_GET['user'])) { $format = strtolower($_GET['format']) == 'json' ? 'json' : 'xml'; //xml is the default $user_id = intval($_GET['user']); //no default /* 连接数据库*/ $link = mysql_connect('localhost','root','xxxxx') or die('Cannot connect to the DB'); mysql_select_db('jsonandroid',$link) or die('Cannot select the DB'); $query = "SELECT * FROM `users`;"; $result = mysql_query($query,$link) or die('Errant query: '.$query); $posts = array(); if(mysql_num_rows($result)) { while($post = mysql_fetch_assoc($result)) { $posts[] = array('post'=>$post); } } /* json格式*/ if($format == 'json') { header('Content-type: application/json'); echo json_encode(array('posts'=>$posts)); } else { header('Content-type: text/xml'); echo '<posts>'; foreach($posts as $index => $post) { if(is_array($post)) { foreach($post as $key => $value) { echo '<',$key,'>'; if(is_array($value)) { foreach($value as $tag => $val) { echo '<',$tag,'>',htmlentities($val),'</',$tag,'>'; } } echo '</',$key,'>'; } } } echo '</posts>'; } } ?>
则可以把数据表输出为JSON或者XML格式了.客户端的ANDROID调用:
try { HttpParams httpParams = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(httpParams, TIMEOUT_MILLISEC); HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_MILLISEC); HttpParams p = new BasicHttpParams(); p.setParameter("user", "1"); HttpClient httpclient = new DefaultHttpClient(p); String url = "http://10.0.2.2:8082/myphp/phpWebservice/webservice1.php?user=1&format=json"; HttpPost httppost = new HttpPost(url); try { Log.i(getClass().getSimpleName(), "send task - start"); List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>( 2); nameValuePairs.add(new BasicNameValuePair("user", "1")); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); ResponseHandler<String> responseHandler = new BasicResponseHandler(); String responseBody = httpclient.execute(httppost, responseHandler); // 解析JSON返回的 JSONObject json = new JSONObject(responseBody); JSONArray jArray = json.getJSONArray("posts"); ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>(); for (int i = 0; i < jArray.length(); i++) { HashMap<String, String> map = new HashMap<String, String>(); JSONObject e = jArray.getJSONObject(i); String s = e.getString("post"); JSONObject jObject = new JSONObject(s); map.put("idusers", jObject.getString("idusers")); map.put("UserName", jObject.getString("UserName")); map.put("FullName", jObject.getString("FullName")); mylist.add(map); } Toast.makeText(this, responseBody, Toast.LENGTH_LONG).show();
再搞个webservice2.php,该文件用来把客户端传送过去的JSON数据保存
<?php $json = file_get_contents('php://input'); $obj = json_decode($json); //echo $json; //保存数据库 $con = mysql_connect('localhost','root','XXX') or die('Cannot connect to the DB'); mysql_select_db('jsonandroid',$con); mysql_query("INSERT INTO `users` (UserName, FullName) VALUES ('".$obj->{'UserName'}."', '".$obj->{'FullName'}."')"); mysql_close($con); $posts = array(1); header('Content-type: application/json'); echo json_encode(array('posts'=>$posts)); ?>
而ANDROID端的,可以构造JSON,发送到webservice2.php
try { JSONObject json = new JSONObject(); json.put("UserName", "test2"); json.put("FullName", "1234567"); HttpParams httpParams = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(httpParams, TIMEOUT_MILLISEC); HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_MILLISEC); HttpClient client = new DefaultHttpClient(httpParams); String url = "http://10.0.2.2:8082//myphp/phpWebservice/webservice2.php"; HttpPost request = new HttpPost(url); request.setEntity(new ByteArrayEntity(json.toString().getBytes( "UTF8"))); request.setHeader("json", json.toString()); HttpResponse response = client.execute(request); HttpEntity entity = response.getEntity(); if (entity != null) { InputStream instream = entity.getContent(); String result = RestClient.convertStreamToString(instream); Log.i("Read from server", result); Toast.makeText(this, result, Toast.LENGTH_LONG).show(); }
这样,就可以把ANDROID发送的数据保存到服务端了
发表评论
-
『Google发布移动Web性能工具PCAP Web Performance Analyzer』
2015-01-06 14:17 2243http://t.cn/RZcCwZS 最近,Google的 ... -
(收藏)在WebView中如何让JS与Java安全地互相调用
2014-11-11 09:59 874在WebView中如何让JS与Java安全地互相调用 http ... -
android中的两端对齐
2013-02-08 18:58 3156在android中的webview中,可以对文本内容进行对 ... -
jQuery Mobile十大常用技巧
2012-10-12 07:23 4278原文发表在: http://mobile.51cto.com/ ... -
Android中使用log4j
2012-10-09 20:22 18337如果要直接在android工程中使用log4j,是有点问题 ... -
收集android的三个小tip
2012-08-25 11:24 2152收集android的三个小tip 1)Android 开发中 ... -
andorid中的html.fromhtml方法
2012-08-19 21:24 8854在android中,有一个容易遗忘的Html.fromht ... -
一个不错的sencha touch MVC教程分享
2012-08-18 10:06 2873http://blog.csdn.net/fyq891014/ ... -
jquery mobile中的按钮大集合
2012-08-14 22:17 3941本文小结了jquery mobile ... -
Andrid中的plurals
2012-08-10 19:29 1760在Android中的字符串资源中,今天留意到一个很特别的东 ... -
Android中listview中的button
2012-08-08 12:56 1987在androd中的listview中,假如每一项是个buu ... -
如何有更好的Android应用创意--从一款新Android应用说起
2012-07-20 14:23 5722现在这个年头,Android ... -
android中判断网络是否连接
2012-07-12 23:19 2944在android中,如何监测网络的状态呢,这个有的时候也是十分 ... -
android中设置手机的语言系
2012-05-19 15:55 2763adb shell 进入Android的Shell,输入以下命 ... -
android 按钮设计中state_selected属性
2012-05-15 22:33 8513在android中,如果搞几个tab,然后想做到当移动到某个T ... -
android中从图库中选取图片
2012-05-11 21:03 10290在android中,如何从图库gallary中挑选图片呢, ... -
android 模拟器中启用相机API支持
2012-05-10 22:37 3191android 模拟器中启用相机支持,否则如果应用中用到相关的 ... -
(转)向android模拟器打电话发短信的简单方法
2012-04-13 13:00 2006http://blog.csdn.net/pku_androi ... -
android 中让activity全屏幕显示
2012-04-12 09:06 1690android 中让activity全屏幕显示,这是一个小ti ... -
在Android中加入GOOGLE统计系统
2012-03-31 20:43 3468Google的统计分析系统,不仅在传统WEB统计中应用很广 ...
相关推荐
本教程主要探讨如何在Android应用中通过WebService访问SQLServer数据库,实现数据的增、删、查操作。以下是相关知识点的详细说明: 1. **Android平台与Web服务的交互**: Android系统提供了多种方式与远程服务器...
Android平台之Webservice详解(超详细),Android平台之Webservice详解(超详细),Android平台之Webservice详解(超详细)
然而,在 Android 平台上调用 Webservice 并访问操作 MSSQL 数据库是一个复杂的任务,本文将为您详细介绍如何使用 Delphi XE5 来实现这一目标。 一、服务端开发 服务端开发是指在服务器上创建一个 Webservice,...
在Android开发中,访问Web Service是一项常见的任务,用于与服务器端进行数据交互。Web Service通常是一种基于HTTP协议的API,可以提供XML、JSON等格式的数据。在这个“android 访问webService Demo”中,我们将探讨...
KSOAP2是一个用于Android平台的SOAP客户端库,它简化了Android应用与WebService之间的交互过程。通过KSOAP2,开发者可以轻松地发送SOAP请求并接收响应。 #### 四、调用.NET WebService的步骤 ##### 1. 创建...
这就涉及到如何利用NanoHttpd在Android上搭建一个微型的webservice。NanoHttpd是一个轻量级、易于集成的HTTP服务器库,非常适合在移动设备上使用。 首先,我们来深入理解`Android NanoHttpd`的核心概念。NanoHttpd...
1. 创建WebService:使用ASP.NET或Java等技术,在服务器端创建一个WebService接口,该接口将处理来自Android客户端的请求,如HTTP POST或GET请求。接口应包括对数据库的基本操作,如SELECT、INSERT、UPDATE和DELETE...
KSOAP2框架为Android开发者提供了一个简单且强大的工具来实现与服务器端的数据交换。通过具体代码示例的分析,我们可以更深入地理解WebService的工作原理及其实现过程。在实际开发中,合理利用WebService可以显著...
本文将详细介绍如何在Android应用程序中使用ksoap2库访问WebService,并通过一个具体的例子来演示整个过程。 #### 二、ksoap2简介 ksoap2是一个用于Android平台的开源SOAP客户端库,它可以简化SOAP请求的创建和...
在Android开发中,Java语言是主要的编程工具,而Webservice是一种通过网络提供服务的方式,通常基于HTTP协议,使得移动应用、Web应用等可以互相交换数据。本篇将详细讲解如何在Android应用中使用Java调用Webservice...
在Android开发中,为了实现应用程序与服务器之间的数据交互,经常使用WebService技术进行用户验证,例如登录功能。这里的示例将详细介绍如何在Android应用中通过WebService接口验证用户登录信息。主要涉及的技术点...
本示例项目“Android访问.NET的WebService”提供了一种方法,让Android客户端能够调用.NET Web服务并处理返回的数据。以下是这个示例的关键知识点和实现步骤。 1. **SOAP协议**:Android通过SOAP(Simple Object ...
在Android开发中,访问Web Service是一项常见的任务,主要用于实现客户端与服务器端的数据交互。Web Service是一种基于网络的、独立于平台的应用程序接口,它能够通过HTTP协议进行通信,允许不同系统间的互操作性。...
**一、Android与Web Service交互基础** 1. **SOAP(Simple Object Access Protocol)**: 是一种轻量级的协议,用于交换结构化的和类型化的信息。它基于XML,使得数据可以在不同平台之间交换。 2. **Web Service**:...
在Android开发中,与远程服务器进行数据交互是常见的需求,而WebService就是实现这种交互的一种方式。WebService是一种基于网络的、分布式的模块化组件,旨在促进不同系统之间的互操作性。它允许不同的应用程序通过...
android开发访问webservice类 返回值 bool、int、Object
KSOAP2是一个轻量级的库,用于在Android平台上执行SOAP请求。创建一个`SoapObject`代表Web Service的方法,并添加参数。在这里,`methodName`是Web Service接口中的方法名,`fileName`是图片的名称,`imageBuffer`是...
都说WebService是一种基于SOAP协议的远程调用标准,对于这个协议理解不深,知道webservice可以将不同操作系统平台、不同语言、不同技术整合到一块,android SDK没有直接调用webservice的库,最常用的是借助ksoap2-...