gpt4 book ai didi

Android App 安装脚 native 制/方法

转载 作者:行者123 更新时间:2023-11-30 01:15:57 25 4
gpt4 key购买 nike

Android 上是否有任何机制和/或编程实践来执行一次性安装/更新脚本?这似乎是一个非常基本的问题,但谷歌搜索没有帮助。

假设我的应用程序使用了一个数据库,并且需要一个常量值表(例如国家名称、城市名称等)应用程序应该创建一个数据库并在其中写入常量值,但只有在以下情况下才应该这样做应用程序是全新安装或更新的。

我应该吗?

a) 在MainActivity中放一个函数来检查其中的数据库和数据是否到位

b) 在 MainActivity 中放置一个函数来写入一小块包含当前软件版本的文件,然后在每次运行时检查它是全新安装还是更新(当然它会先检查文件,然后如果不存在就写下来)

c) 或者是否有任何其他事实上的方法可以在每次安装和/或更新中运行?

最佳答案

这取决于您将如何安装以及数据库中的更改。

如果你只是生成一个新的Apk并运行它,它会更新而不是删除以前的数据,但是如果你删除APP并安装新的,数据将被删除。

您应该考虑的另一件事是数据库的版本,如果安装的版本低于新应用程序所需的版本。

请注意,您需要使用 dbhelper.getWriteableDatabase() 或 dbhelper.getReadableDatabase() 获取数据库对象。仅仅创建一个 SQLiteOpenHelper 对象是不够的。

对此的控制取决于您使用什么来创建数据库,例如,如果您使用 SQLiteOpenHelper 创建,通常会使用这样的方法:

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {


}

编辑:什么时候调用哪个方法?

关于代码:

DbName = "teste.db"
DbVersion = 1

在设备上: 无分贝

^ 将调用 onCreate。

关于代码:

DbName = "teste.db"
DbVersion = 2

在设备上:

 DbName = "teste.db"
DbVersion = 1

^ 将调用 onUpgrade

关于代码:

DbName = "teste.db"
DbVersion = 1

在设备上:

 DbName = "teste.db"
DbVersion = 2

^ 将调用 onDowngrade

关于代码:

DbName = "anotherName.db"
DbVersion = 1

在设备上:

 DbName = "teste.db"
DbVersion = 1

^ 将调用 onCreate

关于Android App 安装脚 native 制/方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37862277/

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