看板 AndroidDev 關於我們 聯絡資訊
自己之前在找網路連線的方法時 找到ObjectInputStream、ObjectOutputStream這個東西 這東西蠻方便的,只要implements Serializable介面 就連自己寫的物件都能發送出去 至於int、String、Date等基礎類型 只要去找java doc,看到有實作Serializable,就能直接傳過去 甚至連android.location.Location之類的都能直接傳送出去 這是那時寫的一個小東西 http://www.megaupload.com/?d=L5FYRI0V 使用方法是: socket s = new socket(); //(中略,建立一條連線,取得一條已經連線的socket) //server端也一樣 SocketListener SL = new SocketListener(s); 然後,就可以透過 SL.SendNext(Object obj) 送出物件給另一方 或是透過 SL.GetNext() 接受物件 這裡的SL.GetNext()不會block,如果拿不到東西只會直接傳回null 所以可以在android裡的UI Thread執行,而不會造成ANR 另外,有個幾個要注意的地方是 假設自己寫了個class,在手機中的套件名稱是com.pack1.test01 那server端的com.pack1.test01也必須要有那個class 否則會出現 EOFException 以及,在關閉時要記得呼叫CloseLink() 要不然執行緒會一直執行下去 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.233.158.97
fj779911:非常感謝! 我來試試看^^ 09/25 23:22