零基础安卓应用开发(三)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:由一个“美女”引发的事件

​明天计划是增加下载和查看功能,感兴趣的可以关注:)


分享到:


相關文章: