package com.wizzer.tools;
import java.io.*;
import java.net.URLEncoder;
import java.util.*;
import org.apache.http.HttpResponse;
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.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.NameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import android.app.Activity;
import android.app.Dialog;
import android.app.ProgressDialog;
public class BaseProtocol
{
private StringBuilder sb = new StringBuilder();
private HttpClient httpClient;
private HttpPost httpRequest;
private HttpResponse response;
private List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>();
private static final int DIALOG1_KEY = 0;
private static final int DIALOG2_KEY = 1;
public BaseProtocol()
{
httpClient = new DefaultHttpClient();
}
/**
* *向服务器端发送请求 * *@paramurl *@throwsException
*
* @throws UnsupportedEncodingException
*/
public void pack(String url) throws Exception
{
httpClient = new DefaultHttpClient();
httpRequest = new HttpPost(url);
httpRequest.setEntity(new UrlEncodedFormEntity(nameValuePair));
response = httpClient.execute(httpRequest);
}
/** *得到返回数据 * *@paramurl *@return *@throwsException */
public String parse() throws Exception
{
// TODO状态处理500200
if (response.getStatusLine().getStatusCode() == 200)
{
BufferedReader bufferedReader2 = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2.readLine())
{
sb.append(s);
}
}
return sb.toString();
}
/***
* 向服务器发送信息 * *@paramkey *@paramvalue
*
* @throws UnsupportedEncodingException
*/
public void addNameValuePair(String key, String value) throws UnsupportedEncodingException
{
nameValuePair.add(new BasicNameValuePair(key, URLEncoder.encode(value, HTTP.UTF_8)));
}
/** *返回JSONArray对象数据模型 * *@return *@throwsJSONException */
public JSONArray getJSON() throws JSONException
{
return new JSONArray(sb.toString());
}
}
分享到:
相关推荐
综上所述,Android客户端与Java服务端的简单交互涉及网络编程、数据序列化、API设计等多个技术领域。实际开发中,还需要考虑性能优化、安全性和用户体验等因素,使得客户端与服务端的通信更加高效和可靠。
在Android客户端与服务器交互的例子中,Hibernate可能用于持久化服务器端的数据,比如用户信息、商品列表等。 4. **Spring框架**:Spring是另一个流行的Java EE框架,提供依赖注入和面向切面编程等功能,有助于简化...
综上所述,Android客户端可以通过GET和POST请求与服务端进行数据交互,其中POST请求更适合上传数据,包括XML文档和文件。`HttpURLConnection`是原生支持的库,而`OkHttp`等第三方库提供了更高级的功能和更好的性能。...
1. **Android客户端开发**:Android是Google主导的开源移动操作系统,主要用于智能手机和平板电脑。在实现登录注册功能时,我们需要创建用户界面(UI),包括输入框(EditText)用于接收用户名和密码,以及登录和...
本教程将详细讲解如何在Android项目中使用OkHttp与服务端进行网络通信。 首先,我们需要了解OkHttp的基本概念。OkHttp通过构建请求(Request)对象来指定要发送到服务器的URL、HTTP方法(GET、POST等)以及任何附加的...
例如,手机端.e4a可能是e4a编写的应用,用于发送用户操作数据到电脑端.e(易语言服务端),服务端处理数据后,可能返回结果,更新数据库,或者触发其他业务流程。这种通信机制广泛应用于移动应用与后台服务的交互,...
这款压缩包包含的是一个针对机票预订的Android手机软件的服务端代码,主要编程语言为PHP。在深入探讨相关知识点之前,我们需要了解几个基本概念: 1. **Android手机软件**:Android是一种开源的操作系统,广泛应用...
在IT行业中,构建Android应用程序与后端服务器交互是常见的需求,这里我们主要关注"android服务端jsp+servlet+mysql"这个主题。这个组合涉及到Android客户端、Java Web服务端以及数据库管理,下面将详细阐述这三个...
在Android应用开发中,服务端通常负责处理客户端(即Android设备)的数据交互,包括用户的登录、注册等关键功能。以下是对这个主题的详细解析: 1. **服务端基础**: - 服务端是网络应用程序的核心部分,它接收...
在IT行业中,客户端和服务端的交互是应用程序的核心部分,特别是在涉及到数据展示和用户交互时。本主题主要关注如何通过HTTP通信来实现数据的传递,并将这些数据有效地绑定到ListView组件上,这通常在Android开发中...
在IT行业中,手机App服务端接口测试是保证应用功能稳定性和数据交互正确性的重要环节。本文将详细探讨手机客户端如何与服务端进行交互,并介绍一种名为"IMPTest"的接口测试工具,以及如何利用该工具模拟客户端请求,...
5. **Android API**:开发Android通讯录应用,需要熟悉Android提供的Contact Provider API,它允许应用程序与系统的联系人数据存储进行交互。通过ContentResolver对象,我们可以执行SQL-like查询来获取、插入、更新...
一:登陆页面:客户端通过httpGet方法进行传值,发送...三:查询页面:客户端通过url方法进行传值,发送请求,服务器端通过jsp进行交互,输出响应的值给客户端,客户端通过SAX解析xml中的数据,然后分页显示到listview中
WirelessOrder系统是一个轻量级的解决方案,主要由Android客户端应用和服务器端接口组成,实现了用户通过手机端进行菜品浏览、选择、下单和支付等功能。该系统适合初学者进行学习和实践,有助于理解Android应用程序...
在Android应用开发中,图片上传是一项常见的功能,它涉及到客户端与服务端的交互。这个压缩包文件"uploadFile_param"可能包含实现这一功能的相关代码示例。以下将详细阐述图片上传过程中客户端和服务端的关键知识点...
这篇毕业设计项目主要展示了如何利用Android客户端访问web服务器来实现一个登录功能,涵盖了服务端、数据库以及Android端的完整流程。下面将详细讲解这个过程中的关键知识点。 首先,我们需要了解Android客户端开发...
在Android应用开发中,结合RESTful Web Service是一种常见的实践,用于实现移动设备与服务器之间的数据交互。本篇文章将深入探讨如何在Android项目中利用RESTful Web Service进行开发,以及涉及的相关技术点。 首先...
总结起来,获取Android手机通讯录涉及Android的Contacts Provider API,客户端通过USB与PC通信,服务端通过HTTP接口接收数据。在实际开发中,还需要关注数据安全、性能优化以及用户体验等方面。
这个项目可以帮助开发者理解Android客户端与服务器之间的交互,以及文件上传的整个流程,对于Android开发者来说是一个很好的学习资源。在实际开发中,还需要考虑更多细节,比如图片的压缩、进度显示、网络状态检测等...
你可以研究服务端如何定义和暴露业务逻辑,客户端如何调用这些逻辑,以及数据如何在两端之间安全高效地传输。此外,通过分析示例代码,你还可以学习如何自定义和扩展DataSnap的行为,以满足特定项目需求。 总之,...