如何使我的应用程序拍摄的照片能够备份
How to make pictures taken by my App backup-able
假设我有一个允许我对杯子进行评分的应用程序。因此,我输入一些评分标准,拍下杯子的照片,然后将其保存到数据库中,以供稍后查看。
目前我将图片保存在
获取的路径中
getExternalFilesDir(Environment.DIRECTORY_PICTURES)
并保存到我的 SQLite 数据库的路径,以便稍后查看。
这很好用,但是,因为我整天评价一堆杯子并经常改变我的 phone 安静,我希望能够通过通用 [=23= 备份我的应用程序及其数据] 备份解决方案。这适用于保存数据并存储在 App-Context 中的 SQLite 数据库。
但是由于数据库只保存了拍摄照片的路径(由 getExternalFilesDir 返回),所以照片没有备份。图片要保存到哪里才能保证常用的Android备份软件也能抓取图片?
我把备份放在新的phone上后,是否可以确保数据库中存储的路径相同?由于有可能App位于新phone的其他地方,所以绝对路径在这里不是一个好主意...是否可以相对于App保存图片而只保存相对路径?
正如greenapps所建议的,一个可能的解决方案是在数据库中只保存图像的相对路径。而不是使用
getExternalFilesDir(Environment.DIRECTORY_PICTURES)
我现在用
getFilesDir()
获取 app intern 文件夹并在其中保存图像。当我要加载图片时,我使用相同的方法构建路径以获取应用程序目录和保存在数据库中的相对路径。
假设我有一个允许我对杯子进行评分的应用程序。因此,我输入一些评分标准,拍下杯子的照片,然后将其保存到数据库中,以供稍后查看。
目前我将图片保存在
获取的路径中getExternalFilesDir(Environment.DIRECTORY_PICTURES)
并保存到我的 SQLite 数据库的路径,以便稍后查看。
这很好用,但是,因为我整天评价一堆杯子并经常改变我的 phone 安静,我希望能够通过通用 [=23= 备份我的应用程序及其数据] 备份解决方案。这适用于保存数据并存储在 App-Context 中的 SQLite 数据库。
但是由于数据库只保存了拍摄照片的路径(由 getExternalFilesDir 返回),所以照片没有备份。图片要保存到哪里才能保证常用的Android备份软件也能抓取图片?
我把备份放在新的phone上后,是否可以确保数据库中存储的路径相同?由于有可能App位于新phone的其他地方,所以绝对路径在这里不是一个好主意...是否可以相对于App保存图片而只保存相对路径?
正如greenapps所建议的,一个可能的解决方案是在数据库中只保存图像的相对路径。而不是使用
getExternalFilesDir(Environment.DIRECTORY_PICTURES)
我现在用
getFilesDir()
获取 app intern 文件夹并在其中保存图像。当我要加载图片时,我使用相同的方法构建路径以获取应用程序目录和保存在数据库中的相对路径。