Beiträge von nono124

    Hallo


    Warum machst du das so umständlich mit mehreren Datenbank Dateien?



    Ich würde eine DB erstellen mit mehrerenTabellen und die untereinander in Beziehung setzen.


    Somit hast du auch alle Vorteile die eine DB bietet. Ich würde dir vorschlagen dich erstmal etwas mit Datenbanken und ein bisschen SQL zu beschäftigen.


    Denn das Herzstück ist deine Db und die ListView dient dabei hauptsächlich zum Anzeigen.


    Du machst somit eine Abfrage an die Db und bekommt genau die Daten im Cursor die du anzeigen willst.

    Hallo @SteLAN willkommen im Forum.



    Das diene App sofort abstürzt liegt daran das du In Zeile 22 u 23 im Klassenrumpf zwei Variablen erstellst,
    und auch gleich durch einen Methoden aufruf Initialisieren willst.


    Das geht im Klassenrumpf nicht.
    Im KlassenRumf können keine Methoden aufgerufen werden.


    Definieren ja das setzen der Variable solltest du in der onCreate machen.



    String UsernameExist = getString(R.string.UsernameExist);


    String Success = getString(R.string.Success);



    Habe deinen Code geändert zu mindestens sollte er jetzt starten.



    Bin mir aber nicht sicher ob deine app auch so läuft wie du es erwartest.


    Denn der Lintner wird ja nur aufgerufen wenn sich in der DB etwas ändert sonst nicht.
    somit dürfte nichts mit der DB pasieren.

    Hallo mit der Chinaversion habe ich mich etwas gerirrt. Das war für eine Wear mit API 28. Habe es im Studio nochmal nach gesehen.


    Ich denke auch bei anderen Emulatoren ist das das selbe. Alle Emulatoren bilden ein eigenes Handy nach. Und genau für dieses Simulierte Handy erstellt der Herstelle des Emulator eine Rom. Da wirst du nie eine komplett andere Hersteller Rom drauf bekommen.



    Auch wenn der Hersteller des Emulator ein Samsung anbietet ist es nur in den ich sage mal äußeren Eigenschaften dem Samsung gleich . Ram, Display, Hardware Button. …
    Intern ist es immer das gleiche. Denn du hast nie die gleiche CPU, GPU …
    Das wirst du nicht hin bekommen.
    Es ist und bleibt immer eine Simulation und die ist nie so wie das Original.

    aber dein temp ist immer noch final und lokal wird wohl somit nicht im Thread und somit in der chat Methode ankommen. prüfe das mit einen LOG


    auch der aufruf der chat in zeile 59 hilft da nicht ist fralsch .
    mache es so wie ich gesagt habe global im Klassenrupf und ohne final
    das chat muss wieder in den Thread.
    denn zu dem zeitpunkt sind deine "in" u "out" Reader noch nicht gesetzt.

    ja da haben wir es doch.


    in der chat Metode willst du eine Ausgabe auf den Bildschirm machen das geht in einem Thread nicht . im Thread kein zugriff auf View Elemente.


    zeile 163
    Answer.setText("SERVER SAID: "+line);

    so nun zeige noch m deinen code
    die metoden printSocketInfo u printServerCertificate werden eigentlich ausgeführt .
    ob die chat ausgefürt wird kann ich nicht sehen da du da keine logs hast bzw haste sie auskommentiert.
    du musst nach dem Tread noch irgent etwas machen was zum absturtz fürt was du uns noch nicht gezeigt hast.
    auch gibt es am anfang ein paar probleme mit einer Lib libEGL

    Wecher fehler kommt denn ?
    zeige mal dein LogCat.


    teste mit dem debugger wo es abstürtzt.
    was mir noch komisch vorkommt ist in deiner printServerCertificate Methode.
    und zwas das "System.out.println();"
    erstens was soll das ?
    zweitens bist du in einem Thread und da kannst du keine ausgaben auf die UI machen,
    ist zwar auf die Console binn mir da arber auch nicht sicher


    auch das ist eigentlich sinnlos


    if (temp == null){
    }


    Ps. Ok die neue zuweisung für dein temp hast du weggelassen weil du den string final hast und somit keine zweite zuweisung machen kanst.
    lasse das final weg.
    und auserdem wird die Variable temp nicht in den Thread vorhanden, sichtbar sein das ist ein neuer Block und Methode.
    mache sie auch Global wie deine "ip" Variable.

    Hallo das v ist eine View und die beinhaltet nicht deine Resourcen.



    InputStream keyin = v.getResources().openRawResource(R.raw.neuserverkeypem);


    etweder
    InputStream keyin = this.getResources().openRawResource(R.raw.neuserverkeypem);
    oder
    InputStream keyin = getampplicationcontext().getResources().openRawResource(R.raw.neuserverkeypem);
    müsstes es denke ich heissen den du bist ja imThread.
    ansonsten mus das v natürlich bleiben.


    Ps. das ist auch falsch
    der erste Parameter muss auch der context sein


    Toast.makeText(getampplicationcontext(), "Bitte IP und Port eingeben", Toast.LENGTH_LONG).show();

    Hallo
    Erstmal eins du kannst nicht innerhalb einer Methode eine neue Methode machen.
    Das heißt du bist noch in der onCreate und erstellst eine neu Methode das geht nicht.
    Außerdem wo hast du den denn Button erstellt den du benutzen willst um die playSound(View v) aufzurufen . auch wenn du im XML die Eigenschaft „onClick“ benutzt musst du den Button in der onCrate bekannt machen mit findViewById.

    Zitat

    Also ich lese die Antwort auf die Frage die hier im SO gestellt wurde genau so wie ich es auch gesagt habe. Der emulator stellt ein Android Handy dar und für dieses ist ein Image erstellt worden. So wie für jedes Handy eine genau passende rom erstellt wird.


    Selbst wenn Teile von der Rom gehen sollten oder du zum laufen bekommst.
    Was bringt es dir, es ist doch nicht das original. Sicher kannst du dir dann doch nicht sein. l