我想把我的sqlite DB文件上传到DropBox。但在此之前,我需要在代码中获取sqlite Db文件。如何在任何设备上执行此操作?我查看了这个链接,它说用户需要root权限才能访问数据库。
所以简而言之:
如何使用非根设备访问我的sqlite数据库?egFile f=new File("path_to_db_file");
如果这种方法不可行,我如何将我的应用程序数据库保存在一个可以访问它的地方?
如果我能解释什么,请告诉我。提前谢谢
工作代码示例
try {
File Db = new File("/data/data/your.package/databases/yourdatabasename");
Date d = new Date();
File file = new File(your_destination.db);
//if file was created earlier the delete the old file
if (file.exists()) {
file.delete();
}
//create new file
file.createNewFile();
file.setWritable(true);
copyFile(new FileInputStream(Db), new FileOutputStream(file));
}catch (Exception e) {
e.printStackTrace();
}
我不知道如何编程,但使用Rooted Device,我们可以从设备获取数据库,因为我们必须将您的应用程序权限作为超级用户,并从您的应用程序包名称和过去复制到您的SD卡和Access。
是的,你可以,这样的东西在没有root许可的情况下对我有效:
File Db = new File("/data/data/your.package/databases/yourdatabasename");
Date d = new Date();
File file = new File("your_destination.db");
file.setWritable(true);
copyFile(new FileInputStream(Db), new FileOutputStream(file));
复制文件是这样的函数,并且在两个方向上工作DB-
public static void copyFile(FileInputStream fromFile, FileOutputStream toFile) throws IOException {
FileChannel fromChannel = null;
FileChannel toChannel = null;
try {
fromChannel = fromFile.getChannel();
toChannel = toFile.getChannel();
fromChannel.transferTo(0, fromChannel.size(), toChannel);
} finally {
try {
if (fromChannel != null) {
fromChannel.close();
}
} finally {
if (toChannel != null) {
toChannel.close();
}
}
}
}
问题内容: 我正在为android应用程序开发自动化测试(使用Robotium)。为了确保测试的一致性和可靠性,我想以干净状态(正在测试的应用程序)开始每个测试。为此,我需要清除应用数据。可以在“设置/应用程序/管理应用程序/ [我的应用程序] /清除数据”中手动完成此操作 以编程方式完成此操作的推荐方法是什么? 问题答案: 您可以使用包管理器工具清除已安装应用的数据(类似于按设备上应用设置中的“
我正在构建一个应用程序,在注销后需要清除缓存和本地存储数据。 我的注销方法调用clearCache()方法。我正在使用cordova存储插件。 缓存和本地存储正在清理,但当我转到 设置- 如何像手动一样以编程方式清除应用程序数据?
我正在尝试使用我自己的应用程序实现或扩展的ResourceConfig或PackageResourceConfig来配置我的Jersey应用程序。因此,我的第一次尝试是将现有的web.xml(实际上,由于开发的库性质,我使用的是web-fragment.xml)配置移植到MyApplication实现。 当我使用第二个版本时,我会收到以下信息 正如您所看到的,是第一个注册的类,但由于它不是公共的,
我指的是:https://docs.microsoft.com/en-us/graph/api/user-get?view=graph-rest-1.0 并试图获取所需的用户详细信息。 我的问题是,如何获取任何特定用户ID的字段详细信息(sbx、cn、uid、mail、jobtitle)? 这个想法是使用微软图形应用编程接口找到任何用户详细信息(上面的任何字段,如果不是全部的话)。 我试过这个:
问题内容: 如何在 不终止VM的情况下以* 编程方式关闭 Spring Boot 应用程序? * 在其他作品中, 问题答案: 关闭a 基本上意味着关闭基础。该方法为您提供了一个。您可以自己动手做。 例如, 或者,您可以使用 帮助程序方法来帮助您。例如,
如何在不终止VM的情况下以编程方式关闭一个spring boot应用程序? 在其他作品中,…的反义词是什么