最近,数据迁移差点让我抓狂

本文微信公众号「AndroidTraveler」首发。 背景 最近,要重装 macOS,所以需要拷贝数据进行备份。 而这个备份过程差点让我抓狂,速度超级慢,等待时间很是煎熬。 分析 这边看了一下,主要是因为文件过多对数据迁移速度造成了较大的影响。 大家知道,我们用 AndroidStudio 新建一 ... »

Android Debug 之 Log 最佳实践

本文微信公众号「AndroidTraveler」首发。 背景 在开发过程中,调试是必不可少的一项工作。 当我们要确定项目的逻辑时,当我们要了解界面的生命周期时,当我们发现新写的逻辑与期望效果不一致时,当我们觉得数据有问题时...... 而调试有两种方式: 第一种就是使用 debug 模式运行 APP ... »

因为 GitHub Actions 我发现了 Jake Wharton 的一个仓库

本文微信公众号「AndroidTraveler」首发。 背景 昨天(2019 11 14)上去 GitHub 上面一看,结果来了个下面的提示: 点进去一看: 看来是自动化构建相关的。 那就试一下,选了第一个 Android CI ,当然测试仓库是我新建的一个 Android 轮子库。 编译报错了。 ... »

Android 开源库 GitHub 托管

本文微信公众号「AndroidTraveler」首发。 背景 之前给大家写过一篇文章 "Android 上传开源项目到 jcenter 实战踩坑之路" ,分享了上传开源项目到 jcenter 上面的一些踩坑经验。 最近,又有一个开源项目要上传,发现 jcenter 出现各种问题。 登录不上,登录后点 ... »

Android 列表(ListView、RecyclerView)不断刷新最佳实践

本文微信公众号「AndroidTraveler」首发。 背景 在 Android 列表开发过程中,有时候我们的 Item 会有一些组件,比如倒计时。这类组件要求不断刷新,这个时候由于列表复用的机制,因此会有一些坑。那么我们本篇文章就给大家讲两个主题。 第一个是列表复用是否一定有问题。 第二个是出现问 ... »

给 Flutter 界面切换来点特效

本文微信公众号「AndroidTraveler」首发。 背景 我们知道页面之间如果直接切换,会比较生硬,还会让用户觉得很突兀,用户体验不是很好。 因此一般情况下,页面之间的切换为了达到平滑过渡,都会添加动画。 另外,有时候我们不喜欢系统的默认动画,希望能够自定义动画。 基于此,本篇主要讲述如何给 F ... »

设计模式之模板方法模式实战解析

本文微信公众号「AndroidTraveler」首发。 背景 最近在看《设计模式之禅》,为了能够更加深入的理解设计模式,达到学以致用。 这边记录一下自己的一些感受和看法,并结合具体代码实战来进行说明。 模板方法模式 但凡和设计模式挂上钩,我们总是会觉得「高不可攀」。 然而实际上,设计模式是基于大量实 ... »

苹果电脑基本设置+Linux 命令+Android 实战集锦

本文微信公众号「AndroidTraveler」首发。 背景 大多数应届毕业生在大学期间使用的比较多的是 windows 电脑,因此初入职场如果拿到一台苹果电脑,可能一时间不能够很快的上手。基于此,这边出了系列视频,通过实际的演示让没使用过苹果电脑的小伙伴可以快速上手。 定位 适合以下小伙伴: 1. ... »

Java 读写 excel 实战完全解析

本文微信公众号「AndroidTraveler」首发。 背景 时值毕业季,很多毕业生初入职场。 因此,这边也写了一些新手相关的 Android 技术点。 比如上一篇的 "Android 开发你需要了解的那些事" 就是列举了一些小点,避免新手 Android 开发者踩坑。 同时,也是恰逢暑假,因此大学 ... »

Android 开发你需要了解的那些事

本文微信公众号「AndroidTraveler」首发。 背景 最近部门有新入职员工,作为规划技术路线的导师,这边给新员工安排了学习路线。 除了基本的学习路线之外,每次沟通,我都留了一个小问题,让小伙伴去思考。 这些问题有些是刚接触 Android 开发的小伙伴所不熟悉的,有些则是部分初级工程师都没有 ... »

Android 上传开源项目到 jcenter 实战踩坑之路

本文微信公众号「AndroidTraveler」首发。 背景 其实 Android 上传开源项目到 jcenter 并不是一件新鲜事,网上也有很多文章。 包括我本人在将开源项目上传到 jcenter 的时候也是参考了一些文章。 不过由于版本和环境问题,很多很早以前写的文章并不完全适用。 基于此,这边 ... »

给你的 GitHub Repository 加上 sponsor 按钮

「本文微信公众号 AndroidTraveler 首发」 背景 其实之前 GitHub 就已经说过要给开源的开发者提供赞助支持。 当你进入 GitHub 主页时,你会在右边发现一个 Tips。 点击进去,会看到下面页面: 可以看到还处于 Beta 阶段。 点击 Join the waitlist 可 ... »

小白到大神,你需要了解的 sqlite 最佳实践

本文微信公众号「AndroidTraveler」首发。 背景 本文是对一篇英文文档的翻译,原文请见文末链接。 并发数据库访问 假设你实现了自己的 "SQLiteOpenHelper" 。 现在你想要在多个线程中对数据库写入数据。 你将会在你的 logcat 中发现下面信息,并且你的其中一个改变不会写 ... »

解决问题通用方法论

本文公众号「AndroidTraveler」首发。 今天跟大家讲讲解决问题通用的一个方法论。 在实际开发过程中,我们不可避免的会遇到一些 bug。 那么对于 bug 或者我们没有遇到过的问题,怎么处理呢? 本篇层层递进,一步一步跟你讲解。 各位如果有其他方法或者补充的欢迎留言交流。 如果全篇看完,你 ... »

Flutter 即学即用系列博客总结篇

前言 迟到的总结篇,其实大家看我之前发的系列博客最后一篇,发文时间是 3 月 29 日。距离现在快两个月了。 主要是因为有很多事情在忙,所以这篇就耽搁了。 今天终于可以跟大家会面了。 系列博客背景 Flutter 正式版于 2018 年 12 月 5 日正式发布。 而我所在的团队刚好想在项目新功能里 ... »

Android Q 兼容那些事

5 月 20 号参加了 Android Q Labs,因此本篇说一说会议的部分内容以及自己的一些想法。 会议主要是加深开发者对 Android Q 的了解,从而帮助开发者做好 Android Q 的兼容工作。 因此本篇我会选择性说明一些在 Android Q 上你需要兼容的一些事情。 1. 后台 A ... »

Android 截屏的各种骚操作

本文公众号「AndroidTraveler」首发。 背景 在实际的应用场景中,Android 手机的截屏其实是很普遍的。 比如说 PPT 演示,比如说技术博客图文并茂讲解。 因此懂得 Android 手机截屏的各种操作就显得尤为重要。 使用 AndroidStudio 自带的截屏工具 在 Logca ... »

Flutter 即学即用系列博客——10 混淆

前言 之前的博客我们都是在 debug 的模式下进行开发的。 实际发布到市场或者给到用户的都是 release 包。 而对于 Android 来说,release 包一个重要的步骤就是混淆。 Android 如何混淆 如何你不做任何处理,直接在原有混淆基础上打出 release 包。 当运行到 Fl ... »