【问题标题】:Delete images and pdf when the session is over会话结束时删除图像和 pdf
【发布时间】:2020-06-03 07:33:11
【问题描述】:

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

【问题讨论】:

    标签: android android-image sensitive-data


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-04-22
          • 1970-01-01
          • 2016-06-02
          • 2012-12-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多