标签:
目的:通过网络传输Java对象,Android客户端访问Javaweb
需要注意的地方:客户端和服务端的同一个类的包名一定要一致
1 服务端定义一个Java类,如Person,包名:com.example.demo,然后实现Serialize接口
2 在servlet中,使用ObjectOutputStream包装ServletOutputStream输出流
ObjectOutputStream objectOutputStream = new ObjectOutputStream(response.getOutputStream()) ;
3 直接将new 的Person类对象写出
4 Android客户端访问服务端,使用的Genymotion虚拟机,url如:http://xx.xx.xx:8080/项目名/servlet的url pattern
注意:使用 Genymotion虚拟机访问本机,并非是10.0.2.2,而是本机ip
5 Android客户端代码定义的Person类的包名也要是com.example.demo,并且实现Serialize接口
6 客户端代码通过HTTP请求获取InputStream流,使用ObjectInputStream包装输入流
ObjectInputStream objectInputStream = new ObjectInputStream(Utils.getData(url, Person.class))
接着读出对象即可:Person person = (Person) objectInputStream.readObject()
标签:
原文地址:http://my.oschina.net/zhangdengjiexuyu/blog/403260