Published on

WristTale 1.1.2,更稳更好用

WristTale 1.1.2 已经发布。这次更新围绕一条最基础的使用链路展开:把 TXT 或 Markdown 文本导入手机,选出接下来想看的内容,稳定地同步到 Garmin 手表,再在腕上继续阅读。

WristTale 1.1.2 更新内容,包含章节范围选择、稳定传输、系统导入和手表章节跳转

除了新增功能,我们也花了不少时间研究一个用户经常提出的问题:既然手表能通过 USB 连接电脑,为什么不能像复制音乐一样,直接把小说放进 WristTale?答案与 Connect IQ 的存储边界有关。

为什么不能直接用 USB 把 TXT 复制进手表

Garmin 官方提供的 Application.Storage 是应用自己的持久化对象存储。开发者通过 Storage.setValue() 写入数据,但 Connect IQ 没有向普通应用开放任意读写手表文件系统的接口。

为了确认这条边界,我们尝试在电脑上生成或修改对象存储对应的 DATIDXIMT 文件,再通过 USB 放回手表。如果可行,长篇小说就能绕过手机与手表之间的正常通信,像复制普通文件一样导入。

我们在 Forerunner 965 和 Forerunner 255 上测试了几种方案:

  • 分析并拼接文件结构
  • 重放已有的底层记录
  • 在两块手表之间复制完整文件
  • 卸载后重新安装,再恢复旧文件
  • 把模拟器生成的文件放到真机

这些方案都无法让另一块手表或一次全新安装正常读取旧数据。只有在同一块手表、同一次安装身份仍然保留时恢复完整备份,或者正常更新同一应用,原有对象存储才能继续使用。

这组实验强烈表明,底层数据不只是简单序列化,还带有设备或安装身份相关的保护与完整性校验。这里是我们的真机实验结论,并不等同于 Garmin 对所有设备和固件实现细节的公开承诺。

从安全角度看,这是合理的取舍。Connect IQ 的安全模型还会通过数字签名区分应用的信任级别。复制走底层文件,并不意味着就能在另一块表或重新安装后继续读取其中的数据。

从产品体验看,这也意味着 WristTale 不能把私有对象存储当成普通 U 盘目录。既然无法绕过系统直接写文件,我们就需要把正常传输、失败恢复和内容状态校验做得更可靠。

章节范围选择更直接

以前同步长篇小说时,可以逐项勾选章节,也可以选中尚未同步的内容。但如果只想传中间一段,仍然需要反复操作。

1.1.2 在章节选择页增加了起始和结束编号。输入范围后,可以一次选中连续内容;列表也支持拖动选择。手表只需要装下接下来准备阅读的部分,不必每次都承担整本长篇小说。

WristTale 1.1.2 章节选择页,支持输入起始和结束编号选择连续章节

手机到手表的传输更稳

Connect IQ 通信会受到蓝牙状态、Garmin Connect、手机后台策略、手表固件和设备性能影响。1.1.2 不能保证环境永远不抖动,但会尽量避免一次短暂异常扩大成整批传输失败。

握手、传输请求、书籍信息和完成确认等关键消息,现在使用更严格的任务匹配与重试。手机会过滤已经过期的回执,手表也能识别同一任务的重复请求;中断恢复时,还会核对已经成功保存的内容,减少不必要的重传。

WristTale 1.1.2 手机同步页显示全书进度、待同步章节和当前传输任务

配套手表端也加强了传输期间的保活和异常恢复,降低按键操作或部分固件行为意外打断传输的概率。单次选择上限最高可以设为 300 个传输任务,长篇内容分批同步更省操作。

Garmin 手表上的 WristTale 传输进度,正在接收一批内容任务

文件导入与章节识别继续改进

Android 1.1.2 接入了系统“打开方式”和分享入口。现在可以从微信、QQ、文件管理器等应用把 TXT 直接交给 WristTale,不必先保存文件,再回到应用里逐层查找。

从手机系统分享面板选择 WristTale 打开 TXT 文件

iPhone 端也接入了系统文件打开入口,实际可用时间以 App Store 审核和上架状态为准。设置中的文本格式处理工具支持切换编码预览、统一换行、移除行尾空格、合并连续空行,并把处理后的内容保存或分享为新 TXT。

这一版还补齐了多类真实小说文件的兼容问题:

  • 新增繁体中文 Big5 与日文 Shift-JIS 编码支持
  • 识别序章、楔子、番外、尾声、终章、后记等特殊标题
  • 修复章节号后无空格、标题末尾带句号时的分章失败
  • 自动修复正文中间的可信章节边界,再重新识别
  • 修复超过 256 KB 的 UTF-8 文件可能推荐乱码预览的问题
  • 为误改成 .txt 的 EPUB、PDF、MOBI、压缩包和图片提供明确提示

大文件解析也改为更稳妥的处理方式,避免少数复杂文本触发长时间等待或异常。即使长篇小说中夹有少量不规则标题,也不会轻易放弃整本书已经识别出的章节结构。

配套手表端新增章节跳转

配套新版手表端在阅读菜单中增加了“跳转章节”。输入编号后,可以直接前往已经同步到手表的内容段,几百个甚至上千个内容段的长篇小说不再需要反复翻列表。

Garmin 手表 WristTale 阅读菜单中的跳转章节入口

这里使用的是导入后生成的手表内容段编号,不一定等于原书章节号。例如输入 71,可能会跳到原书某一章拆分出的其中一段。界面会显示有效范围,并对越界或尚未同步的内容给出提示。

Garmin 手表 WristTale 章节跳转编号选择界面

阅读进度的记录方式也做了调整。直接跳转只计算真正打开过的内容段,读到末页后继续翻过末尾,才会把该内容段记为完成,减少进度过早显示为 100% 的情况。

手表端功能需要把 WristTale 更新到包含这些改动的版本。如果 Connect IQ 商店暂时没有显示更新,可以稍后再检查商店的分批同步状态。

推荐升级到 1.1.2

如果你经常传长篇小说,1.1.2 最明显的变化是选章更快、中断后的恢复更稳。如果你的 TXT 来自不同网站、旧设备或日文与繁体中文来源,新编码和章节识别能力也会减少导入前的手工整理。

中国大陆 Android 用户可以前往下载页面获取新版 APK;手表端请在 Garmin Connect IQ 中国商店安装或更新 WristTale。完整的逐项记录也可以在更新日志中查看。