android和javaEE通信的代码片
时间:2022-06-18
本文章向大家介绍android和javaEE通信的代码片,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
随着android的流行度越来越高,越来越多的人投身到android的开发中,其中当然不乏一些javaEE方面的程序员。对于转入到android开发行列的javaEE程序员来说,除了对java的使用相当熟悉之外,还有一个优势就是对Web服务器的熟悉。
对于开发手机办公系统,尤其是要和原先的系统进行对接,这就需要android开发人员除了懂android开发,也要懂的JavaEE的开发(重点在服务器端),可谓是要能上得了“厅堂”,下得了“厨房”。
这几天看了下android的程序,也写了一个。今天学习了一下新浪微博的SDK,整理出来一个简单的HttpClient类(目前是最简单的,以后不断完善),供以后使用。
上代码:
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class HttpClient {
public static int httpRequest(String url, PostParameter[] postParams,
String httpMethod) {
int responseCode = -1;
try {
HttpURLConnection con = null;
OutputStream osw = null;
try {
con = (HttpURLConnection) new URL(url).openConnection();
con.setDoInput(true);
if (null != postParams || "POST".equals(httpMethod)) {
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
con.setDoOutput(true);
String postParam = "";
if (postParams != null) {
postParam = encodeParameters(postParams);
}
byte[] bytes = postParam.getBytes("UTF-8");
con.setRequestProperty("Content-Length",
Integer.toString(bytes.length));
osw = con.getOutputStream();
osw.write(bytes);
osw.flush();
osw.close();
}
responseCode = con.getResponseCode();
System.out.println("responseCode:"+responseCode);
System.out.println("responseMsg:"+con.getResponseMessage());
} finally {
}
} catch (Exception e){
e.printStackTrace();
}
return responseCode;
}
private static String encodeParameters(PostParameter[] postParams) {
StringBuffer buf = new StringBuffer();
for (int j = 0; j < postParams.length; j++) {
if (j != 0) {
buf.append("&");
}
try {
buf.append(URLEncoder.encode(postParams[j].getName(), "UTF-8"))
.append("=").append(URLEncoder.encode(postParams[j].getValue(), "UTF-8"));
} catch (java.io.UnsupportedEncodingException neverHappen) {
}
}
return buf.toString();
}
public static void main(String[] args) {
PostParameter[] postParameters = new PostParameter[2];
postParameters[0] = new PostParameter("loginName","demo");
postParameters[1] = new PostParameter("password","demo");
httpRequest("http://localhost:8090/test/user/loginAction.action", postParameters,
"POST");
}
}
还有一个类:
public class PostParameter implements java.io.Serializable, Comparable {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public int compareTo(Object o) {
// TODO Auto-generated method stub
return 0;
}
public PostParameter(String name, String value) {
super();
this.name = name;
this.value = value;
}
public PostParameter(){
}
private String name;
private String value;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
目前只是发送请求,还没有完成接受返回请求的方法。
通过这个代码就可以使android程序和JAVAEE项目进行交互了。
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Laravel 创建指定表 migrate的例子
- Laravel find in set排序实例
- Laravel 对某一列进行筛选然后求和sum()的例子
- 关于laravel 数据库迁移中integer类型是无法指定长度的问题
- laravel多条件查询方法(and,or嵌套查询)
- thinkphp框架使用JWTtoken的方法详解
- Laravel创建数据库表结构的例子
- laravel按天、按小时,查询数据的实例
- 浅谈laravel中的关联查询with的问题
- 解决Laravel 不能创建 migration 的问题
- 使用tp框架和SQL语句查询数据表中的某字段包含某值
- Laravel框架中集成MongoDB和使用详解
- thinkphp5 模型实例化获得数据对象的教程
- 浅谈laravel框架sql中groupBy之后排序的问题
- php 比较获取两个数组相同和不同元素的例子(交集和差集)