会话结束时删除图像和 pdf

Delete images and pdf when the session is over

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

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

删除文件

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

Storing files in DB is never advised. Rather, they should be stored as File themselves and you can save their path in the DB searching and accessing the files.

您关于会话超时的观点过于宽泛。它可以通过多种方式执行,例如注销、时间限制过期、案例从 Patient/Doctor 结束等

如果找到可以试试这些步骤 suitable:

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

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