android 为lazycolumn元素存储大量文本数据的最佳方法是什么?

azpvetkf  于 2023-04-18  发布在  Android
关注(0)|答案(2)|浏览(168)

我正在写一个对话系统的应用程序。对话是由特定文本的卡片序列组成的。它们可以交替或重复。
卡片由id、图像和文本组成。加载数据时,根据id,将显示所需的卡片。
我的问题是,存储这些数据的最佳方式是什么?
我猜有三个选择
1.在数据类中存储数据,在strings.xml中存储文本
1.以XML格式存储数据,并使用XML解析器解析数据
1.存储室数据库数据
在这种情况下,哪种方法是最实用和首选的?

bjp0bcyl

bjp0bcyl1#

你自己提供的三个选项都可以很好地工作!
要在它们之间做出选择,你必须回答一个简单的问题:您是否试图创建一个动态系统,在其中您可以创建和删除卡片,或者它将是静态数据?
换句话说:如果您只打算显示静态数据,那么使用本地数据库实现所有内容的努力是否值得?
我个人会使用数据库来实现它,因为我希望至少有一个选项来动态地完成所有事情。strings.xml仅用于静态UI元素。
希望这对你有帮助!干杯

dly7yett

dly7yett2#

如果你想使用静态的。一个选择是将它们存储在一个枚举类中。因为数据是常量

enum class MyCards(val id: String, @DrawableRes val image: Int, @StringRes val text: Int) {
    CARD_1("1", R.drawable.card1_image, R.string.card1_text),
    CARD_2("2", R.drawable.card2_image, R.string.card2_text),
    CARD_3("2", R.drawable.card3_image, R.string.card3_text)
}

枚举可以被序列化和反序列化,因此如果以后需要,可以在数据库中使用它们。

相关问题