Android:从本机数据源填充ListView的最佳方法

时间:2014-06-26 10:15:45

标签: android listview arraylist java-native-interface native

我移植的大部分应用都是用C ++编写的。我需要使用从本机代码中检索的数据在ListView中显示大量行。

比如说我有50,000行数据 - 实际上是歌曲名称。我担心性能变慢,我也担心不必要地使用大量内存。

填充ListView的最佳方法是什么 - 我应该:

  1. 获取JNI代码以填充所有项目的ArrayList 从C ++调用add()调用?
  2. 有些人如何填充 ListView实际请求的可见行的数量?
  3. 其他东西
  4. 恰好,我正在检索的数据也在SQLite数据库中 - 不确定这是否有用。理想情况下,我想在C ++代码中保留所有数据库访问权限,但在开始执行此任务之前,我愿意接受建议。

1 个答案:

答案 0 :(得分:2)

正如您所提到的SQLite数据库中可用的数据,您可以使用Android中提供的SQLite相关类从Android应用层访问此SQLite数据库。它可以帮助您通过JNI层进行额外的数据处理。此外,列表项的修改将直接在SQLite DB上完成,而不是通过JNI层和数据传递数据。在本机层更新相同(这里我猜它的C ++)。