G
GermanDev
Neues Mitglied
- 0
Guten Tag,
ich programmiere gerade mithilfe des Android Studios eine Android App, ich muss zugeben das dies meine erste App ist mit Android zuvor habe ich immer nur Java programmiert. Ich möchte eine art Forumapp programmieren. Ich komme mit dem programmieren sehr gut klar. Ich möchte die Daten in einer MySQL Datenbank abspeichern, da ich in java immer damit programmiert habe, wenn ich mich nun zur Datenbank verbinden möchte über meine App funktioniert dies aber nicht, da dieser Fehler kommt:
Ich habe exakt die gleiche MySQL Klasse genommen, wie ich sie früher verwendet habe für ein Java Programm, dort hat sich die verbindung hergestellt, hier funktioniert es aber nicht.
MainActivity
Passwort etz. ist auch richtig.
Mich würde es freuen wenn mir jemand von euch mir sagen kann was ich beachten muss oder was ich falsch gemacht habe
Mit freundlichen Grüßen
Fabi | GermanDev
ich programmiere gerade mithilfe des Android Studios eine Android App, ich muss zugeben das dies meine erste App ist mit Android zuvor habe ich immer nur Java programmiert. Ich möchte eine art Forumapp programmieren. Ich komme mit dem programmieren sehr gut klar. Ich möchte die Daten in einer MySQL Datenbank abspeichern, da ich in java immer damit programmiert habe, wenn ich mich nun zur Datenbank verbinden möchte über meine App funktioniert dies aber nicht, da dieser Fehler kommt:
Code:
W/System.err: java.sql.SQLException: No suitable driver
W/System.err: at java.sql.DriverManager.getConnection(DriverManager.java:186)
W/System.err: at java.sql.DriverManager.getConnection(DriverManager.java:213)
W/System.err: at mysql.germandev.de.ultimate_stupedia.MySQL.connect(MySQL.java:34)
W/System.err: at mysql.germandev.de.ultimate_stupedia.MySQL.<init>(MySQL.java:21)
W/System.err: at germandev.de.ultimate_stupedia.MainActivity.onCreate(MainActivity.java:30)
W/System.err: at android.app.Activity.performCreate(Activity.java:5458)
W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
W/System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2376)
W/System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2470)
W/System.err: at android.app.ActivityThread.access$900(ActivityThread.java:174)
W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1307)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err: at android.os.Looper.loop(Looper.java:146)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5593)
W/System.err: at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err: at java.lang.reflect.Method.invoke(Method.java:515)
W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
W/System.err: at dalvik.system.NativeStart.main(Native Method)
I/System.out: [MySQL] Verbinden fehlgeschlagen!
Ich habe exakt die gleiche MySQL Klasse genommen, wie ich sie früher verwendet habe für ein Java Programm, dort hat sich die verbindung hergestellt, hier funktioniert es aber nicht.
Code:
package mysql.germandev.de.ultimate_stupedia;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import butterknife.ButterKnife;
public class MySQL {
private String host = "privat";
private String database = "privat;
private String user = "privat";
private String password = "privat";
private Connection con;
public MySQL() {
connect();
}
public MySQL(String host, String database, String user) {
this.host = host;
this.database = database;
this.user = user;
connect();
}
public void connect() {
try {
con = DriverManager.getConnection("jdbc:mysql://" + host + ":3306/" + database + "?autoReconnect=true", user, password);
System.out.println("[MySQL] Erfolgreich verbunden.");
} catch (SQLException ex) {
ex.printStackTrace();
System.out.println("[MySQL] Verbinden fehlgeschlagen!");
}
}
public void close() {
try {
if(con != null) {
con.close();
}
} catch(SQLException ex) {
ex.printStackTrace();
}
}
public ResultSet query(String qry) {
ResultSet rs = null;
try {
Statement st = con.createStatement();
rs = st.executeQuery(qry);
} catch(SQLException ex) {
connect();
ex.printStackTrace();
}
return rs;
}
public void update(String qry) {
try {
Statement st = con.createStatement();
st.executeUpdate(qry);
st.close();
} catch(SQLException ex) {
connect();
ex.printStackTrace();
}
}
public Connection getConnection(){
return con;
}
}
MainActivity
Code:
package germandev.de.ultimate_stupedia;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import butterknife.ButterKnife;
import butterknife.OnClick;
import mysql.germandev.de.ultimate_stupedia.MySQL;
import static germandev.de.ultimate_stupedia.R.layout.activity_kategories;
public class MainActivity extends AppCompatActivity {
public static boolean connected;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
TextView view = (TextView) findViewById(R.id.main_connect);
new MySQL();
if(connected == false) {
view.setText("Keine Internetverbindung");
} else {
view.setCursorVisible(false);
}
}
@OnClick(R.id.main_kategories)
void klickKategories() {
setContentView(activity_kategories);
}
}
Passwort etz. ist auch richtig.
Mich würde es freuen wenn mir jemand von euch mir sagen kann was ich beachten muss oder was ich falsch gemacht habe
Mit freundlichen Grüßen
Fabi | GermanDev