android - Android Room - 全选然后写入文本文件
问题描述
我按照带有 View 教程的 Android Room 进行操作,并且成功地重新创建了教程应用程序。我的所有代码都可以在该教程中找到。现在与我的应用程序的唯一区别是我的 MainActivity 是一个 webView,然后当用户单击工具栏中的按钮时,他们会被带到具有 View 应用程序功能的房间,这与教程中的功能完全相同。所以基本上我只是事先添加了另一个活动。
我尝试使用与 LiveData 关联的 getAllWords() 和 getAlphabetizedWords() 方法,并将结果转储到 Logcat 中,但它们总是以类似哈希的字符串形式出现(例如:Word@6f2f356)。我正在尝试获取从 Room 数据库中提取的单词的确切值。
我目前有2个问题:
我想从 MainActivity 中选择 Room 数据库表中的所有单词。
从表中选择所有术语后,我想将它们全部写入文本文件或 CSV。
在我的 MainActivity 中,我使用下面的函数将用户发送到具有查看教程功能 (WordList) 的 Room 的开头。我的 WordList 类相当于教程的 MainActivity。在这个 WordList 类中,我尝试使用 getAllWords() 并以类似哈希的状态返回术语。
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.nix_menu_back:
onBackPressed();
break;
case R.id.nix_menu_forward:
onForwardPressed();
break;
case R.id.nix_menu_refresh:
nixWebView.reload();
break;
case R.id.nix_string_list:
nixWebView.reload();
Intent intent = new Intent(this, WordList.class);
startActivity(intent);
break;
}
return super.onOptionsItemSelected(item);
}
有人可以向我解释如何选择 Room 数据库中的所有术语并将它们以可读格式输出到 Logcat 和内部文本文件吗?
任何帮助表示赞赏,如果这是重复,我最诚挚的歉意!我已经检查过 SO,我发现与我的情况有关的唯一问题并没有涵盖这种情况。
如果被问到,我很乐意提供更多代码。谢谢大家!
解决方案
看起来很杂乱的字符串
如果您希望将Word
对象打印在可读对象中,则应覆盖public String toString()
该类的方法,因为默认实现会返回那种散漫的外观String
。
对此的一些启示可能是:
public class Word {
// Other stuff you may have
@Override
public String toString() {
return this.wordID+" - "this.wordContent;
}
}
这可以打印:“12 - 猫”
列出所有单词。
该 codelab 中提供的方法足以列出 SQLite DB 中包含的所有单词。
将它们作为纯文本保存在外部文件中。
不要忘记添加
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
在你的AndroidManifest.xml
档案里!
推荐阅读
- python - ImportError:无法导入名称“语言”
- android - 我有 Pixel 3,在使用 glsurfaceview 时,在纵向模式下,顶部有圆形边缘,但底部没有。我该如何解决?
- android - 在游戏控制台上等待发布
- java - Apache Beam Wait.on JdbcIO.write 带有无限 PCollection 问题
- c# - SQLiteConnection - “System.OverflowException”,但工作
- cookies - 有没有办法为 GKE 负载均衡器获取域而不是 ip?
- php - preg_match_all,查找所有包含特殊字符的精确匹配实例,例如 *** 并添加类
- thunderbird - gFolderDisplay 和其他未在 Thunderbird 后台脚本中定义的内置全局变量
- c - const double *bar = (const double *) foo;?
- r - 如何将多个整数绑定到一个向量中