安卓socket聊天應該注意的問題

2021-07-11 07:52:28 字數 513 閱讀 6342

做安卓socket聊天的時候,碰到一些問題,彙總一下

1.安卓端需要在androidmanifest.xml裡新增許可權

internet"/>

2.安卓4.0及以上版本規定,網路以及檔案操作等耗時的工作需要在子執行緒裡實現,否則在主線程耗時太多影響主線程接下來的其他操作,當然安卓4.0以下不用管這些

3.ui介面的更新操作需要在主線程裡實現,在子執行緒中執行主線程常用方法有三種:由簡單到複雜分為:

使用runonuithread()函式(簡單粗暴,簡單的介面更新推薦使用這個,**直接可以寫進去)、繼承asyntask類(重寫幾個函式,每個函式有特定作用)、使用handler機制(需要結合thread)。

4.objectoutputstream傳輸類需要實現serializable介面,且傳輸的類在客戶端和伺服器端必須完全一樣,包括包名也必須完全一樣。

5.聯網時若是訪問本機,用的位址是「10.0.2.2」而不是「127.0.0.1」,它是安卓預設的訪問本機位址,而「127.0.0.1」訪問的是模擬器本身

安卓Socket開發注意事項

1 在寫 的activity裡import進socket相關的包,這個很easy,如果你不知道要import什麼包,也可以先不指定,可 以直接寫例如 socket sokt new socket 這樣的話,由於沒有匯入socket的package,所以編譯器會自動提示 你需要import某個包,然後...

安卓Socket開發注意事項

1 在寫 的activity裡import進socket相關的包,這個很easy,如果你不知道要import什麼包,也可以先不指定,可 以直接寫例如 socket sokt new socket 這樣的話,由於沒有匯入socket的package,所以編譯器會自動提示 你需要import某個包,然後...

安卓socket亂碼

方法一 主要還是伺服器端和客戶端編碼匹配的問題 不管用何種編碼 只要兩端匹配 就ok不要假定預設編碼 乙個個去試 不如一行code 關鍵 public static final string bm gbk 全域性定義,以適應系統其他部分 inputstream is bufferedreader b...