零基礎安卓應用開發(三)18.07.06:由一個「美女」引發的事件

上午

測試發現,搜索美女沒反應,搜索其他的關鍵詞比如月亮就可以正常返回結果,很奇怪。

需要調試,但又不想調試完再把調試信息註釋掉,因為下次可能還有問題。於是需要再增加一個DebugMode的開關,這個安排在系統選項比較合適。於是右上角需要增加菜單項,點擊彈出菜單來勾選調試模式開關。日誌輸出模式之前用的是TextView,看別人的代碼發現是用Toast,這個不錯的,顯示完自動消失了,很適合調試用。於是自己加了一個Logger類,區分過程消息和結果消息分別顯示,Toast的輸入過程數據,TextView可以滾動支持定位。兜兜轉轉,為了解決一個問題寫了一個機制。

輸出信息打印出來,發現問題出在正則匹配那裡,同樣的內容,輸入“美女”返回的內容正則匹配為空。

初步懷疑可能是Java正則語法跟.net不同?於是網上找了一個Java正則測試工具,沒發現什麼問題。看來只能調試了。

模擬機調試,運行了幾分鐘模擬機才啟動好,然後就一直死在那裡,十幾分鍾也每什麼進展。這種調試太痛苦了,果斷放棄。

接下來要真機調試,首先手機端要設置好,開發者選項允許真機調試,然後在AS中調試。提示沒有連接到設備。

於是又查資料,需要解決怎麼連接到設備,打開ADM,提示找不到javaw.exe,Path中加了也不行,非要認AS目錄下的,不管它,要從這裡讀就複製過去,於是把整個300多M的JRE包都複製過去了,ADM可以打開了,然而卻仍然沒找到設備。

又查資料, 原來是驅動沒安裝,於是AS中下載驅動程序,安裝,還算順利,ADM中終於能看到了。

接下來調試就容易了,發現同樣的內容在手機端返回的內容與電腦瀏覽器並不完全一致,瀏覽器是沒有換行等控制字符的,而手機端通過URL請求返回的數據是有空行的,導致正則無法匹配。原因找到了,解決問題就簡單了,在Pattern中增加DOTALL標識就解決了。

為了一個小小的“美女”引發的問題,一上午的時間就這麼沒了。

​​​下午

下午的工作還算順利,按照原計劃,在ImageView上顯示出圖片的序號、尺寸、標題,增加下載、收藏、查看按鈕。

在ImageView上如何加按鈕花了點時間,正常應該是增加ImageButton按鈕,然後來響應時間,但是這又涉及到了ImageView上佈局,不是很容易控制。索性直接貼上圖片,到時直接判斷按下位置即可。

零基礎安卓應用開發(三)18.07.06:由一個“美女”引發的事件

​明天計劃是增加下載和查看功能,感興趣的可以關注:)


分享到:


相關文章: