【问题标题】:Add Words to Android's UserDictionary将单词添加到 Android 的 UserDictionary
【发布时间】:2016-07-15 05:21:23
【问题描述】:

我想在我的安卓手机 (Moto Droid) 中添加一个完整的医学词典。我希望能够发送短信并让医学词汇出现在可预测的文本中。

我一直在尝试编写一个可以完成此任务的小应用程序,但我尝试的所有应用程序都会在启动时崩溃。我从来没有为移动平台编写过应用程序,所以这对我来说是第一次。这是不能正常工作的地方。

public class WordAdd extends Activity {
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


    UserDictionary.Words.addWord( this , "newMedicalWord", 1, UserDictionary.Words.LOCALE_TYPE_CURRENT);
}

}

这似乎很简单,但我却陷入了困境。感谢您提供的任何帮助。

编辑:我应该提到我在 AVD(虚拟设备)中收到了 Android 2.1 的此错误。

编辑 2: User Dictionary 可在 Android API 中找到。 addWord 是一个静态方法。我没有声明 UserDictionary 因为我只使用一种静态方法。自从我用 Java 开发任何东西已经很久了,这是我第一次尝试任何移动开发,所以我不知道我是否做错了什么。

【问题讨论】:

  • “android”是产品名称吗?很多人,比如我!,可能会被这个引用搞糊涂。这个动作听起来像是一部手机。如果是这种情况,你应该在问题中这么说!
  • 我确实提到了摩托罗拉机器人。我想我认为这将是足够的信息。对此感到抱歉。
  • 哈哈,方便爷爷;这是一部手机;)
  • 发布正在获取的错误..即 logcat 输出
  • 我不太确定要记录输出。谷歌搜索没有找到任何帮助。我觉得自己像个新手。

标签: android


【解决方案1】:

将此添加到您应用的 AndroidManifest.xml 文件的 <application> 元素之外:

<uses-permission android:name="android.permission.WRITE_USER_DICTIONARY"></uses-permission>

【讨论】:

    【解决方案2】:

    尝试在活动开始时设置断点并使用调试器单步执行代码。这应该可以帮助您确定该调用是否真的是导致崩溃的原因,以及底层异常是什么。

    【讨论】:

      【解决方案3】:

      mm mm 在哪里定义了 UserDictionary?也许你应该只是

      UserDictionary = new UserDictionaryType();
      UserDictionary.Words = new WordsType();
      

      或在类声明下的类中定义休闲:

       static UserDictionaryType UserDictionary;
      

      如果是这种情况,那么您的应用程序崩溃的原因就很明显了……(在内核模式下执行,并且“休斯顿我们遇到了问题”,即使在托管代码的 java 中,您也无法访问未分配内存的指针…… )

      但我还是不熟悉你的代码,告诉我们它在哪里定义,我会尽力为你提供更多帮助......

      EDIT1:即使 API 中存在 UserDictionary,您也没有在其中声明... 你应该声明一些静态 UserDictionary ud = new UserDictionary();

      【讨论】:

        猜你喜欢
        • 2013-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多