文章目录

AndroidRookie

标签: Android小技巧 (20)

Gradle 使用技巧(六) - 使用统一的Gradle管理

大多数情况下我们依赖第三方库都是直接在dependencies中直接引用,在引入少量且不是多个地方引用是没有问题的,但是一旦某一个开源库在多个地方引用,且每个地方引用的版本都不一致的时候,就只在是难以维护了。

Gradle 使用技巧(五) - AAR

关于aar文件,摘取官方的解释:AAR 文件的文件扩展名为 .aar,Maven 工件类型也应当是 aar。文件本身是一个包含以下强制性条目的 zip 文件

Gradle 使用技巧(四) - 如何定位和解决依赖冲突

随着业务的复杂度加深,我们免不了要引入许多的第三方开源库,也不可避免的会出现依赖冲突的错误。最常见的是V7、V4包之间的冲突。

Gradle 使用技巧(三) - dependencies 的类型与区别

dependencies对于Android开发人员来说,并不陌生, 它是用来配置当项目的依赖项,接收的是一个DependencyHandler的闭包。

Gradle 使用技巧(二) - SO/NDK过滤

作为一个Android开发人员,so对于我们来讲是极其常见的,各种大厂的SDK中都包含着各种各样的so,而so也是apk瘦身的重要一环,减少so平台的数量,可以极大限度的减少apk的大小。

App登陆首页适配 有更新!

实现APP登陆页面输入框居中。

Gradle构建变种(一份源码,多份APK) 有更新!

需求 一份源码,修改API地址,包名,替换桌面图标和一些其他资源文件,生成不同的APK卖给不同的人。 ##PS 篇幅略长,但是绝对全是干货 解决方案 为解决这个问题,我经历了以下三个阶段: 需要几份APK就copy几份源码进行修改。 将整个项目作为module来引用。 使用Gradle的Product Flavors来构建变种。 第一种方案:需要几份APK就copy几份源码进行修改 这是早期做Android开发,仍然是EC横行的时候,很痛苦,需要几份就复制几份,开始简单,但是后期维护 却是特别的痛苦。原因是当出现一个BUG的时候需要修改多次,虽然说修改完成一份,后面只需要复制黏贴,但是也是痛苦,可以想象一下,被繁琐的事情缠绕。 第二种方案:将整个项目作为module来引用 这是我接触到了AS,当时考虑的就是将整个项目改造成为module,创建不同的主项目来引用同一份源码,最终改造到一半,不可行,因为要修改大量的代码,比如: 1. ID不再是final类型的了,switch view.id 之类的方法不能再使用。 第三种方案:使用Gradle的Product Flavors来构….

Android开发小技巧之不再使用原生的WebView了 有更新!

前言 先来说说Android官方的WebView的版本差异,在Android 4.4以下(不包含4.4)系统WebView底层实现是采用WebKit作为内核,而在Android 4.4及其以上Google 采用了chromium作为内核,虽然是API上面没有什么变化,但是却非常的坑开发者。虽然说更换了chromium之后,是增加了对H5等的一些友好支持,但是还不够啊,各种各样的内存泄露。我也是醉了。而且这种内存泄露还是没办法解决的。 刚开始的时候啥都不懂,认为WebView这那点东西,简单。慢慢的发现:哦,原来webView也是要清除和销毁的啊。哦,原来是WebView内部内存泄露了啊,没办法只能将WebView放进一个单独的进程了。我以为这样就能解决我的问题。 诱因 当时的问题是这样的,我们项目需要用WebView来展示一个url,里面呢,是web版的百度地图。结果就是IOS正常显示,我这边就是不行,于是我各种重写,各种注入JS。最终还是失败了。最后是在微信和UC中查看这个URL,发现真神奇,竟然可以。不知道大家有没有仔细观察,不管是QQ还是微信,打开URL的时候往下拉,都可以看到这….

Android开发小技巧之商品属性筛选与商品筛选 有更新!

#前言 一周一篇文章,果真是不太容易。顺便吐槽一下上周也就是9月5号的文章,几天之内就耗完了我1.4G的空间流量,吓得我都抽搐了。 这个次为大家带来的是一个完整的商品属性筛选与商品筛选。什么意思?都见过淘宝、京东等爱啪啪吧,里面有个商品详情,可以选择商品的属性,然后筛选出这个商品的具体型号,这样应该知道了吧?不知道也没关系,下面会有展示图。 关于商品筛选是有两种方式(至少我只见到两种): 第一种: 将所有的商品的所有属性及详情返回给客户端,由客户端进行筛选。 淘宝用的就是这种。 第二种: 将所有的属性返回给客户端,客户选择完成属性后将属性发送给后台 ,再由后台根据属性筛选出具体商品返回给客户端。 京东就是这样搞的。。 两种方式各有各的好处: 第一种:体验性特别好,用户感觉不到延迟,立即选中立即就筛选出了详情。就是客户端比较费劲。。。 第二种:客户端比较省时间,但是体验性太差了,你想想,在网络不是很通畅的时候,你选择一个商品还得等老半天。 因为当时我没有参加到这个接口的设计,导致一直在变化。。我才不会告诉不是后台不给力,筛选不出来才一股脑的将所有锅甩给客户端。 技术点 流式布局 商….

Android小技巧之无限循环的ViewPager 有更新!

前言 之所以会写着篇文章的原因是我现在项目用运用到了广告轮播(BannerView),当时在赶项目的时候在github上面找到了符合的开 源库 就直接引用了,但是该开源库稍微有点庞大,功能比较繁多。于是在这样的情况之下,我决定自己造轮子。(现在处于项目完善和迭代器,正在重构项目,去除多余的第三方等以减少APK的大小,增加用户的体验度) 效果图如下,为了录制效果,所以将速度加快了。 Step1 在这期间碰到的第一个难点就是ViewPager的无缝循环,于是乎在各种谷歌之下发现都是千篇一律的代码之后依然投入了stackoverflow的怀抱,最终找到了解决无缝循环的两种方式: 第一种: 左右各增加一个页面,造成无缝的假象 第二种: getcount的时候返回Integer.MAX_VALUE,这种方式会创建大量的对象,对于我来说不可取。 Step2 第一种方法实现起来非常的简单,其原理是在Adapter里面实现OnPageChangeListener接口,重写onPageSelected来搞定,假如我有三个页面需要相互切换: A<->B<->C 只要在初始化数据….