Android:从本地数据库读取时处理错误情况?

时间:2019-04-17 12:11:46

标签: android sqlite

我想从本地数据库中读取条目,并以某种列表视图的形式显示它。

如果没有条目,我会显示一个空状态的用户界面。

我想知道是否需要添加错误状态UI。本地数据库是否无法访问或发生读取错误? (排除了编程错误-在这种情况下,我希望应用程序崩溃以迅速意识到它。)

说明: 我可能会在问题中过多提及UI。我只对从本地数据库读取时可能发生的哪些数据库错误不是由编程错误引起的感兴趣。

1 个答案:

答案 0 :(得分:1)

如果ListView的源(游标或数组)为空(而不是null,这将导致null指针异常),则ListView将为空。实际上,在大多数情况下,ListView最初是空的,因为您通常会调用setContentView来应用布局,该布局通常包括ListView(在该阶段没有适配器,因此没有任何显示)。然后,您将获得ListView,设置适配器,然后使用适配器设置ListView,这将导致列出项目(如果有)。

一个SQLite数据库,一旦创建就非常可靠,发生读/写错误的机会也很小,我敢肯定会引发异常。

例如,最常见的读取错误是在复制现有数据库时发生的,通常原因是数据库文件所在的目录不存在。

  • 数据库是在App外部创建的,通常放置在资产文件夹中,资产(只读且已压缩)然后复制到可以完全访问的位置(通常位于应用程序数据的数据库目录( data / data / package_name / database / the_database_file