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();
}
}
分享到:
相关推荐
在Android开发中,访问服务器获取数据是常见的需求,而JSON作为一种轻量级的数据交换格式,因其简洁、易于解析和生成,被广泛应用于网络通信。本示例主要介绍如何通过JSON数据来访问服务器,并利用多线程提升应用...
它通过在后台与服务器进行少量数据交换,使网页实现异步更新。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在现代Web开发中,Ajax和JSON经常结合...
这里,我们使用`file_get_contents('php://input')`获取前端发送的原始POST数据,然后通过`json_decode()`将其转换为PHP数组。 在实际应用中,Ajax与Json结合使用可以实现各种复杂的交互,例如用户登录验证、表单...
本项目"调用json获取表格动态数据代码.zip"显然是一个用于演示如何在网页中利用JavaScript处理JSON数据,生成具有各种交互功能的表格的示例。 首先,我们来看"说明.htm"。这个文件可能是项目中的HTML模板,展示了...
Java 后台生成 JSON 数据是现代 Web 应用开发中的常见任务,特别是在与前端框架如 EXT 进行数据交互时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易于人阅读和编写,同时也易于机器解析...
在Android应用开发中,客户端和服务端之间的数据交互是不可或缺的一部分,JSON作为一种轻量级的数据交换格式,被广泛用于Android和服务器之间的通信。本教程将详细阐述如何在Android客户端与服务端实现JSON数据的...
在Android应用开发中,客户端与服务器的通信是至关重要的,特别是在构建移动应用时,需要实时地获取或提交数据。在这个场景中,Android客户端通常通过HTTP协议与服务器进行交互,而JSON(JavaScript Object Notation...
总的来说,"Ajax获取后台菜单数据"是一个典型的前后端交互案例,通过Ajax技术实现实时数据更新,使用JSON作为数据交换格式,利用Accordion控件提供友好的用户界面。虽然描述中提到这种方式可能显得有些“老套”,但...
通过将JSON对象序列化成字符串发送给服务器,然后由服务器解析并处理,再将处理结果以JSON形式返回,客户端可以轻松地获取和更新数据,从而实现了富客户端的用户体验。在进行这样的开发时,确保正确设置HTTP头、正确...
本文介绍了如何在jQuery中通过AJAX请求从后台获取JSON格式的数据,并将这些数据动态地渲染到HTML中去。具体的知识点可以分为以下几个方面: 1. jQuery的AJAX方法:在文章中,通过使用jQuery提供的$.ajax()方法来...
通过以上内容的介绍,我们可以了解到在Extjs4中如何利用`form.load()`方法实现从后台加载JSON数据,并将其映射到表单字段中显示的过程。这不仅有助于提高开发效率,还能增强应用程序的灵活性。希望本文能够帮助您更...
在Android开发中,获取并展示在线数据是一种常见的需求,这里我们关注的是如何通过JSON来获取金山词霸的每日一句服务。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...
例如,从服务器接收到的JSON字符串可以通过`new JSONObject(jsonString)`转换为`JSONObject`,然后通过`getString(key)`、`getInt(key)`等方法获取值。 - Gson库是Google提供的一个更强大的JSON处理库,它可以将...
在本案例中,我们关注的是如何将后台数据转换为JSON(JavaScript Object Notation)格式,以便于前端应用,特别是APP,能够轻松地读取和处理这些数据。这个过程通常涉及到后端开发,其中" SNDT_app后台"可能指的是...
在对应的后台代码-behind文件(通常是`.xaml.cs`)中,你会发现与服务器通信的代码,比如`WebClient.DownloadStringCompleted`事件的处理函数,这里会接收到服务器返回的JSON数据。 在`SLLinkJson.Web`项目中,可能...
在本篇ExtJs学习资料中,我们探讨了如何从服务器获取JSON数据并进行分页处理。这是一项在Web应用程序中非常常见的任务,特别是在构建数据密集型界面时。下面我们将详细阐述实现这一功能的关键步骤和涉及的技术点。 ...
本示例探讨了如何实现Android客户端与基于Struts、Hibernate和Spring的后台服务器之间的数据交互,使用JSON作为数据传输格式。对于初学者来说,这是一个很好的起点,因为它涵盖了多个关键的技术栈。 首先,让我们...
当涉及到分页程序时,我们通常在前端实现一个用户界面,展示从服务器获取的部分数据,并提供导航元素(如“上一页”、“下一页”按钮)来切换不同的数据页面。JavaScript可以通过AJAX(异步JavaScript和XML)技术与...
【标题】基于PHP的Android应用服务器端管理系统是用于管理和控制Android应用程序的重要工具,它通过Json数据格式实现与Android客户端的高效通信。这个系统的核心在于利用PHP作为后端语言,构建一个能够处理Android...