在Android的UserDictionary中添加单词

时间:2010-05-22 16:45:57

标签: android

我想在我的Android手机(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的错误。

在Android API中找到了

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

3 个答案:

答案 0 :(得分:9)

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:-2)

mm mm定义UserDictionary的位置?也许你应该

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

或者在类声明中的类中定义fallowing:

 static UserDictionaryType UserDictionary;

如果是这种情况,很明显为什么你的应用程序崩溃...(在内核模式和“休斯顿我们遇到问题”这样做你无法访问指针,即使在托管代码的java中你也没有分配内存... )

但我又不熟悉你的代码告诉我们它定义的位置,我会尽力帮助你...

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