客戶端中特別注意的是由於訪問網絡的代碼會造成進程阻塞,所以訪問網絡的代碼必須得寫在一個獨立函數中,然後通過Thread或者Runnable的方法run()進行調用,而且測試的時候也很麻煩,這可能是由於我的測試機是NOKIA6230i的緣故。如果是通過CMNET連接的話可以直接在WTK2.2自帶的模擬器上測試,如果是通過CMWAP的話那就得真機測試,在NOKIA6230I(是CMWAP代理的)上測試的時候不知什麼原因總是連不上服務器,後來查到有文章說是因為CMWAP上的代理是要對目的IP鑒權的,也就是服務器得是移動商用的WAP服務器這類的合法IP才能通過CMWAP網關的鑒別。
客戶端登陸後可進行查詢操作。登陸和查詢都得向服務器發送查詢請求,由於是通過HTTP傳送,發送和接收的數據都不用經過復雜的拆包解包,就直接用分隔符號,如","就可以組裝特定請求包了,服務器節口接收到請求之後,通過拆分請求包取得請求類型,如拆分後的請求包數組type[0].equals("login")既為用戶的登陸驗證請求,如type[0]="2"為某一特定數據的查詢請求。當中遇到這樣的一個問題,手機用戶登陸的時候,我們訪問HTTP接口的進程啟動,客戶端等待服務端的返回,這裡在等待的時候我用了Gauge,但是在客戶端也不知道服務器什麼時候返回,只能把Gauge時間設置為一個大概數字,不知道哪位看官對這問題有什麼好的解決方法不?先謝過~