问题描述
WearOS软件开发时,需要使用出门问问提供的com.ticwear:mobvoi-api
包,此包位于maven { url 'https://dl.bintray.com/ticwear/maven'}
。
然而正常使用implementation "com.ticwear:mobvoi-api:1.1.1"
来集成到项目时,发生403错误,无法下载该包。
WearOS软件开发时,需要使用出门问问提供的com.ticwear:mobvoi-api
包,此包位于maven { url 'https://dl.bintray.com/ticwear/maven'}
。
然而正常使用implementation "com.ticwear:mobvoi-api:1.1.1"
来集成到项目时,发生403错误,无法下载该包。
在Android Studio中,xml写layout只能是算画个草图,对界面的监听改变等逻辑都要在activity/fragment里处理,大型项目中会使其显得非常臃肿,难以维护。故而需要使用适合的开发模式使得项目易于阅读和维护。
最近在写一个快递查询的WearOS App,突然有一次调试发现主界面的ListView
里的item,显示的都是一模一样的内容,全是最新添加的一个快递的内容(这是一个伏笔哈哈哈)。
遂思前想后,开始以为是ListView
的问题,但是没结果。接着以为是Adapter
的问题,但很快又否决了这个想法,因为项目一开始也是用的SimpleAdapter
,且当时ListView
显示正常。无意中看到一篇Blog:
HashMap对象重复赋值在多线程中的教训
https://blog.csdn.net/goodguyzl/article/details/83847286
该文中写道:
“HashMap对象是在while循环外面声明的(第一行代码那里),但是在循环里面这个HashMap对象反复了put了key相同的两个键值对,问题可能就出在这里”“HashMap对象是在while循环外面声明的(第一行代码那里),但是在循环里面这个HashMap对象反复了put了key相同的两个键值对,问题可能就出在这里”
我猛然意识到我也犯了同样的错误!
HashMap
对象的申明放到循环外的话,意味着循环内的每次put会覆盖掉原有的值,而且ListView
每次add的都是同一个HashMap对象!ListView
中显示的item全是最新添加的一个快递的信息。