`
wyhlzxl
  • 浏览: 33972 次
  • 性别: 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解析通过http返回的json数据 包括服务器json数据

    4. android的apk给你说完成http数据请求和json获取解析。 5. 把index.php部署到你的php服务器. 6. 修改MainActivity.java中的 final private String DATA_URL = "http://192.168.1.5/test/index.php"; 指向你部署好...

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

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

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

    这是一个demo,实现了安卓客服端和struts后台的交互,用json传输数据,是一个简单的例子,struts+hibernate+spring+Android;非常适合新手入门。

    文件上传和ajax获取json的小示例

    jsp上传图片的示例,把文件保存在服务器和数据库,数据从数据库的获取,可以通过ajax来发送请求来获取,实现自动刷新的功能,实时获取数据库的数据,用json的方式返回给页面

    C#MVC后端Layui布局写的数据表格|JSON

    用layui前端布局, C#MVC后端调用数据写的数据表格,后端往前端传入json格式数据,动态绑定,局部刷新,分页,数据库用的petapoco,功能虽小,涉及的东西不少,可以研究研究,只需将web.config里的服务器地址的...

    Electron项目:读写本地json文件,实现用户登录、修改用户信息,窗口最小化,最大化,关闭窗口

    主要功能是实现:用户在访问后台服务器访问失败时(登录和修改内容时会首先访问后台服务器,服务器访问失败时会读取本地文件,此处为json文件,进行登录),修改用户信息(修改本地的json文件内容)。

    ajax获取json数据为undefined原因分析

    使用 XMLHttpRequest 函数获取数据,它是一种 API,允许客户端 JavaScript 通过 HTTP 连接到远程服务器。Ajax 也是许多 mashup 的驱动力,它可将来自多个地方的内容集成为单一 Web 应用程序。  一般处理服务器传来...

    lotus domino java代理_获取传递值json

    Lotus Domino Java 代理获取传递值JSON 在 Lotus Domino 环境中,使用 Java 语言编写代理可以获取传递的 URL 参数,并将其转换为 JSON 字符串。本文将详细介绍如何使用 Java 代理获取 URL 参数,并将其转换为 JSON ...

    AJAX跨域请求JSONP获取JSON数据的实例代码

    使用XMLHttpRequest 函数获取数据,它是一种 API,允许客户端 JavaScript 通过 HTTP 连接到远程服务器。Ajax 也是许多 mashup 的驱动力,它可将来自多个地方的内容集成为单一 Web 应用程序。 不过,由于受到浏览器的...

    Luckyexcel 解析Excel后台传入 file

    完美解决从服务器端读取文件传入前端

    PHP以json或xml格式返回请求数据的方法

    json格式返回数据比较简单,直接将我们后台获取到的数据,以标准json格式返回给请求端即可 //按json格式返回数据 public static function json($code,$message,$data=array()){ if(!is_numeric($code)){ return '...

    javaweb基于servlet天气预报查询系统设计与实现(项目源码)

    系统采用servlet框架结构,json作为数据读取的数据源。 2、项目技术 后台架构:servlet+json 前台技术:JavaScript+jQUery+Ajax+CSS+HTML 3、开发环境 系统环境:Windows 10 JDK版本:JDK 1.8 服务器:Tomcat 9.0 ...

    Ajax与JSON的一些学习总结

    1.1.1 摘要 Ajax技术的核心是XMLHttpRequest对象(简称XHR),可以通过使用XHR对象获取到服务器的数据,然后再通过DOM将数据插入到页面中呈现。虽然名字中包含XML,但Ajax通讯与数据格式无关,所以我们的数据格式...

    通过jsonp获取json数据实现AJAX跨域请求

    它在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页,ajax 使用XMLHttpRequest对象在后台与服务器交换数据,XMLHttpRequest 是 AJAX 的基础,它允许客户端 JavaScript 通过 HTTP请求连接到远程服务器...

    AJAX跨域请求之JSONP获取JSON数据

    使用 XMLHttpRequest 函数获取数据,它是一种 API,允许客户端 JavaScript 通过 HTTP 连接到远程服务器。Ajax 也是许多 mashup 的驱动力,它可将来自多个地方的内容集成为单一 Web 应用程序。 不过,由于受到浏览器...

    基于Android的个人理财系统的设计与实现(源码+数据库+文档+截图).zip

    在数据交换上,主要采用JSON作为从服务器获取的信息的格式,通过对JSON字符串的处理,以获取需要的数据。本系统采用Android系统集成的轻量级嵌入式数据库SQLite作为数据库引擎,以实现前后台数据交互。 关键词:个人...

    Ajax获取到数据放入echarts里不显示的原因分析及解决办法

    在做一个需要用到echarts地图的项目的时候,成功通过ajax获取到了后台提供的数据,并生成了想要的JSON串。但是,放到echarts option.series[0].data里,获取不到数据。在生成的地图上无法看到你从后台获取到的值。翻...

    前后端分离后台管理项目(springboot+mybatis+vue)

    API接口:前端通过HTTP请求访问后端提供的API接口来获取数据和提交操作。API接口通常采用RESTful风格,并返回JSON格式的数据。 跨域问题:由于前后端分离项目中前端和后端运行在不同的域名下,会涉及到跨域问题

    微信小程序登录模块,包含小程序客户端和后台API服务器.zip

    这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对...

    关于JSON解析的实现过程解析

    我们都知道,现在的开发模式都是前后端分离的,后台返回数据给前端,前端负责数据交互并渲染到页面,所以我们需要从后端接口上获取数据显示到页面上。在接受服务器端数据数据时,一般是字符串。这时,就需要用到JSON...

Global site tag (gtag.js) - Google Analytics