android socket传输序列化对象
来源:http://blog.csdn.net/cq361106306/article/details/8107105
最好只传基本数据类型,基本数据类型不需要序列化
在上一篇socket传输的基础上改即可
添加一个类,继承Serializable;
<p>package com;</p><p>import java.io.Serializable;</p><p>public class Message implements Serializable{ String uId;//用户编号 //叫分 String score; public Message(String uId, String score) { this.uId = uId; this.score = score; } public String getuId() { return uId; } public void setuId(String uId) { this.uId = uId; } public String getScore() { return score; } public void setScore(String score) { this.score = score; } } </p>
主要是改变传送的方式
ObjectOutputStream os= null; ObjectInputStream in =null;
这里的片段
os = new ObjectOutputStream(mSocket.getOutputStream()); in = new ObjectInputStream(new BufferedInputStream(mSocket.getInputStream()));
读取
Object obj=null; if((obj=in.readObject())!=null) { com.Message mes=(com.Message)obj; mStrMSG=mes.getScore()+"\n";//消息换行 mHandler.sendMessage(mHandler.obtainMessage());// 发送消息 }
写入
os=new ObjectOutputStream(client.getOutputStream()); os.writeObject(new com.Message("user1:",mStrMSG)); os.flush(); 不懂的可以先看看socket有关的。