最近一直在忙Android的工控軟件設計,寫一點心得,希望對這方面開發的有一點帶你幫助。
1)從藍牙接收了數據又如何保存?
之前沒有想過接收的數據如何保存,就簡單的用一個字節數組進行保存,後來處理數據的時候就遇到了一堆問題,不是指令處理不對,就是接收的數據少了一部分,或是接收的數據還沒有處理又被覆蓋了,最後只能采用隊列的方式保存數據,然後再根據定義的數據格式進行提取數據,再進行處理。
2)設備與手機終端之間的通信協議如何設計?
項目已開始也沒有好好考慮這個通信協議,通信格式不規范,這樣會增加數據處理的難度,還會造成數據處理出錯,工控軟件還講究的是實時性,所以 這個處理速度還是必須的,一個很好的通信協議對整個軟件構架都有影響,設計不好,只能是不是得打補丁,建議使用TLV的格式,設計設備與終端之間的通信協議。
3)設備與終端之間是否需要心跳?
這個毫無疑問是必須的,如果沒有心跳,那藍牙斷開連接了雙方都不知道,這樣一直開著終端是毫無意義的。
4)如何增強用戶體驗?
android軟件不單單是界面需要用戶體驗高,工控軟件內部處理流程也需要處理好,內部的流程直接影響到用戶體驗,比如說終端與設備之間自動關聯,設備與終端斷開連接以後,提醒用戶去關聯設備,或是內部進行自動連接。
更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11