DeepLinkDispatch 的用法

什么是DeepLink深度链接? 先看图: 一个在Telegram中的dribbble链接, 点击后直接跳转到我的 Mango中, 是不是很神奇? 为什么要使用DeepLink? 一句话总结便是提升用户体验:…

Android APK 瘦身实践

在开始对APK进行正式的减肥之前,我们先来了解一下APK包的构成,这样才好对症下药嘛。知己知彼方能百战不殆。 APK文件内容速揽 我们可以通过 unzip <apkname>.apk 命令实现对apk的解压(你也可以直接将<apkname>.apk更名为<apkname>.zip后直接通过解压软件解压)。解压后,我们就会得到一个文件夹了,里面包含了: 各个文件和目录的作用是什么呢? 文件/目录…

Android 实现条形码与二维码扫描

Android实现条形码与二维码扫描 在本次教程中,我们将使用ZXing库让我们的app实现条形码和二维码的扫描。 为什么选择ZXing 要实现条形码和二维码扫描功能,常用的有下面几种方法: 使用Google Play Service和Mobile Vision…

使用 ViewPager 实现 Material Design 风格炫酷引导页

当我们第一次打开一个App,首先映入眼帘的就是引导页了。 引导页向我们展示了一些可以滑动的页面,并在页面中以图片方式展示了这个App的一些亮点。要实现这个效果,网上更多的是通过引入第三方库的形式,但是,这哪里有我们自己动手撸一个来的痛快呢?所以,今天我将手 摸 把手的带大家实现一个符合Material Design标准的炫酷引导页。 效果预览 我们首先来看看Google Docs是实现的效果:…

Realm 在 Android 上的应用

什么是Realm? 在Android平台上,有很多基于SQLite的ORM框架,例如GreenDAO, OrmLite, SugarORM, LitePal等等,对于写习惯了SQL语句的小伙伴们来说,看到SQLite这样的数据库肯定是倍感亲切了,有了这些框架更是如虎添翼。 但是,在我们日常的开发中,数据量并不会特别的大,表的结构也不会特别复杂,用SQL语句有种大(过)材(于)小(繁)用(琐)的感觉,我们需要做的事情可能仅仅是把用户生成的数据对象快速的缓存起来。 这个时候NoSQL就派上了用场,以Mongodb,Redis为代表的NoSQL都引入了一些相对现代化的方式存储数据,比如支持Json,Document的概念,流式api,数据变更通知等等,极大程度的降低了我们学习的成本提高了我们的开发效率。而Realm作为一款移动端的NoSQL框架,官方定位就是替代SQLite等关系型数据库。 Realm是一个由Y…

使用 RenderScript 实现高斯模糊(毛玻璃/磨砂)效果

前言 逛 Instagram 的时候,偶然发现,Instagram 的对话框设计的很有意思,如下图: 它的 dialog 的背景竟然是毛玻璃效果的,看起来很漂亮,恩,我是说对话框和迪丽热巴都漂亮😂。看到这么好的效果,当然就要开始搞事情了,自己动手实现差不多的效果。最终的实现效果如下图:…

提升体验 – 支持 Chrome Custom Tabs

前言 文章比较长,先放项目地址: PaperPlane. 实际效果: 什么是Custom Tabs? 所有的APP开发者都面临这样一个选择,当用户点击一个URL时,是应该用浏览器打开还是应该用应用内置的WebView打开呢? 两个选项都面临着一些问题。通过浏览器打开是一个非常重的上下文切换,并且是无法定制的。而WebView不能和浏览器共享数据并且需要需要手动去处理更多的场景。…