Mit Button Klick in MYSQL Datenbank schreiben (ohne PHP)

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Mit Button Klick in MYSQL Datenbank schreiben (ohne PHP)

    Hallo,
    ich möchte eine App schreiben, mit der ich ohne PHP durch einen Klick eine Variable in eine Datenbank schreiben kann. (Es handelt sich um ein Hausautomationsprojekt)

    Meine mainActivity sieht wie folgt aus:

    XML-Quellcode: MainActivity.xml

    1. <Button
    2. android:id="@+id/button2"
    3. android:layout_width="wrap_content"
    4. android:layout_height="wrap_content"
    5. android:layout_alignParentBottom="true"
    6. android:layout_alignParentStart="true"
    7. android:layout_marginBottom="98dp"
    8. android:layout_marginStart="126dp"
    9. android:text="Verbinden"
    10. android:layout_alignParentLeft="true"
    11. android:layout_marginLeft="126dp"
    12. android:onClick="btnStart_onClick"/>
    Alles anzeigen
    In einer Class möchte ich auf den Button2 zugreifen und eine Eintragung in meine MYSQL Datenbank eintragen (in dem Fall "x"):
    EDIT: Der Button ist in einer seperaten Klasse und nicht in der MainActivity.

    Java-Quellcode: SQL-Eintrag

    1. package de.SaschaAndroid.HomeAutomationProject;
    2. import android.annotation.TargetApi;
    3. import android.os.Build;
    4. import android.os.Bundle;
    5. import android.support.v7.app.AppCompatActivity;
    6. import android.view.View;
    7. import android.widget.Button;
    8. import java.sql.Connection;
    9. import java.sql.DriverManager;
    10. import java.sql.SQLException;
    11. import java.sql.Statement;
    12. @TargetApi(Build.VERSION_CODES.KITKAT)
    13. public class Connection_New extends AppCompatActivity {
    14. String StatusX = "x";
    15. public void btnStart_onClick(View view) {
    16. public void main(String args[]) {
    17. String jdbcUrl = "jdbc:mysql://132.123.123.2:3306/homeautomation";
    18. String username = "MeinUsername";
    19. String password = "MeinPSW";
    20. String sql = "UPDATE `Tabelle` SET `Lampe_1` = '" + StatusX + "' WHERE `Tabelle`.`ID` = 14";
    21. System.out.println("Zurück gegebener Wert ist: " + StatusX);
    22. try (Connection conn = DriverManager.getConnection(jdbcUrl, username, password);
    23. Statement stmt = conn.createStatement();) {
    24. stmt.executeUpdate(sql);
    25. System.out.println("Database updated successfully ");
    26. } catch (SQLException e) {
    27. e.printStackTrace();
    28. }
    29. }
    30. });
    31. }
    Alles anzeigen
    Der Herr Compiler meckert bei der Main-Methode:

    "public void main(String args[])"args" möchte er als Variable haben - es ist aber eig. ein Arrey für die Strings jdbcUrl, ...liegt das an den Klassen?Bei der XML meckert er, dass er den Method-Handler nicht gefunden hat. Deklariere ich etwas falsch?Vielen Dank für eure Hilfe. Manchmal liegt es ja an irgend einem kleinen Denkfehler - so hoffe ich auf euch. :P

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von SaschaAndroid ()

  • Hallo willommen im Forum.

    Als erstes eine Main Methode wie in Java gibt es in Android nicht. Schaue dir an wie in Android eine activity aussehen hat.
    Der Einstieg eigentlich die onCreate.

    Auserdem glaube ich nicht das dein Vorhaben in die MySQL zuschreiben ohne php geht.

    Ob der Verbindungs aufbau so klapp wie in deinen Code? Glaube eher nein.
    Ein Feedback auf Tipps ist auch schön. :P
  • Technisch geht das, wenn das Android Gerät auf den MySQL Port des Servers direkt zugreifen kann, aber ob das die richtige Lösung für das Problem ist wage ich zu bezweifeln. Außerdem muss auf jeden Fall der JDBC MySQL Treiber in der App exiistieren. Das geht bestimmt, aber keine Ahnung wie das im Detail funktioniert schließlich kommt da ja einiges an Reflection Kram zum Einsatz, der die Jar Files bestimmt nicht da findet wo er sie erwartet ....