Markdown is a way to style text on…
什么是DeepLink深度链接? 先看图: 一个在Telegram中的dribbble链接, 点击后直接跳转到我的 Mango中, 是不是很神奇? 为什么要使用DeepLink? 一句话总结便是提升用户体验:…
Android O 推出了一项新的功能「Fonts in XML」,借助这项功能,我们能够像使用其他资源文件一样使用字体,比较方便地实现App全局字体的替换。 为了能够在API 14或者以上的设备上使用Fonts in…
在开始对APK进行正式的减肥之前,我们先来了解一下APK包的构成,这样才好对症下药嘛。知己知彼方能百战不殆。 APK文件内容速揽 我们可以通过 unzip <apkname>.apk 命令实现对apk的解压(你也可以直接将<apkname>.apk更名为<apkname>.zip后直接通过解压软件解压)。解压后,我们就会得到一个文件夹了,里面包含了: 各个文件和目录的作用是什么呢? 文件/目录…
Android实现条形码与二维码扫描 在本次教程中,我们将使用ZXing库让我们的app实现条形码和二维码的扫描。 为什么选择ZXing 要实现条形码和二维码扫描功能,常用的有下面几种方法: 使用Google Play Service和Mobile Vision…
当我们第一次打开一个App,首先映入眼帘的就是引导页了。 引导页向我们展示了一些可以滑动的页面,并在页面中以图片方式展示了这个App的一些亮点。要实现这个效果,网上更多的是通过引入第三方库的形式,但是,这哪里有我们自己动手撸一个来的痛快呢?所以,今天我将手 摸 把手的带大家实现一个符合Material Design标准的炫酷引导页。 效果预览 我们首先来看看Google Docs是实现的效果:…
什么是Realm? 在Android平台上,有很多基于SQLite的ORM框架,例如GreenDAO, OrmLite, SugarORM, LitePal等等,对于写习惯了SQL语句的小伙伴们来说,看到SQLite这样的数据库肯定是倍感亲切了,有了这些框架更是如虎添翼。 但是,在我们日常的开发中,数据量并不会特别的大,表的结构也不会特别复杂,用SQL语句有种大(过)材(于)小(繁)用(琐)的感觉,我们需要做的事情可能仅仅是把用户生成的数据对象快速的缓存起来。 这个时候NoSQL就派上了用场,以Mongodb,Redis为代表的NoSQL都引入了一些相对现代化的方式存储数据,比如支持Json,Document的概念,流式api,数据变更通知等等,极大程度的降低了我们学习的成本提高了我们的开发效率。而Realm作为一款移动端的NoSQL框架,官方定位就是替代SQLite等关系型数据库。 Realm是一个由Y…
本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 目标:实现纸飞机App – 采用MVP架构,集合了知乎日报、果壳精选和豆瓣一刻的综合性阅读客户端。效果图如下所示: 本次教程分为7天,内容分别为: 第一天,准备…
前言 逛 Instagram 的时候,偶然发现,Instagram 的对话框设计的很有意思,如下图: 它的 dialog 的背景竟然是毛玻璃效果的,看起来很漂亮,恩,我是说对话框和迪丽热巴都漂亮😂。看到这么好的效果,当然就要开始搞事情了,自己动手实现差不多的效果。最终的实现效果如下图:…
前言 Android 支持完整的 Java7 特性,而升级到 Android Nougat(API Level…
前言 文章比较长,先放项目地址: PaperPlane. 实际效果: 什么是Custom Tabs? 所有的APP开发者都面临这样一个选择,当用户点击一个URL时,是应该用浏览器打开还是应该用应用内置的WebView打开呢? 两个选项都面临着一些问题。通过浏览器打开是一个非常重的上下文切换,并且是无法定制的。而WebView不能和浏览器共享数据并且需要需要手动去处理更多的场景。…
前言 Android 6.0 Marshmallow 预览版中曾经短暂出现过相关的夜间模式的功能,只是在正式版中被移除了,在 Android 7.0 Nougat…