移動開發,或者其他大部分軟件開發,我們程序員做的無非三件事情:獲取數據、顯示數據、獲取用戶事件並做相應反饋。而且移動開發之中,由於網絡環境的不穩定,獲取網絡數據就成為很多應用的瓶頸。本文將試圖構建一個穩定,高效,通用的移動開發通信框架。
本文基於J2ME環境編寫,也可以非常方便的移植到其他平臺。
下面根據我的思路,一步一步的分析如下:
1.隻要做過移動開發的人,就知道,通信肯定是會放在一個單獨的線程中完成的。不解釋理由……
2.通信嗎:無非就是請求(Request,StructRequest),發送請求、獲取響應(HttpHandler,HttpClient),然後就是得到的響應結果(Response,StructResponse)
3.通信的結果無非就兩種:成功、失敗,成功的話,應該通知UI線程(HttpListener),完成數據的繪制。失敗的話,情況就比較多瞭,就像一句話說的,美女都一個樣,但是醜的,各有各的醜法。那麼,通信失敗的大部分失敗情況,都可以由HttpListener檢測並反饋給UI線程。但是如果是沒有響應呢? 程序就卡死在哪裡?顯然不行,這個時候就需要一個計時器性質的監聽器瞭(HttpMonitor),在通信超時的情況下,放棄本次通信。
下面展示整個框架的類圖(自己都覺得類圖醜的很,拿不出手……)
第一篇就先寫到這裡,給大傢一個整體的印象,下一篇分析請求塊,並上傳源碼。
作者“馮小衛”