自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 收藏
  • 关注

原创 Linux 下解决 grep is a directory 问题

Grep 是一个很便捷有用的终端工具,它可以帮助我们快速过滤筛选出一些内容。通常配合 find 命令,可以实现更加强大的能力。比如这个这样的组合,可以快速发现并定位到 哪个.gradle 文件包含 maven.aliyun.com 。find.-name"*.gradle"|xargsgrep-E-n--color=always"maven.aliyu...

2022-06-27 07:13:00 4097

原创 谁动了我的奶酪,通过 git 找出内容变更历史

在日常的开发过程中,一段代码内容被添加,删除都是稀疏平常的事情。这也就造成了我们日常开发工作中会遇到这样两个问题•这个代码内容是谁添加的,是一直存在还是被修改过多次•有一段代码被删除了,是谁删除的呢这里我们通过一个具体的例子来说明。有一个 hosts.txt 文件,内容是importlib/aimportlib/b现在我们遇到这样的一个情况•最早的host.t...

2022-06-13 06:49:23 617

原创 终端下 git diff 只展示文件名

通常我们使用git diff 可以查看具体的内容修改,默认会以patch的形式展示,但是有时候,我们仅仅是希望有一个修改的文件列表,不关心具体的修改内容。这里完全可以借助 git diff 的一些指令来实现。–name-only使用 –name-only可以很轻松查看修改的内容信息gitdiff--name-onlysource/_posts/2022-05-08-...

2022-06-06 08:50:09 3204

转载 Mac 下 终端也能生成二维码了

有些时候,我们需要将链接或者文本转换成 二维码,通常这时候我们会使用网上的在线服务进行处理,其实我们还可以做到更加简单,使用终端即可生成二维码。这里,我们需要借助 Mac 下 homebrew 的一个库来实现,这个库的名字叫做 qrencode。下面就是关于 这个库的安装,封装,以及使用。安装brewinstallqrencode使用qrencode-tANSI...

2022-05-30 08:50:17 920

原创 Flutter/Dart release 模式下屏蔽 debugPrint 与 print 输出

当我们在写 Flutter,Dart程序时,release 模式下,我们很奇怪的发现debugPrint和 print 这两个的输出内容,还是能够通过flutter logs展示出来。这一点尤其在端上暴露的问题要严重一些,比如涉及到一些敏感信息的日志打印。本文,将会有两个超级简单的方法,来实现对这些输出的屏蔽,并且是专门治理 release 模式下的问题,debug ...

2022-05-23 07:53:03 3259

原创 解决 Flutter 在 iOS 模拟器中运行卡住问题

当我们尝试在 iOS 模拟器运行flutter run可能会出现类似如下的卡住问题。executing:xcrunsimctllaunchxxx-54F9-427F-8119-xxxxcom.hahaha.app--enable-dart-profiling--enable-checked-mode--verify-entry-points--obs...

2022-05-09 07:41:28 1638

原创 超快速实现 svg 转 png,jpg等格式

svg 是 用于描述二维矢量图形的图形格式,有着很多的优势,但是有时候并不是所有的场景都支持 svg,那么这时候,我们需要将svg 图片转换成 png 等格式。当然,可以进行svg 转png 的方式有很多,比如通过在线的网页工具可以,也可以使用终端的命令处理。这里我们主要设计的使用终端命令进行转换处理。svgexport 工具• svgexport 是一个 NodeJs ...

2022-04-25 08:23:07 5665

原创 简单一招,百倍提速 Flutter 开发

Flutter 开发中,为了实现更好的解耦与更高的复用,我们都会使用模块化的思路来处理,在Dart 和 Flutter 中,我们会使用 Dart 包或者插件包等,将它们发布到比如自己的unpub 服务器上,然后在壳工程(主工程)中聚合使用。比如一个 壳工程的 yaml 是这样的dependencies: flutter: sdk: flutter firebas...

2022-04-18 07:06:45 2739

原创 黑科技:Android 添加 Overlay View (覆盖视图)

在 Android 中,有一种黑科技,就是能够过在 Window 上添加一个视图,然后这个视图,会覆盖在所有的 应用视图的上面(包括桌面)。比如下面的视图。想要利用上面的黑科技,很简单。大概分为如下的步骤。检测权限Settings.canDrawOverlays(aContext) 可以检测 当前的 App 是否可以添加悬浮窗视图。如果返回为true,则表明已经获取了添加...

2022-04-07 08:15:03 3446

原创 Android 中 利用 AccessibilityService 辅助服务 模拟点击事件

在 Android 中想要执行一些模拟点击操作,在无法修改页面源码的情况下,通常只能使用 adb 和借助辅助功能两种方式。Adb 方式借助 adb shell 的命令,我们可以使用下面的方式模拟一个执行点击坐标的操作。adb shell input tap x y但是 adb 操作有一些门槛需要一台电脑执行adb 命令(终端执行)需要一个数据线目标设备(手机)需要开启开发...

2022-03-29 06:46:24 3917

原创 Flutter TabController 多次调用,导致切换异常问题

Flutter 中,TabController 是连接 TabBar 与 TabBarView 的纽带,处理选中状态时必不可少的内容。但是当我们在监听 TabController 时,会...

2022-03-07 08:30:00 4446

原创 Flutter 中获取 TextField 中 text 内容

在Flutter 中,TextField 是一个用来输入 文本的 控件。使用起来也很简单,比如这样,就可以轻松实现一个 TextField 来接收用户的输入内容。TextField(d...

2022-02-28 07:30:00 3697

原创 Flutter 轻松实现动态更新 ListView

在 App 开发过程中,ListView 是 比较很常见的控件,用来处理 列表类的数据展示。当然 Flutter 也是支持的,由于 Flutter 是归属于声明式 UI 编程,其处理起来要...

2022-02-14 09:13:00 3900

原创 Mac 终端下 实现 安装 ipa 包到 iPhone 真机

最近处理 Flutter 的开发工作,开始尝试使用 iOS 作为日常的真机调试工作。对于一个原技术栈为 Android的人来说,发现 iOS 有很多不太方便的地方。比如如何在 Mac 电脑...

2022-02-07 09:00:00 5330

原创 Android/iOS 终端快速截屏技巧

传统的方式进行截屏大概是这样:•使用手机截屏按钮截屏•将截屏软件通过 通讯软件(微信和飞书等)发到电脑上但是这其中需要在手机上安装软件可能就不是十分的便捷和高效。其实有更加边界的方式处理截...

2022-02-06 20:10:02 2114 1

原创 TransactionTooLargeException 问题分析与解决

在处理 App 崩溃时,有一种崩溃问题着实难以解决,甚至是令人挠头。比如像是今天将讨论的TransactionTooLargeException。下面就是该异常出现时的 stacktrac...

2021-07-12 12:17:00 2898

原创 Git 中 设置 提交者 email 的多种方式

需求场景•针对项目 A 使用aaa@aaa.com[1]邮箱•针对除了项目A之外的项目 使用bbb@bbb.com[2]邮箱git 配置的三种作用范围•项目级,英文为project...

2021-06-28 11:49:04 4591

原创 Android WebView 获取网页源码 实践与问题解决

出于某些场景需要,有时候,我们需要从 WebView 获取源码,本文将简单介绍如何从 WebView 中获取源码,以及遇到的问题的分析和总结。获取源码的方法•WebView 没有提供直接获...

2021-06-22 12:13:21 2798 1

原创 ClassNotFoundException 崩溃分析与解决

最近有一次添加工具库,在build.gradle中增加了依赖引用implementation('com.gu.android:toolargetool:0.3.0')当...

2021-06-15 19:18:18 1786

原创 Coobox 之 LastWinExecutor,后来居上执行器

在编程的业务场景中,有时候会有这样的情况。有一个文本输入框用来输入检索数据•为了避免过多的网络检索,实现频率控制•当且仅当距离上次输入字符500 毫秒后,才真正执行检索请求第一步 创建 L...

2021-05-31 12:29:56 173

原创 CooBox 之 早鸟执行器,轻松控制频率处理

前言:Coobox 是我们团队开源的 Android 开发工具库,https://github.com/secoo-android/coobox欢迎大家 Star 和 Fork,以及集成...

2021-05-24 12:14:36 203 1

原创 Coobox 之 App 前后台状态变化通知

前言:Coobox 是我们团队开源的 Android 开发工具库,https://github.com/secoo-android/coobox 欢迎大家 Star 和 Fork,以及集成...

2021-05-18 12:30:42 421 1

原创 Android 抓取 ANR 日志终极办法

在 Android 开发中,有时会遇到 ANR,一旦出现 ANR 我们就需要拿到对应的trace 文件来分析并解决。本文将介绍两种获取 ANR 的方法。第一种直接查看/data/anr/t...

2021-03-08 08:50:00 3982 3

转载 电报群来了。

技术小黑屋官方电报群来了,分享优质文章和讨论。浏览器(非微信)复制下面链接打开https://t.me/joinchat/HJvBhVcZY0qYXB1e ...

2021-01-26 18:43:59 7681 1

转载 定了!10位嘉宾阵容新鲜出炉丨2020第二届全球移动开发者技术峰会预告

很荣幸作为分享嘉宾,参加这次技术峰会,现为读者申请了门票福利,评论回复即可有机会获取门票。在短短的几年时间内,我们访问互联网的方式,迅速从“台式机+笔记本”转变成为“智能手机+移动终端”...

2020-10-20 20:24:14 1139 1

转载 Java 会被谷歌抛弃?最新的官方回答来了

做 Android 的应该没有几个不知道扔物线朱凯的,他是中国唯一的 Android GDE 和 Kotlin GDE(谷歌官方认证开发专家,这样的人在全世界仅 18 位),很多人的自定...

2020-06-18 08:30:00 1049

原创 巧用Kotlin反射实现按值取名,调试做到多快好省

痛点我们经常会定义一些常量,比如public interface ItemType { public static final int TYPE_TEXT = 0; pu...

2020-06-01 09:10:00 475

原创 用好 require,check,assert,写好 Kotlin 代码

在编码的时候,我们需要做很多的检测判断,比如某个变量是否为 null,某个成员属性是否为 true,执行某个操作结果是否成功。比如像下面的这段代码var isDiskMounted = ...

2020-05-11 09:10:00 2460

原创 Centos(Linux)系统下实现挂载硬盘

背景团队的CI机器有两块硬盘,一块是256G SSD,另一块是1T 机械硬盘。系统安装到了SSD上,1T的机械硬盘处于闲置状态,需要挂载,用来存放一些文件。注意事项文章提到的/dev...

2020-04-12 21:25:15 626

转载 那个男人再发力,原来我以前学的 Lambda 都是假的

听说……Kotlin 可以用 Lambda?不错不错,Java 8 也有 Lambda,挺好用的。听说……Kotlin 的 Lambda 还能当函数参数?啊挺好挺好,我也来写一个!哎,...

2020-04-09 09:10:00 171

原创 未合并分支不怕丢,一个脚本快速搞定

我们使用 git 作为 版本控制工具,极大的提高了效率,但是随着业务的增多和自身对于提交内容原子性的要求,往往会产生很多的分支,这就难免有时候,在发版的时候,某些分支被遗忘提交,造成功...

2020-04-06 12:39:58 160

转载 KotlinTips:[asType,elvis return]

No.1 elvis return作用在方法初始部分,对于值不符合预期,快速返回不再继续执行代码private fun testElvisReturn(...

2020-03-29 21:43:37 146

转载 KotlinTips: getValueSafely 安全取值

作用安全取值,增加稳定性规避繁琐的显式try-catch处理代码/** * 安全的获取值的信息,其过程中发生异常会自动处理,返回null * get...

2020-03-22 19:20:06 214

原创 在 Android 中如何确定 App(Activity) 的启动者

最近在帮忙定位一个问题,涉及到某个应用自动启动了,为了确定是谁调用的,使用如下的日志进行查看(注:为了简单考虑,下面的启动者为launcher)(pre_release|✔) % adb...

2019-12-02 09:18:00 1307

转载 Droidcon上海|Day 1 大会回顾 & 花絮分享(文末福利)

Droidcon上海在11/3 圆满的落幕了, 让我们一起来回顾大会的内容与一些精彩的花絮!因为内容太多, 我们分成两天介绍:大咖都在Droidcon分享了什麽?利程坊副...

2019-11-26 21:28:05 413

原创 这可能是最好的 Android/Kotlin日志输出方法

在编程调试和定位问题的时候,日志是一个最常用的工具。比如输出一些信息,确定执行轨迹。今天我们这里简单聊一聊打印日志的一些分析。通常,我们进行日志输出的时候都会限定在deb...

2019-11-25 09:16:00 1489

转载 邀请函|Droidcon 上海大会议程与嘉宾揭秘(附免费门票)

亲爱的开发者:欢迎您来到年度移动开发盛会!11.02 - 11.03 Droidcon 重回魔都上海,有 30 位专家和预计超过500 名来自行业内本地与国际顶尖公司的与...

2019-10-22 19:44:50 373

原创 使用Kotlin Reified 让泛型更简单安全

我们在编程中,出于复用和高效的目的,我们使用到了泛型。但是泛型在JVM底层采取了类型擦除的实现机制,Kotlin也是这样。然后这也带来了一些问题和对应的解决方案。这里我们...

2019-07-29 08:50:00 1709

原创 解读文件描述符

最近由于机缘巧合,结合最近工作中遇到的一些问题,深入了解了文件描述符(File Descriptor,简称FD,以下简称FD)。预计会有三篇关于 FD 的文章陆续出来。首...

2019-06-02 20:57:16 531

原创 浅谈编码中的缩写

目前而言,几乎所有的编程语言都是使用英文来表示,在英文中,使用缩写很普遍,比如URL(Uniform Resource Locator)能够很简单高效地向他人阐述要表达的...

2019-05-26 21:14:48 563

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除