Tasker自动化程序使用学习

如何在 Tasker 上操作 SQLite 数据库

2018-10-05  本文已影响648人  blackspot

前言

使用 Tasker 的您是否曾想过这些需求却无法实现:读取或删除指定联系人的所有短信记录;将当前最新的图片或视频分享出去;或者是更高级的:创建自己的数据库以用于数据的存储与查询?如果您是苦于无法实现的那位,那么当阅读过本文后,将令您不再纠结;如果您是早已实现的那位,那么本文也值得您阅读,因为当中有些内容或许对您有所启发。本文并不打算讲授 SQL 的知识(初学者若想学习 SQL,不妨从这本书开始),而是直接说明如何在 Tasker 上操作 SQLite 数据库。本文所有的数据库操作示例都是基于 Android 的短信系统数据库(已将其拷贝至 /sdcard/Download/mmssms.db),接下来首先要介绍的是最常用的数据库操作 ── 查询。

查询操作

要查询的内容是:最近三条联通发送的内容包含「验证码」的短信记录(只需要短信的接收时间、发送方和内容)

下图是从数据库管理工具 SqlitePrime 中得到的 sms 表结构,可帮助大家理解后续出现的 SQL 语句。

sms 表

以下为满足上述查询要求的 SQL 语句(其中的 date、address 与 body 分别是短信的接收时间、发送方以及内容):

SELECT date, address, body
FROM sms
WHERE address = 10010 AND body LIKE '%验证码%'
ORDER BY date DESC LIMIT 3

在 SqlitePrime 中执行该 SQL 语句后可查询出满足要求的结果,见下图:

那么该如何从 Tasker 中获得相同的查询结果呢?接下来,将分别使用 Tasker 内置动作「SQL Query(SQL 查询)」中的三种模式来实现这需求。

说明:

其他数据库操作

「SQL 查询」动作除了可以查询数据外,还可以对数据库进行以下的写入操作(只能在「原始模式」中使用):

下图的 SQL 语句将会删除所有联通发送的短信记录:

注:目前「SQL 查询」动作无法直接删除表,若要实现这操作,可参看这文章中的删除表部分。

进阶操作

上面涉及的是已经存在的数据库,那么我想创建属于自己的数据库,并对其进行数据的存储与读取,可以实现吗?当然可以,您若想了解这部份操作,请参看这文章

实际应用

简单列举一些可通过数据库实现的功能:

更新日志

其他

作者:sung
邮箱:sdfsung@gmail.com

原创内容,转载请注明出处

上一篇 下一篇

猜你喜欢

热点阅读