0

我想在 android 中开发一个医疗保健应用程序。医生将在特定时间进行身份验证以访问患者的医疗报告并将其下载到应用程序(报告将在区块链或数据库中)。当会话结束时,所有下载的数据(报告)都应该从医生的手机中永久删除。删除这些数据的最佳方法是什么?

4

3 回答 3

0

那么,当医生将通过身份验证时,您应该启动某种类型的计时器(他将被验证多久才能使用患者的记录)并将这些文件的路径保存在数据库中。在计时器达到 0 或最大值后,您应该有一个侦听器或观察者,它只是从他的手机中删除文件(使用保存在数据库中的路径)。File您可以使用类删除文件。

于 2020-02-19T07:37:38.423 回答
0

好吧,最好的方法是创建一个具有唯一名称的缓存目录,以区分所有患者的记录,并将所有可下载的项目缓存到该目录中,并在会话完成后删除该目录。

于 2020-02-19T07:41:51.617 回答
0

从不建议将文件存储在 DB 中。相反,它们应该存储为文件本身,您可以将它们的路径保存在数据库中搜索和访问文件。

您关于会话超时的观点太宽泛了。它可以通过多种方式执行,例如注销、时间限制到期、从患者/医生端关闭案例等。

如果您觉得这些步骤合适,您可以尝试这些步骤:

  1. 医生选择要保存的文件后,下载并保存在应用程序的内部存储中。同时,将它们各自的路径和下载时间戳保存在数据库表中以供将来参考。
  2. 如果您的文件是机密文件并且不应在您的应用程序之外读取,您可以使用加密算法对其进行加密,然后将它们保存在设备上。您还可以将它们保存在不同的扩展名中并使用随机名称,以进一步使一般用户从设备中提取它们变得更加复杂。不过,您必须在查看时解密它们。
  3. 如果您认为可以解析文件中的数据并可以提取原始(文本)数据,您还可以尝试实现一个 DB 表并将这些信息保存在 DB 本身中。在这种情况下,设备上不会保存任何文件。
  4. 现在,您有了自己的内容(无论是在文件系统还是数据库中),您的下一个任务是在会话结束后删除它们。
  5. 对于 LogOut 案例,只需删除所有可用数据(从文件系统和数据库中),清除所有内容。
  6. 对于医生删除案例,您可以从设备中删除所选案例的所有文件。这些信息可以很容易地保存在数据库表中。
  7. 对于患者删除/关闭的情况,您必须实施推送通知服务,其中您的服务器将向设备发送删除命令。在应用程序上收到通知后,您可以按照相同的步骤操作。
  8. 对于时间限制过期,最简单的逻辑是每天在特定时间或每次打开您的应用程序时检查时间戳比今天日期早 7 天的所有文件。注意时间戳和文件信息存储在数据库中。
  9. 要在特定时间检查每一天,您必须实现AlarmManager将调用后台服务来执行任务。

注意:可能有更多可能的方法来完成这样的特定任务,但是,这些是最简单和最广泛使用的方法。

于 2020-02-19T07:56:56.360 回答