Android:如何记录击键?

时间:2012-04-06 02:46:38

标签: android android-softkeyboard keystroke

我想制作一款可以学习并保存用户新词的智能键盘。我已经分别做了笔记和键盘,问题是:

  1. 如何阅读所有击键并将其写入背景中的笔记?

  2. 如何自动保存笔记?

  3. 感谢您的帮助

1 个答案:

答案 0 :(得分:0)

保留一个String或StringBuilder,用于存储用户键入的所有文本。通过软键盘发送的所有文本都必须通过onKey方法。

所以,我会这样做: 1)在onKey中,检查以确保使用相应功能的primaryCode(已按下的键代码)是字母/数字/撇号。所以,像

  

Character.isDefined(primaryCode)

2)将primaryCode连接到StringBuilder / String的末尾。

您还必须处理用户移动光标/退格。在我的键盘中,我只存储最近的两个单词(每当用户移动光标时重置它)。这样,键盘可以了解最后一个单词最可能出现的单词。

您可以使用ObjectOutputStream保存“note”或使用sharedPreferences保存(如果它相当小)。

如果您遇到更多问题,请给我发电子邮件:我已经写了一段时间的软键盘,所以我对它非常熟悉。