随笔分类 - Android
摘要:1. 背景 项目使用知乎 matisse 相册库,项目依赖 appcompat 1.2.0版本,现在升级至appcompat 1.3.1 版本,出现相册为空的情况。 相册为空的原因如下图所示: supportFragmentManager .beginTransaction() .replace(R
阅读全文
摘要:1. HttpURLConnection 上传进度 用 HttpURLConnection 做文件上传,会有需要显示上传进度的需求。但是根据官方的文档说明,如下图,HttpURLConnection 在上传数据之前,默认会强制先将请求体缓存在内存中。这样会导致我们上传进度显示不准确。具体现象就是上传
阅读全文
摘要:一、前言 Java和JS交互的方式有多种,这里探讨的方式是通过以下方式进行的交互。 webView.addJavascriptInterface(this, "JSBridge") 这篇文章是想弄明白 JavaScript 和 Java是如何实现这种方式互调的,就从源码角度开始分析 。 二、分析 1
阅读全文
摘要:地址:SAndroidChart 1. 饼状图 实现内容: <1> 动态增加数据 <2> 对于描述位置的冲突,牺牲空间的前提下进行避免 开发记录: <1> Android 中绘制角度的坐标: <2> Android中位置坐标的计算和角度的计算,注意Android 坐标系的起点位置与绘制圆圆心之间的关
阅读全文
摘要:这个错误单个拿出来讲解一下,是因为记录一下日常开发排错的方式以及日志的查阅: 这个错误网上大部分的解决方式是:在项目的gradle.properties中添加一行 android.enableAapt2=false 的代码 但是这种方式好像也并不能解决全部情况下的该问题,而且这种方式已经过时了。 我
阅读全文
摘要:简介 NetBus 是一个实时监听网络状态的一个框架,接入简单。只需要几步就可以在 Activity 和 Fragment 以及其他要观测的类中很方便的收到网络状态变化的通知。 愿景 可以在 App 任意位置监听网络的变化 同一类中监听不同类型的网络 监听者可以指定不同的网络环境 布局封装,简化布局
阅读全文
摘要:一、问题原因: 根本原因是从Android9.0开始,出于完全因素考虑,默认不再支持http网络请求,需要使用 https。 二、解决方案: 解决的基本思路是:对指定的网址进行过滤,强制允许指定网址继续使用http请求 参考地址1:https://stackoverflow.com/question
阅读全文
摘要:工具:KeyBoradUtil Kotlin 版: Java 版: 我在 Github 上创建了一个库,会有其他工具的继续更新: https://github.com/meetsl/CommonUtils
阅读全文
摘要:一、控件简述 今天给大家推荐一个控件 SCardView ,看名字就很容易才出来它其实就是一个 CardView 。把它拿出来,是因为它解决了一些 CardView 无法实现的需求以及简化了 CardView 的使用。其实就是 CardView 的一个改良版。下面我们来介绍它: 1. 实现圆角阴影效
阅读全文
摘要:关于 Android 阴影,大家肯定不陌生的。但是Android 中到底有多少种方式可以实现阴影效果以及各种方式之间有什么区别和优缺点,这就是我想总结的。下面我们一个一个来说: 一、各种实现阴影的方式 1. Android 在 API 21(5.0)添加了 elevation,可以很方便的在 Vie
阅读全文
摘要:项目中总会依赖一些大牛的开源库,例如 Android 开发 通过以下方式就可以方便的引入库。那么如何将我们自己的库也能这样来使用呢?下面我们将详细的讲解每一步的过程: 一、通过 sonatype 把你的开源库提交到Maven的中心库 1.首先,在 sonatype 官网中注册账号。 2. 然后在 h
阅读全文
摘要:嗯,写了一个项目,觉得还OK,就想放在 Github 继续维护和方便使用,那么如何简单快速的将代码上传至 Github 上? 1. 你得有自己的 Github账号,如何创建账号这里就不说了。因为... 2. 登陆成功之后,创建一个和你项目同名的仓库: 点击 Create repository 按钮创
阅读全文
摘要:一、开门见山 代码: 由于项目中的更新包是放在蒲公英上的,所以代码中不会有如何从服务器获取更新信息、版本号的对比判断更新等代码。大家从代码中只关注 拿到下载地址 到 完成安装这一个过程就可以了。下面我们就直接将适配吧。 二、更新中的适配 (1)DownloadManager的一点注意: 对于不能使用
阅读全文
摘要:在刚接入地图后,发现地图的缩放在手指离开后就戛然而止,这和人家的体验不太一样啊。有点尬,开始解决一下这个问题。文章代码是在上一篇代码的基础上,如果有什么疑问可以看下上一篇 一、解决思路 让地图在手指离开后不立马停止缩放,而是继续缩放一定的比例后停止。什么时候停止?在手指离开后到停止这段时间为百度地图
阅读全文
摘要:一、问题分析 我们在缩放地图时,是想要在某一个位置进行缩放,但是在缩放结束时,由于手指不会同时离开不触摸屏幕,所以会造成缩放结束后地图会有一个移动的效果。这个效果是我们不需要的,这就是我们需要解决的问题。问题分析清楚就应该明白这个肯定是要从 Android 的事件传递机制入手的,我们怎么能让地图在缩
阅读全文
摘要:在进程间通信时,常会设计开启远程 Service 的情况。开启远程 Service 的方式有两种,一种时显示开启,一种是隐式开启。下面分别来看: 一、隐式开启 服务端:Service 所在 AndroidManifest.xml 中的配置如下,注意 exported = "true" ,为 true
阅读全文
摘要:网上关于事件传递机制的文章也是多得不行了,在想写这篇的意义。写下这篇主要是方便自己,梳理完善自己对事件传递机制的整体认识。还有这篇文章编写方式会先给结论,后作出源码分析,异于源码与结论结合在一起。这样对于回顾这个知识点的时候,可以直接看结论,比较方便。 一、事件传递机制 明确我们分析的对象是 Mot
阅读全文
摘要:一、场景 ① 公司中有多个项目,多人开发,开发中的某一模块需要被其他几个项目的模块所依赖,最简单粗暴的方式就是打包成aar或者jar文件逐个拷贝到libs下进行依赖,可是这种方式太过于麻烦,而且需要每次都得更新代码。如果有多个这样的库就更麻烦了。所以根据项目规模和需求,为了加快团队开发效率,搭建一个
阅读全文
摘要:作为开发者,我们都知道在开发过程中遇到耗时操作那是不可避免的,例如网络请求、文件读写、数据库操作等等。Android是单线程模型,这意味着Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。但是Android在UI操作上也做了时间限制, Activity ——> 5s 、Bro
阅读全文
摘要:1. Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details 解决: 在工程的gradle.propertie
阅读全文