Ich schrieb diese Klasse, um Daten aus einer MySQL-Datenbank für mein Android-Projekt zu bekommen, aber jedes Mal, wenn ich die App stürzt, könnte jemand mir sagen, was los ist mein Code. ich bin neu zu diesem so jede Hilfe würde sehr geschätzt werden.versuchen, MySQL von Java zugreifen, aber es funktioniert nicht
Hier ist, was die Fehlermeldung sagte.
04-15 18:46:58.058 15837-15837/com.example.tomb3.data E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.tomb3.data, PID: 15837 java.lang.NoClassDefFoundError: Failed resolution of: Ljunit/runner/Version; at com.example.tomb3.data.mySql.getData(mySql.java:37) at com.example.tomb3.data.MainActivity.onCreate(MainActivity.java:14) at android.app.Activity.performCreate(Activity.java:6237) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.ClassNotFoundException: Didn't find class "junit.runner.Version" on path: DexPathList[[zip file "/data/app/com.example.tomb3.data-1/base.apk"],nativeLibraryDirectories=[/data/app/com.example.tomb3.data-1/lib/x86, /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.tomb3.data.mySql.getData(mySql.java:37) at com.example.tomb3.data.MainActivity.onCreate(MainActivity.java:14) at android.app.Activity.performCreate(Activity.java:6237) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Suppressed: java.lang.ClassNotFoundException: junit.runner.Version 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) ... 15 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
public class mySql {
String url;
String user;
String password;
public mySql(String url, String user, String password){
this.url=url;
this.user=user;
this.password=password;
}
public String getData(String table){
Connection con = null;
Statement st = null;
ResultSet rs = null;
String output="";
try {
con = DriverManager.getConnection(url, user, password);
st = con.createStatement();
rs = st.executeQuery(table);
if (rs.next()) {
output += " " + (rs.getString(1));
}
} catch (SQLException ex) {
Logger lgr = Logger.getLogger(Version.class.getName());
lgr.log(Level.SEVERE, ex.getMessage(), ex);
} finally {
try {
if (rs != null) {
rs.close();
}
if (st != null) {
st.close();
}
if (con != null) {
con.close();
}
} catch (SQLException ex) {
Logger lgr = Logger.getLogger(Version.class.getName());
lgr.log(Level.WARNING, ex.getMessage(), ex);
}
}
return output;
}
}
Bitte geben Sie die Fehlermeldung teilen, Stack-Trace etc. Was hast du das Debuggen versucht? Debugging ist eine der besten Möglichkeiten, eine Sprache zu lernen, es ist Philosophie und Art Dinge zu tun. – MikeC
Post (zur Frage hinzufügen) Ihr Logcat –