gpt4 book ai didi

Java android 应用程序点击按钮时出现致命异常

转载 作者:行者123 更新时间:2023-12-01 11:58:21 26 4
gpt4 key购买 nike

我有一个应用程序,其中有两个文本字段和按钮。它们在 xml 中:

<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="phone"
android:ems="10"
android:id="@+id/editText" android:layout_gravity="center_horizontal" android:phoneNumber="true"
android:hint="Номер телефона"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/editText2" android:password="true" android:hint="Пароль"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Войти"
android:onClick="sendMessage"
android:id="@+id/button" android:layout_gravity="center_horizontal"/>

这里还有 sendMessage 和generateJSON 函数:

public void sendMessage(View view)
{
Intent intent = new Intent(TestActivity.this, RegActivity.class);
startActivity(intent);
String userDataJSON=this.generateJson(this.login.getText().toString(),this.password.getText().toString()) ;
System.out.println(userDataJSON);
}

private String generateJson(String login, String password){
JSONObject j = new JSONObject();
j.put("login",login);
j.put("password",password);
String res=j.toString();
return res;
}

如果我只是输出 this.login.getText().toString()this.password.getText().toString() 它输出很好。但是,如果我尝试在单击时输出 userDataJSON,则会出现如下错误:

01-31 22:19:16.137    2043-2043/com.example.test E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.test, PID: 2043
java.lang.IllegalStateException: Could not execute method of the activity
at android.view.View$1.onClick(View.java:4007)
at android.view.View.performClick(View.java:4756)
at android.view.View$PerformClick.run(View.java:19749)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at android.view.View$1.onClick(View.java:4002)
            at android.view.View.performClick(View.java:4756)
            at android.view.View$PerformClick.run(View.java:19749)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lnet/sf/json/JSONObject;
at com.example.test.TestActivity.generateJson(TestActivity.java:30)
at com.example.test.TestActivity.sendMessage(TestActivity.java:25)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at android.view.View$1.onClick(View.java:4002)
            at android.view.View.performClick(View.java:4756)
            at android.view.View$PerformClick.run(View.java:19749)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.ClassNotFoundException: Didn't find class "net.sf.json.JSONObject" on path: DexPathList[[zip file "/data/app/com.example.test-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
            at com.example.test.TestActivity.generateJson(TestActivity.java:30)
            at com.example.test.TestActivity.sendMessage(TestActivity.java:25)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at android.view.View$1.onClick(View.java:4002)
            at android.view.View.performClick(View.java:4756)
            at android.view.View$PerformClick.run(View.java:19749)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Suppressed: java.lang.ClassNotFoundException: net.sf.json.JSONObject
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 16 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

有什么问题吗?同样在应用程序中也存在这样的错误: App screen那么我的应用程序出了什么问题?一切似乎都是正确的。

最佳答案

您是否进行了所有正确的导入?您在尝试调用 net.sf.json.JSONObject 时收到 ClassNotFoundException

根据 json-lib 主页,您的类路径中至少必须具有以下依赖项:

  • Jakarta 公共(public)语言 2.5
  • Jakarta commons-beanutils 1.8.0
  • Jakarta commons-collections 3.2.1
  • Jakarta 公共(public)日志记录 1.1.1
  • ezmorph 1.0.6

现有一篇文章进一步讨论了此问题:Java runtime ClassNotFoundException

关于Java android 应用程序点击按钮时出现致命异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28254588/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com