Beiträge von Xcreen

    Das ist nicht ganz richtig. Man kann durchaus neue Main-Methoden erstellen und unter Android-Studio starten, sie laufen dann halt aber nur Lokal auf dem PC.
    Sobald die App gebaut wird, wird natürlich die Activity benutzt die im Manifest hinterlegt ist.


    Also auf den grünen Play-Button neben der Main-Methode sollte er klicken können und auch die App ganz normal starten (dabei wir dann allerdings nicht sein code aufgeführt)

    Im Thread wird noch auf v zugegriffen. Das darf dann natürlich nicht mehr bzw. man muss den Teil auslagern. Da habe ich auf der schnelle nicht drauf geachtet.
    Dann sollte das auch passen :)
    Bei dem Input- und OutputStreamReader kannst du noch ein Charset angeben (z.B UTF-8)https://docs.oracle.com/javase…io/InputStreamReader.html
    Dann musst du Server-seitig das Encoding natürlich auch auf UTF-8 stellen.
    Bei den Rest kann ich dir leider nicht großartig,da ich kein C++ kann :/

    Die android.os.NetworkOnMainThreadException sagt aus, dass du versuchst auf den Main-Thread Netzwerk Operationen auszuführen, was nicht erlaubt ist.
    Startet einfach die Netzwerk-Operationen in einen neuen Thread.
    So in etwa sollte es gehen, aber kann es aber gerade nicht testen, eventuell musst du da noch paar Sachen anpassen.

    Genau da das Zertifikat nicht aus einer offizellen CA kommt, musst du es installieren bzw den TrustStore ausschalten/ignorieren.
    Die Verbindung solltest du via der SSLSocket-Klasse hinbekommen.


    @jogimuc den Text muss man nicht extra nochmal selber verschlüsseln, das übernimmt der SSLSocket mit hilfe des Zertifkates und des Handshakes.
    Sobald der Nachbar selber eine Verbindung aufbaut, muss er auch einen Handshake machen und kann somit das alte(gesniffte) Paket nicht mehr nutzen.


    Wie Mindfreak, das schon vor hat ist es richtig.
    C++ kann ich leider nicht, da gehe ich jetzt einfach mal von aus, das alles passt.


    Mein Vorschlag für solche Projekte wäre übrigens den Server in Java mit der Jetty-Library zu schreiben. Dann hast du einen kleine Http-Server und kannst mithilfe von Servlets deinen Code schreiben. Dann kannst du den Server mit SSL ausstatten und ganz einfach via HTTP-Client Librarys (z.B. Okhttp) deine Requests machen.


    Wie gesagt sollte es mit der SSLSocket-Klasse eigentlich kein Problem sein.
    Falls du da noch Fehler oder Hilfe brauchst, kannst dich ja melden :)

    Funktioniert die Verbindung denn schon ohne SSL?
    Wenn ja, ist SSL korrekt auf dem C++ Server installiert?
    Welche Java-Klasse/Library benutzt du für deine Verbindung?


    Auf der Java/Client-Seite kannst du eigentlich die SSL-Socket Klasse benutzen und dann connecten.
    Eventuell (je nachdem wie das Zertifikat erstellt wurde) musst du das Zertifikat noch installieren (die .key datei, mit dem Private key) oder halt den TrustStore ignorieren.


    Ein paar mehr Infos oder Fehlermeldungen wären gut :)


    Ggfs. kann ich heute abend per Teamviewer/TS helfen.

    Wenn ich das richtig von jogimuc verstanden habe, sollst du (was ich auch immer mache) in der onCreate schon das passende Fragment setzten. (Aber keine Ahnung ob das das Überlappen verhindert. Ich hatte selber damit nie Probleme)
    Also quasi:

    Genau via getExternalFilesDir(null) bekommst du alle externen Speicherpfade. (extern muss nicht immer sd-card sein).
    Da du als Parameter null angibst bekommst du den Pfad: storage/xxx/Android/de.abc.try.../files/ zurück.
    Das zweite Array-Element (falls vorhanden) ist meistens die SD-Card.


    Ich habe deinen Code mit Kommentaren mal angepasst.
    Am besten mal in Ruhe anschauen, im Logcat schauen und auch mal den Device File Explorer von Android-Studio benutzen. Dann brauchst du keine extra Dateimanager-App auf dem Handy.

    Von Grund auf musst du es nicht neu machen.
    Viele Java-Klasse/Librarys sind direkt kompatible und die eigentliche Logik kannst du so übernehmen, lediglich die UI-Kompontent und die Activitys musst du entsprechend umbauen. (bzw. eine ganz neue UI bauen)
    Je nachdem wie gut du deine Business-Logik von deiner UI/den Activitys getrennt hast, ist es aufwendiger oder halt auch nicht. Es hängt natürlich auch davon ab wie komplex deine UI gebaut ist und wie viel eigene Android-Funktionen du benutzt hast, die du eventuell dann umbauen oder ausbauen musst (bzw. Kontakte auslesen / Geo-Location etc.)


    Ich kenne deine App natürlich nicht, aber wenn du nur Daten aus der Datenbank ausliest und darstellst, sollte es nicht schwer sein das für windows/linux/mac zu portieren.

    Falls du es wirklich nicht hinbekommst, hier die Lösung:
    Allerdings solltest du dir wirklich nochmal die Java-Basics zu Herzen nehmen und nochmal lernen richtig zu debuggen.
    Denn mit Typen (Strings, Int etc.) und Methoden (Rückgabe-Werte/Parameter) richtig um zu gehen, sind komplette Basics und das sollte man schon als Vorraussetzung für Android-Programmierung nehmen.
    Am besten nochmal Basic Java Tutorials anschauen. (Ich kann da zum Beispiel Video2Brain sehr empfehlen ! )


    Das liegt wahrscheinlich daran, das aroma_in_prozent oder menge_in_ml zu dem Zeitpunkt der ersten Verschiebung noch keinen Wert haben. (Der Standardwert fehlt hier. Dafür könntest du mal debuggen und schauen wie die Werte aussehen, wenn die Methode aufgerufen wird.)
    Alternativ kannst du die Werte statt zu speichern auch direkt auslesen (int value = seekBar.getProgress();).
    Zudem solltest du double statt int benutzen, da du als Ergebnis sonst nur gerundete Werte (die dann leicht abweichen) bekommst.
    Außerdem ist dein Parameter "int progress" im Moment über.