gpt4 book ai didi

android - ActiveAndroid 数据库位置动态变化

转载 作者:搜寻专家 更新时间:2023-11-01 08:48:10 24 4
gpt4 key购买 nike

我正在开发一个 Android 应用程序,并考虑使用 ORM 来利用一些数据库工作,我已经看到了一些,它们似乎都适合这项工作,现在我只剩下一个主要问题,我还没有我找到了一种在运行时设置数据库位置的方法。

例如,我要谈论一个常见的(在这种情况下,非常真实的)场景让我们假设您的应用程序需要完全离线工作,并且用户下载应用程序所需的数据库,一个常见的指南是提供某种类型的文件资源管理器,以便用户可以指定数据目录。

好吧,假设我使用的是 ActiveAndroid ORM,我已经根据指南设置了所有内容,并且我在 AndroidManifest 中指定了数据库的名称,我什至可以在其中设置一个静态路径,例如,“/mnt/sdcard/data/data.db”,它将使用现有的数据库,我只是还没有找到做类似的事情的方法

ActiveAndroid.location = customLocation;

其中customLocation是用户在Preferences中选择的路径,即数据库的自定义位置。

感谢任何帮助。

最佳答案

我找到了一个适合我的解决方法,它并不太复杂,但我还没有看到这个特定问题无处可寻。

而不是通过 AndroidManifest 初始化您的 ActiveAndroid 连接

android:name

属性,不要在那里指定任何名称或元数据属性,现在,官方文档说明您可以在运行时通过以下方式初始化 ActiveAndroid

ActiveAndroid.initialize(this)

好吧,有一个名为 Builder 的非常方便的类,它可以通过配置类访问,ActiveAndroid 中的那个,而不是 android.content.res 中的那个,并且通过 Builder 对象,您可以指定一些东西,即,

setDatabaseName(String name)

属性,这里可以使用你数据库的自定义路径,然后像这样初始化ActiveAndroid

ActiveAndroid.initialize(builder.create())

create() 方法返回一个 Configuration 对象

就是这样!现在,您可以将预先填充的数据库与 ActiveAndroid 一起使用,无论您的用户决定将其放置在何处。

关于android - ActiveAndroid 数据库位置动态变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26243583/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com