【问题标题】:How to return [search] result as file location?如何将 [搜索] 结果作为文件位置返回?
【发布时间】:2013-04-21 07:31:38
【问题描述】:

我正在研究可搜索的字典。它使用 SQLite 数据库。字典格式如下(2列用“-”分隔)

Apple - One kind of fruit
Cricket - One type of game
Titanic - One type of Movie

这里AppleA 列,One kind of fruitB

我已经更新了我的数据库,如下所示

Apple - res/raw/Apple.txt
Titanic- res/raw/Titanic.txt

我想打开Apple.txt 文件并在用户搜索Apple 时显示文本。但我使用的示例代码仅用于 TextView,而不是打开文件、缓冲区和 ViewText。

这是我的代码,它在我的应用程序中显示 B 列

TextView details = (TextView) findViewById(R.id.details);
details.setMovementMethod(new ScrollingMovementMethod());

请建议我如何通过替换上述代码从搜索查询中打开 Apple.txt?

[发布更新]

【问题讨论】:

  • 为什么不在B列中存储文件路径?
  • 既然数据库中已有文本,为什么还要使用文件?
  • @Egor 非常感谢您的回复。你能解释一下我如何放置可以通过应用程序打开的文件路径来查看txt吗?你的回答似乎对我有帮助!
  • 您的问题听起来好像您已经拥有所描述的表格。如果不是这种情况,并且您已经将说明手册作为文本文件,请按照 Egor 的建议将文件路径保存在 B 列中。
  • Tanzil,你不能指望这里的人来做你的工作。简单的谷歌搜索带来了例如这个stackoverflow.com/questions/3219150/… 描述了如何从 res/raw 中读取文本。如果您是 Android 新手,我建议您在开始复杂项目之前先从一些更简单的程序开始学习 Android 系统的基础知识。

标签: java android sqlite


【解决方案1】:

可以根据-使用拆分:

String[] res = line.split("\\s+-\\s+");

现在你会得到类似的东西:

[Apple, One kind of fruit]

现在,因为您在 A 列中有 Apple,所以您知道必须显示 apple.txt 的位置。

或者(一种更好的方法),您可以将路径存储在 B 列中,如 cmets 中所述的@Egor:

Apple - the_path_to_open.txt

现在,当您拆分时,您将在数组的 1 元素(即 B 列)中获得路径,您可以打开它以显示其结果。

【讨论】:

  • 没有必要过度复杂化。 line.split("-") 可以正常工作。
  • 不,这将包括空格,他必须在拆分后删除前导空格。我写的拆分比较笼统,第一列和第二列之间可以有很多空格。
  • 我会试一试,然后会反馈。非常感谢!
  • @Maroun Maroun 我正在采用您上面建议的替代方法。你能解决我现在堆积的代码{我已经更新了帖子]吗?向像你这样有经验的程序员学习对我很有帮助。 :)
猜你喜欢
  • 2013-03-15
  • 1970-01-01
  • 2017-03-01
  • 1970-01-01
  • 2019-09-03
  • 1970-01-01
  • 2017-03-01
  • 2016-05-03
  • 1970-01-01
相关资源
最近更新 更多