gpt4 book ai didi

android - 在事务中使用多个方法

转载 作者:行者123 更新时间:2023-11-30 04:34:35 25 4
gpt4 key购买 nike

我正在制作一个 Android 应用程序,它从 XML 文件中获取信息。我正在将信息填充到数据库中,以便在程序运行时更轻松地访问,这要归功于查询的强大功能。

但是我注意到,使用 Transactions 大大提高了速度,所以自然而然地,我想使用它。

我的问题如下;在抽象的思想中,在解析了一个主题的所有信息之后,信息被发送到正确的实体(类),并且在该实体内部有一个方法将它添加到数据库中。之后,它返回到继续读取下一个主题的解析器,它又将再次发送到正确的(可能是不同的)类。

这是通过 switch 语句实现的,每个 case 都指向不同的类构造函数。

如果我想使用事务的速度,我需要在解析之前就已经开始事务,运行解析和查询构建(据我所知,事务中构建的所有查询都被收集并在最后全部作为一堆执行),然后在解析整个文件后结束事务。

为了使它更清晰,或更快地阅读;代码思路是;

    Class parser(){
database.beginTransaction();
try{
// start parsing in a whole different class, which also points to SQL queries (in different classes again) in the entitys with a switch
}catch(Exception e){
database.endTransaction();
}
database.endTransaction();
}

我希望我已经足够清楚地表述了我的问题。

亲切的问候,

最佳答案

是的,您已经了解了总体思路。但是,您需要注意在完成解析时将事务标记为成功,并确保即使在发生异常时事务也始终关闭。

示例来自 the docs :

db.beginTransaction();
try {
// do all the parsing in here
...
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}

关于android - 在事务中使用多个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7089930/

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