我想在我的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 Dictionary。 addWord是一种静态方法。我没有声明UserDictionary,因为我只使用一个静态方法。自从我用Java开发任何东西以来,这已经很久了,这是我在任何移动开发中的第一次尝试,所以我不知道我做错了什么。
答案 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();