【发布时间】:2017-10-28 17:06:08
【问题描述】:
如何使用HttpUrlconnection 将类的对象作为帖子发送并再次从服务器获取?我应该怎么做才能实现Serializable?有什么方法可以发送对象列表吗?!
谢谢
【问题讨论】:
标签: android object post serialization httpurlconnection
如何使用HttpUrlconnection 将类的对象作为帖子发送并再次从服务器获取?我应该怎么做才能实现Serializable?有什么方法可以发送对象列表吗?!
谢谢
【问题讨论】:
标签: android object post serialization httpurlconnection
首先你需要调用这些:
conn.setDoOutput(true); // enable write.
conn.setDoInput(true); // enable read.
用于发送数据(数据必须实现Serializable):
ObjectOutputStream out = new ObjectOutputStream( conn.getOutputStream() );
out.writeObject( data );
out.close();
用于接收数据:
ObjectInputStream ois = new ObjectInputStream( conn.getInputStream() );
data = ois.readObject();
ois.close();
【讨论】:
doInput(true) 是默认值。
您可以通过 8 个简单的步骤完成此操作
allprojects
{
repositories
{
...
maven { url 'https://jitpack.io' }
}
}
dependencies
{
compile 'com.github.sangeethnandakumar:TestTube:v2.5.2'
}
public class Student
{
@Serialisable("name");
String name;
@Serialisable("subject");
String subject;
@Serialisable("rollno");
String rollno;
}
@Serialisable() 是 GSON 库使用的注释,只需在其中使用相同的名称来命名标识符,就像这里一样。好的,你现在完成了 30%
Gson gson = new Gson();
Student s = new Student();
s.name="Sangeeth";
s.subject="Computer Science";
s.rollno="43";
String json = gson.toJson(s,Student.class);
List<DataRack> racks=new ArrayList<DataRack>();
racks.add(new DataRack("my_upload",json));
WebServer server=new WebServer(getApplicationContext());
server.setOnServerStatusListner(new WebServer.OnServerStatusListner() {
@Override
public void onServerResponded(String responce) {
}
@Override
public void onServerRevoked() {
}
});
server.connectWithPOST(MainActivity.this,"http://yourwebsite/test.php",racks);
这里记录的所有内容:https://github.com/sangeethnandakumar/TestTube
希望能解决
【讨论】: