三种方法,刷新 Android 的 MediaStore!让你保存的图片立即出现在相册里!

2018-04-25
阅读 6 分钟
8.9k
App 内,创建一个文件并保存文件到本地的需求,是很常见的 I/O 操作。而如果这个文件变成了一张图片,那你涉及到的就不仅仅是一个 I/O 操作了,还需要考虑如何更新 MediaStore,这样才可以在系统相册中,看到它。

我花了 8 小时,"掌握"了一下 Flutter | Flutter 中文站上线

2018-04-17
阅读 3 分钟
3.7k
距离 Google 在 2018 世界移动大会上发布 Flutter 的 Beta 版本,Flutter 是 Google 用以帮助开发者在 Android 和 iOS 两个平台,同时开发高质量原生应用的全新移动 UI 框架。

一大波 Android 刘海屏来袭,全网最全适配技巧!

2018-04-12
阅读 4 分钟
9.3k
Apple 一直在引领设计的潮流,自从 iPhone X 发布之后,"刘海屏" 就一直存在争议。不过不管你怎样,Android 也要跻入 "刘海屏" 的行列,尤其是 Android P 发布之后,也从系统级支持顶部凹槽屏幕设计。

程序员也想改 Lottie 动画?是的!

2018-04-10
阅读 2 分钟
9.7k
Lottie 是 Airbnb 开源的一套跨平台的完整的动画效果解决方案,用过都说好。完全解耦开发人员和设计师,让设计师设计的动画,在程序中无缝还原,真是一旦拿起绝不放下。

【译】Gradle 的依赖关系处理不当,可能导致你编译异常

2018-04-03
阅读 5 分钟
7.1k
在 Android Studio 中,Gradle 构建过程对于开发者来说,很大程度上是抽象的。作为一个新的 Android 开发者,我们第一次遇到 Gradle 通常是在 build.gradle 文件中添加一个远程依赖项。

基于 IJKPlayer-concat 协议的视频无缝拼接技术实现

2018-03-28
阅读 4 分钟
7.1k
一、前言 Hi,大家好,我是承香墨影! 开门见山,开篇名义。今天来聊聊如何将多段视频,拼接成一个完整而连续的视频,然后无缝进行播放。 这样的需求应该不算偏门吧? 最简单的就是一些视频 App,会将大段的视频切割成小段的视频进行播放,还有一些在播放视频之前,会插播一段广告,这些需求都可以被本文的内容覆盖到。 ...

【译】Java、Kotlin、RN、Flutter 开发出来的 App 大小,你了解过吗?

2018-03-27
阅读 3 分钟
5k
现在开发 App 的方式非常多,原生、ReactNative、Flutter 都是不错的选择。那你有没有关注过,使用不同的方式,编译生成的 Apk ,大小是否会有什么影响呢?本文就以一个最简单的 Hello World App,来看看不同的框架,编译出来的 Apk 大小,有什么区别。当然,本文的环境下是一个最简单的 Apk,其实只能部分说明问题,你...

Lottie 动画里有图片怎么办?设计师小姐姐也能帮你减少开发量!

2018-03-13
阅读 4 分钟
9.6k
Lottie 是 Airbnb 开源的一套跨平台的完整解决方案,设计师只需要使用 After Effectes (之后简称 AE)设计出动画之后,使用 Lottic 提供的 Bodymovin 插件将设计好的动画导出成 JSON 格式,就可以直接运用在 iOS、Android 和 React Native之上,无需关心中间的实现细节。

远程控制你的智能电视,按键|输入|安装App等都已实现,已开源!

2018-03-06
阅读 4 分钟
6k
这两年各大厂商生产的电视设备,基本上都是搭载的 Android 系统。既然电视本身就是 Android 系统的,我们也可以在上面做一些很有意思的小玩意。

借腾讯开源 VasDolly,谈谈 Android 签名和多渠道打包的原理!

2018-02-28
阅读 5 分钟
7.4k
当我们需要发布一款 App 到应用市场的时候,一般需要我们针对不同的市场生产不同的渠道包,它们使用的是同一套代码,只是会包含一些各自的渠道信息,用于我们做数据分析。

彻底理解 Android 中的阴影

2018-02-26
阅读 4 分钟
8.6k
如果我们想创造更好的 Android App,我相信我们需要遵循 Material Design 的设计规范。一般而言,Material Design 是一个包含光线,材质和投影的三维环境。如果我们想要在 App 的开发过程中,跟随 Material Design 的设计原则,那么理解 光 与 阴影 就显得尤为重要了。

官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?

2018-02-07
阅读 3 分钟
11.8k
2月5号的时候,Google 发布了一款 Kotlin 的扩展库,叫 Android KTX,不过现在还处于预览版的状态。它能使 Android 上的 Kotlin 代码更简洁,从而提高开发者的效率和使用体验。

漫画:程序员,你能“管理”好你的产品经理吗?

2018-02-06
阅读 4 分钟
4.1k
在工作中,你面对产品经理的各种需求变动、项目经理对关键点的 Deadline,总会有一些冲突发生。而对于事情最终执行的开发人员来说,如果这些冲突处理的不好,可能就会变成你个人的问题。

听说 Android 9.0 要禁用 @Hide Api 的调用,你怎么看?

2018-01-23
阅读 4 分钟
3.8k
距离 Android 8.0 发布,已经过了五个月,虽然现在占有率并不高,不过呢,Google 已经着手准备下一版本的 Android 系统。

TextView 的新特性,Autosizing 到底是如何实现的? | 源码分析

2018-01-15
阅读 5 分钟
4k
简单回顾一下,Autosizing 是在 Support v26 中新支持的功能,可以根据文本的内容和 TextView 的大小,自动适应齐内部文本的字体大小,来达到完全显示的效果。而这个功能,最低能兼容到 Api Level 14,可以说是一个诚意满满的新 Api。

文字太多?控件太小?试试 TextView 的新特性 Autosizing 吧!

2018-01-11
阅读 8 分钟
7.4k
Android 8.0 已经发布了有一阵子了,如果你有在关注它,你应该会知道它新增了一个对于 TextView 字体大小变动的新特性:Autosizing。

Android 开发,你遇上 Emoji 头疼吗?

2017-12-29
阅读 7 分钟
6.3k
在 Android 中,如果需要使用的到 Emoji 表情,你会发现在某些设备上,有一些 Emoji 表情会被以豆腐块 “☐” 的形式显示,这是因为当前设备并不支持这个 Emoji 表情。

自我怀疑的开发者:你够好吗?

2017-12-22
阅读 3 分钟
4.3k
我想每个开发者在学习成长的过程中,在面临技术难题的时候,都有经历过自我怀疑的过程,但是有时候这并不是你的错,大家都经历过如此的过程。我们作为一个开发者,在成长的过程中,总有一些小的胜利和小的沮丧,学着为自己喝彩吧。

Git 二分调试法,火速定位疑难Bug!

2017-12-20
阅读 3 分钟
4k
你一定遇到过,一个很久没修改过的功能,莫名其妙的出现了问题?肉眼查代码、屡逻辑完全找不到问题点?前两天还好好的功能,怎么这个今天就不行了?这两天改动了这么多代码,到底是那一次改动引发的 Bug?

Kotlin 一个好用的新功能:Parcelize

2017-12-15
阅读 3 分钟
9.7k
在开发中,如果有需要用到序列化和反序列化的操作,就会用到 Serializable 或者 Parcelable,它们各有优缺点,会适用于不同的场景。

站在 Android 开发的角度,聊聊 Airbnb 的 Lottie!!!

2017-12-14
阅读 5 分钟
8.3k
你有没有遇上一些设计师,对一些酷炫的动画着迷,喜欢根据场景设计出可爱而流畅的动画。但是在实际工作中,哪怕开发人员也觉得这些动画非常的棒,可我们知道,越是定制化的动画,实现起来将会越麻烦和耗时。这有时候就会引发设计师和工程师的矛盾。

这些 Drawable 的小技巧,你都了解吗?

2017-12-08
阅读 7 分钟
6.7k
在 Android 的开发过程中,Drawable 经常会被用到,一般会用 Drawable 为 View 设置一个显示的效果。而在 Android 下,也提供了很多 Drawable 的默认实现,它们涉及到的内容非常的多,从属性到方法,但是日常生活中,会用到的只有那么些方式。

Android 软键盘的显示和隐藏,这样操作就对了

2017-12-04
阅读 6 分钟
23.7k
如果有需要用到输入的地方,通常会有需要自动弹出或者收起软键盘的需求。开篇明义,本文会讲讲弹出和收起软键盘的一些细节,最终还会从源码进行分析。

Android 反编译利器,jadx 的高级技巧

2017-11-27
阅读 5 分钟
31.1k
一、前言 今天介绍一个非常好用的反编译的工具 jadx 。jadx 的功能非常的强大,对我而言,基本上满足日常反编译需求。 jadx 优点: 图形化的界面。 拖拽式的操作。 反编译输出 Java 代码。 导出 Gradle 工程。 这些优点都让 jadx 成为我反编译的第一选择,它可以处理大部分反编译的需求,基本上是我反编译工具的首选。 ...

好的代码可以自己说话!

2017-11-20
阅读 5 分钟
5.1k
我敢打赌,你肯定有过(或者在你的职业生涯中,某个时刻看到过)。这样的代码,通常存在于一些遗留的系统中,并且通常是很旧的。当你需要阅读这样的代码的时候,你可能会感觉不太好。

关于如何编写 Clean Code 的 6 个简单技巧

2017-11-18
阅读 7 分钟
3k
编写简洁代码(Clean Code)不是一件非常容易的事情,为了保持代码整洁,你需要尝试不同的技巧和做法。问题是,在这个问题上,有太多的做法和技巧,是需要大量的重构的。因此,开发者很难选择出适合自己项目的做法和技巧。

在 ReactNative 的 App 中,集成 Bugly 你会遇到的一些坑

2017-11-13
阅读 7 分钟
9k
最近开新项目,准备尝试一下 ReactNative,所以前期做了一些调研工作,ReactNative 的优点非常的明显,可以做到跨平台,除了少部分 UI 效果可能需要对不同的平台进行单独适配,其中的核心逻辑代码,都是可以重用的。所以如果最终用 ReactNative 的话,可以省出某一端的客户端开发人员。而我这里调研的主要方向,就是它对...

聊聊 Material Design 里,阴影的那些事儿!

2017-11-01
阅读 11 分钟
20.9k
设计师的世界,与常人不同,有时候想要扁平化的风格,有时候又想要拟物化的风格。而在 Material Design 出来之后,为 UI 元素引入了高度的概念,它可以让某个元素更为突出,显示出它的重要性,更让人有点击的欲望。

用 Smali 手写一个可运行的 HelloWorld!!!

2017-10-27
阅读 4 分钟
6.7k
Android 的 App 实际上并不是运行在 Java 虚拟机中,而是运行在 Dalvik 虚拟机中。Dalvik 虚拟机对 Java 虚拟机做了一些额外的优化,让它更适用于移动设备。而 Dalvik 也有自己独特的汇编语言,Dalvik 就是通过这些汇编的指令集,来运行我们编译好的 Apk 程序。

看完九篇字体系列的文章,你还觉得我是在说字体?

2017-10-24
阅读 4 分钟
2.7k
关注过我的公众号一段时间的朋友,都应该知道,最近一段时间,断断续续的一直在写一个关于修改 App 字体的系列文章,到现在已经写了九篇了,差不多算是将我觉得和字体有关的内容,都讲解清楚了,到现在,应该算是完结了。