Shengxing Zhang

项目 · Android

三栏法

Android 思维记录本,练习 David D. Burns 在《伯恩斯新情绪疗法》中介绍的三栏技术:写下自动化思维,标出其中的认知歪曲,写下理性回应。

思维记录

情境、自动化思维、点选式的认知歪曲标签和理性回应;相信程度评分可选;单条记录可以分享出去。

自适应不同屏幕

平板和横屏下两栏并排,左栏是情境与自动化思维,右栏是认知歪曲与理性回应;窄屏手机上改为两页,滑动或点选切换。

找到写过的内容

边输入边出结果,按时间分组。

隐私优先

完全离线。可选的应用锁支持指纹、面容或设备密码;锁定期间,「最近任务」预览被隐藏,截屏被禁止。

截图

思维记录列表:按周、月分组,每条记录显示情境、自动化思维、认知歪曲标签和理性回应,以及可选的相信程度变化。 编辑一条记录,第一页“自动化思维”:先写发生了什么(选填),再写自动化思维“方案有问题,说明整体做得不好”。 第二页“歪曲与回应”:可点选的认知歪曲标签,选中了“心理过滤”和“否认好事”,下方是两者的说明和理性回应:“五个人里四个说好,一个指出了可以改的地方;找出这种地方正是评审的目的。”
中文界面,主题跟随系统。思维记录列表,以及编辑一条记录的两页:自动化思维,歪曲与回应。

为什么这样设计

一条思维记录写的是你那天在怕什么、有多相信它,比大多数笔记都私密。所以应用只按一条原则设计:程序只拿刚好够用的能力,限制放在它绕不过去的位置。

没有联网权限

应用申请的系统权限只有两个:USE_BIOMETRIC 和 USE_FINGERPRINT,都只为可选的应用锁服务;命令输出里的另外两行,是 androidx.core 自动加入的一个应用私有权限的声明和使用,签名级,不授予任何能力。里面没有 android.permission.INTERNET。这个限制由 Android 系统执行:没有这个权限,应用自己的代码打不开 socket,它链接的库打不开,以后新加的库也一样。可以在下面的 APK 上核对:

aapt dump permissions The-Three-Column-Method-v1.7.2.apk

数据只在应用自己的存储里

记录保存在应用私有目录下的 Room(SQLite)数据库里。没有账号,没有同步,没有统计 SDK,没有崩溃上报。数据离开应用只有两种方式,都由你主动发起:导出为 JSON 文件,或把单条记录经系统分享面板发出去。

早期版本有一个例外:数据库被包含在 Android 的备份规则里,只要系统自带的备份开着,你的 Google 账号里就会有一份副本。这条通道属于系统备份,不是应用自己的代码,但数据确实因此离开了设备。1.6.0 把它关掉了:android:allowBackup 设为 false,两份备份规则文件一并删除,系统不再为这个应用做备份。这一条同样可以在 APK 上核对:

aapt dump xmltree The-Three-Column-Method-v1.7.2.apk AndroidManifest.xml | grep allowBackup

输出里的 0x0 即 false。恢复数据现在只有一个途径:你自己导出的文件。

可选的应用锁

应用锁是可选的,用指纹、面容或设备密码解锁。锁定期间,应用在「最近任务」里的预览被隐藏,截屏也被禁止。这两条防的都是记录在屏幕上被人看到的情况:手机递到了别人手里,或者为别的事截图时把一条记录截了进去。

AgentGuard 把同一个思路用在大得多的程序上:先决定程序可以碰什么,再把限制放在它绕不过去的位置。具体的设计取舍写在《设计一个从不联网的笔记应用》里。

下载

Android APK

三栏法

版本
1.7.2
文件大小
10.9 MB
系统要求
Android 8.0 及以上
格式
Android APK
下载 APK
SHA-256
4FCACA2FAB7E0C47652019113784B238A3C741C250B090B7C858A25CE4F9D3F0

Android 可能要求你允许浏览器或文件管理器安装应用;安装前先核对 SHA-256。

应用也在 Google Play 上,目前是封闭内测:内测链接只对测试名单里的 Google 账号有效,其他人打开会看到错误。想加入,请给我发邮件;否则直接用上面的 APK。

更新记录

1.7.0
三栏改为两栏:情境与自动化思维合并一页,认知歪曲与理性回应合并另一页;相信程度评分改为可选,默认收起。
1.6.0
关闭系统备份。应用不再允许 Android 备份,思维记录不会再进入 Google 账号;恢复数据只能通过显式导出。
1.5.0
加入可选的应用锁,支持指纹、面容或设备密码;锁定时隐藏最近任务预览并禁止截屏。