`
wyhlzxl
  • 浏览: 34522 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类

通过json获取后台服务器数据

阅读更多
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.protocol.HTTP;
import org.json.JSONException;
import org.json.JSONObject;

import android.util.Log;

public class NetworkConnect {
      //服务器URL
private String base_url = "http://10.1.1.1:8080/Service/";
	private static final String TAG = "API";

        //返回得到object对象
	public JSONObject getJSONObject(String function,
			List<NameValuePair> nameValuePairs) {
		JSONObject json = null;
		String resultStr = getRequest(base_url + function, nameValuePairs);
		if (resultStr == "" || resultStr == null) {
			return null;
		}
		try {
			json = new JSONObject(resultStr);
		} catch (JSONException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return json;
	}

	protected String getRequest(String url, List<NameValuePair> nameValuePairs) {
		String result = "";
		int statusCode = 0;
		BasicHttpParams httpParams = new BasicHttpParams(); 
		HttpConnectionParams.setConnectionTimeout(httpParams, 3000); 
		HttpConnectionParams.setSoTimeout(httpParams, 3000);
		HttpClient client = new DefaultHttpClient(httpParams);
		HttpPost getMethod = new HttpPost(url);
		try {
			getMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs));
		} catch (UnsupportedEncodingException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}

		Log.d(TAG, "do the getRequest,url=" + url + "");
		try {
			HttpResponse httpResponse = client.execute(getMethod);
			// statusCode == 200 正常
			statusCode = httpResponse.getStatusLine().getStatusCode();
			Log.d(TAG, "statuscode = " + statusCode);
			// 处理返回的httpResponse信息
			result = retrieveInputStream(httpResponse.getEntity());
		} catch (Exception e) {
			Log.e(TAG, e.getMessage());
		} finally {
			getMethod.abort();
		}
		return result;
	}

	protected String retrieveInputStream(HttpEntity httpEntity) {
		int length = (int) httpEntity.getContentLength();
		if (length < 0)
			length = 10000;
		StringBuffer stringBuffer = new StringBuffer(length);
		try {
			InputStreamReader inputStreamReader = new InputStreamReader(
					httpEntity.getContent(), HTTP.UTF_8);
			char buffer[] = new char[length];
			int count;
			while ((count = inputStreamReader.read(buffer, 0, length - 1)) > 0) {
				stringBuffer.append(buffer, 0, count);
			}
		} catch (Exception e) {
		}
		return stringBuffer.toString();
	}
}
分享到:
评论
1 楼 ycl1229ycl 2011-12-14  
    

相关推荐

    android通过json数据访问服务器

    在Android开发中,访问服务器获取数据是常见的需求,而JSON作为一种轻量级的数据交换格式,因其简洁、易于解析和生成,被广泛应用于网络通信。本示例主要介绍如何通过JSON数据来访问服务器,并利用多线程提升应用...

    Ajax 使用JSON向服务器发送数据

    它通过在后台与服务器进行少量数据交换,使网页实现异步更新。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在现代Web开发中,Ajax和JSON经常结合...

    前台ajax与后台json传递

    这里,我们使用`file_get_contents('php://input')`获取前端发送的原始POST数据,然后通过`json_decode()`将其转换为PHP数组。 在实际应用中,Ajax与Json结合使用可以实现各种复杂的交互,例如用户登录验证、表单...

    调用json获取表格动态数据代码.zip

    本项目"调用json获取表格动态数据代码.zip"显然是一个用于演示如何在网页中利用JavaScript处理JSON数据,生成具有各种交互功能的表格的示例。 首先,我们来看"说明.htm"。这个文件可能是项目中的HTML模板,展示了...

    java后台生成JSON数据

    Java 后台生成 JSON 数据是现代 Web 应用开发中的常见任务,特别是在与前端框架如 EXT 进行数据交互时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易于人阅读和编写,同时也易于机器解析...

    Android客户端与服务端的JSON交互数据的实现

    在Android应用开发中,客户端和服务端之间的数据交互是不可或缺的一部分,JSON作为一种轻量级的数据交换格式,被广泛用于Android和服务器之间的通信。本教程将详细阐述如何在Android客户端与服务端实现JSON数据的...

    Android客户端与服务器通信+json交互数据

    在Android应用开发中,客户端与服务器的通信是至关重要的,特别是在构建移动应用时,需要实时地获取或提交数据。在这个场景中,Android客户端通常通过HTTP协议与服务器进行交互,而JSON(JavaScript Object Notation...

    ajax获取后台菜单数据

    总的来说,"Ajax获取后台菜单数据"是一个典型的前后端交互案例,通过Ajax技术实现实时数据更新,使用JSON作为数据交换格式,利用Accordion控件提供友好的用户界面。虽然描述中提到这种方式可能显得有些“老套”,但...

    7、使用JSON向服务器发送数据——ajax基础笔记

    通过将JSON对象序列化成字符串发送给服务器,然后由服务器解析并处理,再将处理结果以JSON形式返回,客户端可以轻松地获取和更新数据,从而实现了富客户端的用户体验。在进行这样的开发时,确保正确设置HTTP头、正确...

    jQuery中ajax请求后台返回json数据并渲染HTML的方法

    本文介绍了如何在jQuery中通过AJAX请求从后台获取JSON格式的数据,并将这些数据动态地渲染到HTML中去。具体的知识点可以分为以下几个方面: 1. jQuery的AJAX方法:在文章中,通过使用jQuery提供的$.ajax()方法来...

    Extjs4的FormPanel从后台load json数据的要点

    通过以上内容的介绍,我们可以了解到在Extjs4中如何利用`form.load()`方法实现从后台加载JSON数据,并将其映射到表单字段中显示的过程。这不仅有助于提高开发效率,还能增强应用程序的灵活性。希望本文能够帮助您更...

    android通过json获取金山词霸每日一句

    在Android开发中,获取并展示在线数据是一种常见的需求,这里我们关注的是如何通过JSON来获取金山词霸的每日一句服务。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...

    Android客户端与服务器端的json数据交互(内含大量知识点)

    例如,从服务器接收到的JSON字符串可以通过`new JSONObject(jsonString)`转换为`JSONObject`,然后通过`getString(key)`、`getInt(key)`等方法获取值。 - Gson库是Google提供的一个更强大的JSON处理库,它可以将...

    将后台数据转换为jion数据.zip_SNDT_app后台_fourthatu_把后台数据转换为json数据

    在本案例中,我们关注的是如何将后台数据转换为JSON(JavaScript Object Notation)格式,以便于前端应用,特别是APP,能够轻松地读取和处理这些数据。这个过程通常涉及到后端开发,其中" SNDT_app后台"可能指的是...

    基于Silverlight读取服务器端格式化的Json数据源码例子

    在对应的后台代码-behind文件(通常是`.xaml.cs`)中,你会发现与服务器通信的代码,比如`WebClient.DownloadStringCompleted`事件的处理函数,这里会接收到服务器返回的JSON数据。 在`SLLinkJson.Web`项目中,可能...

    ExtJs学习资料22-从服务器获取JSON数据并分页处理.doc

    在本篇ExtJs学习资料中,我们探讨了如何从服务器获取JSON数据并进行分页处理。这是一项在Web应用程序中非常常见的任务,特别是在构建数据密集型界面时。下面我们将详细阐述实现这一功能的关键步骤和涉及的技术点。 ...

    android客户端与后台服务器交互

    本示例探讨了如何实现Android客户端与基于Struts、Hibernate和Spring的后台服务器之间的数据交互,使用JSON作为数据传输格式。对于初学者来说,这是一个很好的起点,因为它涵盖了多个关键的技术栈。 首先,让我们...

    通过json进行传输数据的Js分页程序

    当涉及到分页程序时,我们通常在前端实现一个用户界面,展示从服务器获取的部分数据,并提供导航元素(如“上一页”、“下一页”按钮)来切换不同的数据页面。JavaScript可以通过AJAX(异步JavaScript和XML)技术与...

    基于PHP的Android应用服务器端管理系统|Json数据通信

    【标题】基于PHP的Android应用服务器端管理系统是用于管理和控制Android应用程序的重要工具,它通过Json数据格式实现与Android客户端的高效通信。这个系统的核心在于利用PHP作为后端语言,构建一个能够处理Android...

Global site tag (gtag.js) - Google Analytics