摘要:
一、开门见山 代码: 由于项目中的更新包是放在蒲公英上的,所以代码中不会有如何从服务器获取更新信息、版本号的对比判断更新等代码。大家从代码中只关注 拿到下载地址 到 完成安装这一个过程就可以了。下面我们就直接将适配吧。 二、更新中的适配 (1)DownloadManager的一点注意: 对于不能使用 阅读全文
摘要:
在刚接入地图后,发现地图的缩放在手指离开后就戛然而止,这和人家的体验不太一样啊。有点尬,开始解决一下这个问题。文章代码是在上一篇代码的基础上,如果有什么疑问可以看下上一篇 一、解决思路 让地图在手指离开后不立马停止缩放,而是继续缩放一定的比例后停止。什么时候停止?在手指离开后到停止这段时间为百度地图 阅读全文
摘要:
一、问题分析 我们在缩放地图时,是想要在某一个位置进行缩放,但是在缩放结束时,由于手指不会同时离开不触摸屏幕,所以会造成缩放结束后地图会有一个移动的效果。这个效果是我们不需要的,这就是我们需要解决的问题。问题分析清楚就应该明白这个肯定是要从 Android 的事件传递机制入手的,我们怎么能让地图在缩 阅读全文
摘要:
1. 在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。 2. Python标准的解释器没有针对尾递归做优化,任何递归函数都存在栈溢出的问题。 阅读全文
摘要:
问题原因: 在项目中通过 git 协同开发,项目是 kotlin 与 Java 混合开发。在 build.gradle 中添加依赖之后就出现这个问题了,点击运行无法编译。 在网上找了各种解决办法都没能解决我的问题,不过通过一番查找,在 app.iml 中发现一个问题: 网文中解决的是缺失了这一行,添 阅读全文
摘要:
一、概述 对于 Android 开发版本的统一涉及到的东西就是 Gradle 中的全局设置,我们通过配置 gradle 也就是编写 Groovy 代码将开发中的版本号设置为全局参数。这样就能够在 module 或者 library 中访问同一份版本号,从而实现统一。Gradle 中的全局设置方式有以 阅读全文
摘要:
一、概述 Android 的 IPC 方式有 Bundle 、共享文件、AIDL 、Messenger 、ContentProvider 、Socket ,我们在实现进程间通信时要选择哪一种方式来实现,我们要根据自己的需求来选择。写了一系列的IPC 文章,在这里罗列一下: IPC 之 Binder 阅读全文
摘要:
一、概述 我们知道在开发中,即时通讯、设备间的通信都是使用 Socket 实现,那当然用它来实现进程间通信更是不成问题。Socket 即套接字,是一个对 TCP / IP协议进行封装 的编程调用接口(API) 。通过Socket,我们才能在 Andorid 平台上通过 TCP/IP 协议进行开发。S 阅读全文
摘要:
一、概述 ContentProvider 是 Android 中提供的专门用于不同应用间进行数据共享的方式。和 Messenger 一样,ContentProvider 的底层实现同样也是 Binder 。ContentProvider 的数据源不止包括 SQLite 数据库,还可以是文件数据。通过 阅读全文
摘要:
一、概述 Messenger 是一种轻量级的 IPC 方案,它的底层实现是 AIDL ,对 AIDL 进行了封装,方便了对它的使用。Messenger 一次只处理一个请求,所以在服务端不用考虑线程同步的问题。下面给出一张 Messenger 的工作原理图来了解一下其工作原理: 根据上面原理图,要通过 阅读全文