android socket傳輸序列化對象

最好隻傳基本數據類型,基本數據類型不需要序列化

在上一篇socket傳輸的基礎上改即可

添加一個類,繼承Serializable;

[java] 
<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> 
主要是改變傳送的方式

[java] 
ObjectOutputStream os= null; 
ObjectInputStream in =null; 
這裡的片段

[java]
os = new ObjectOutputStream(mSocket.getOutputStream()); 
in = new ObjectInputStream(new BufferedInputStream(mSocket.getInputStream()));   
                         
讀取

[java] 
Object obj=null; 
if((obj=in.readObject())!=null) 

    com.Message mes=(com.Message)obj; 
    mStrMSG=mes.getScore()+"\n";//消息換行 
    mHandler.sendMessage(mHandler.obtainMessage());// 發送消息 
     

寫入

[java] 
os=new ObjectOutputStream(client.getOutputStream()); 
os.writeObject(new com.Message("user1:",mStrMSG)); 
os.flush(); 

 

不懂的可以先看看socket有關的。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。