Beiträge von nono124

    Hallo


    Ich glaube das du doch noch einige Grundlagen Probleme mit Java hast.


    Das Beispiel soll dir zeigen wie man einen String formatieren kann mit der format Methode.


    Dafür brauchst du kein replace und auch nicht einen neuen String.


    Das von mir war ein Grundlagen Beispiel und nicht die fertige Lösung. Habe dir auch einen Link mitgegeben hoffe du hast ihn auch gelesen.

    Code
    addResult.setText(String.format("%.2f",sum[0]));


    sum[0] ist dein Double Array und kein String



    http://openbook.rheinwerk-verl…sel9/javainsel_04_010.htm

    Ok ja mit der replace-methode ist es auch möglich den String umzuwandeln.



    Nur finde ich es über die Methode von mir sinnvoller, den damit wird auf im Handy eingestellte Sprache auch eingegangen. Bei US würde die Methode auch den Punkt benutzen.




    num1[0] = double.parseDouble(firstNumber.getText().toString().replace(",","."));
    würde in Deutsch ok sein aber in Us nicht .


    Zitat von Xcreen

    Habe dein Code nur mal schnell überflogen und frage mich auch wie jogimuc, warum du Arrays statt normalen Variablen nutzt?


    Das liegt daran das er, die Variablen in der onCrate erstellt also lokal und diese in dem Textwatcher benutzen will. Da schlägt das AS meistens vor. Ich hätte da wohl globale Variablen im Klassen Rumpf benutzt. In seinem Fall ist das so richtig.
    Da double ein primitiver Datentyp ist und als final es nicht gehen würde. Das konnte ich in seinem ersten Post nicht sehen.



    Zitat von Terzel

    Wenn ich final weglasse bekomme ich eine Fehlermeldung. KA warum aber bei der Verwendung der Vara wird sie rot unterstrichen.


    nach deinem letzten Code ist es klar warum, denn du willst im Textwatcher auf die lokalen Variablen zugreifen. Eine primitive double als final ist leider auch nicht möglich. Deshalb ist es richtig ein final Array zu benutzen. Hattest du aber erst nicht verraten.


    Am einfachsten währe globale Klassen Variablen zu benutzen.
    Aber das ist ja nicht das Problem was du hast sondern das du in dem EditText ( String ) das Komma benutzt und nicht den Punkt

    Zitat

    Also prinzipiel kenn ich schon die Datentypen. Aber mit Strings lässt es sich normalerweise nicht rechnen.


    Richtig mit Strings kann man nicht Rechnen. Du wills den String in das Flies Komma Format Double bringen das ist richtig. Aber es ist eben so dass ein Flies Komma einen Punkt und nicht und nicht das Deutsche Komma benutzt. Somit wird beim Parsen des Strings in ein Double ein Fehler geworfen.


    Entweder du benutzt bei der Eingabe im EditText den Punkt und nicht das Komma.


    Oder du musst in den String das Komma selber zb. In den Punkt ersetzen bevor du es Parst. Zb. Durch String Operationen. Das hatte ich dir aber schon gesagt.


    Umwandeln des Strings in etwa so



    also float oder double benutzen einen Punk und kein Komma. Das sind du doch auch deinem Ergebnis. Der edittext ist ja ein String da musst du auch einen Punkt eingeben damit es auch in ein double geparst werden kann.


    Ansonsten musst du vorher den String selber das Komma in den Punkt wandeln. Schaue dir die Datentypen in Java noch mal an.
    Eventuell mit String Operationen. Daten Typen sind immer mit Punkt.



    Zum Thema final würde mich interessieren wie dein Code wirklich aussiehst.
    Warum machst du überhaupt ein Array und nicht einfach eine primitive variable?


    Kann es sein das du mit Java nicht zurecht kommst .
    Also die Grundlagen nicht beherrschst?

    Hallo irgendwie kann ich deinem Aufbau nicht folgen.


    final double[] num1 = new double[1];
    final double[] num2 = new double[1];
    final double[] sum = new double[1];


    Warum machst du ein Array und nicht einfach eine einfache double variable?


    double num1 = 1.00;


    Auch ist es nicht sinnvoll für das Array den final Typ zu benutzen.


    Wo ist eigentlich dein Problem?

    Hallo Willkommen im Forum.


    Wie mein voredner schon sagte sollte das Handy einen USB Otg Port haben.
    Root Rechte sind dafür normalerweise nicht notwendig. Wenn das Handy keinen otg Support hat bleibt eucn nur Bluetooth oder WLAN.


    Auch bei über otg USB kommt es darauf an über welches Protokoll ihr kommuniziert am sinnvollsten ist es wohl rs232 über einen ftdi Adapter zu benutzen.


    Frage wie wollt ihr das anzeigen in der app ?
    Bedenke das es ab Android 8 schwierig geworden ist einen Service im Hintergrund auszuführen.


    https://www.ftdichip.com/Android.htm

    Hallo was mir als erstes in deinem Code auffällt ist das du in der Methode Start, die Methode discoverServices aufrufst, und dort als erstes stopDiscovery.
    Somit beendest du den Service ja auch gleich wieder.


    Auch kann ich kein NsdServiceInfo Objekt erkenn wo du festlegst auf welchen Service du wartest.
    Auch resolvst du den Service nicht wenn ihn onServiceFound gefunden hast. Schaue dir doch mal dein eigenes gefundenes Beispiel genauer an und versuch auch da nachzuvollziehen in welcher Reihenfolge die Methoden aufgerufen werden.


    Ps. Hier noch ein Link
    https://jayrambhia.com/blog/android-wireless-connection-1


    Mir scheint du willst den Code für den Server als Client benutzen.

    hallo ich weiß im Moment auch keinen e andere Möglichkeit. Im Netz steht aber auch das dies keine offizielle Varianten ist und Google das jederzeit ändern kann was sie wohl haben.


    Eine offizielle API haben ich leider auch nicht bei der Hand.


    Hoffe das dir ein anderer helfen kann.

    Hallo
    Frage hast du dich den auch mit dem Drucker verbunden. Wenn du ihn nur gesehen hast. Aber nicht verbunden woher soll denn dann die lost Methode wissen worauf sie reagieren soll. Dann müsste die Methode at alle Geräte die mal sichtbar waren und wieder weg sind reagieren. Dazu müsste sich Android alle Geräte merken das ist schon etwas viel verlangt und du würdest nicht von welchen Gerät die Nachricht kommt.

    Hallo du machst nichts falsch. Seit der Version 3.3. Ist es eben anders es kommt zuerst die Abfrage nach der Activity danach nach dem Namen und der min SDK. Dein Tut scheint noch auf AS 3.2 zu sein.


    Alles gut .



    Zitat

    Was mache ich falsch? Liegt es an der Version. Entfällt das Fenster "Customize the Activity" bei der Version 3.3.1?

    Ab As 3.3 sind die beiden Fenster vertauscht. Zuerst kommt die Abfrage nach der Activity Variante danach der Name usw.


    Du hast keinen Fehler warum das geändert wurde weiß wohl zur Google. :)

    Hallo


    ich gehe mal davon aus das „eingabeText“ und „ausgabeText“ Strings sind.


    Ich denke das „resultat“ auch ein String sein soll.


    Denn du ausgeben willst.


    Was soll eigentlich das „%.2f“ ?


    Du willst aus einer Zahl (float) die dir wahrscheinlich deine Methode „fahrenToCelsius1.convertToCelsius(a)“ Returnt in einen String haben


    Dafür hast du dir format() ausgesucht.


    „%.2f „ ist ein Platzhalter in einem Formatierten String, ist das Gleiche wie bei Java.


    Der gehört in die Format Anweisung und nicht davor.





    val resultat = format(„%.2f“,fahrenToCelsius1.convertToCelsius(a))

    Wenn du aus einem String eine Uri bilden willst dann in etwa so.Dann kannst du auch setImageURI benutzen.


    Code
    String path = "/storage/emulated/0/Download/Park-2.jpg";
    Uri uri = Uri.parse(path);
    iv.setImageURI(uri);

    Auch das gewinnen der URI sceint mir auch nicht richtig zu sein.


    zeige mal Wo,Wie du die Methode getRealPathFromURI aufrufst.



    Du sagst du benutz die Gallery Activity da bekommst du doch in der onActivityResult in dem Data Objekt die Uri zu der Datei. Warum speicherst du nicht diese URI nicht als String in den SharedPref?


    String st = uri.toString(); um aus der Uri einen Sting zu machen. Wozu brauchst du die Absolute Adresse?




    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Uri uri = data.getData();

    Wenn du beide Seiten fest setzt wird das nur gehen wenn der sensor genau 4x3 ist. Das ist aber in den seltensten Fällen so, also wird das Bild verzerrt.


    Du musst dir die längste Seite des Bildes suchen diese auf 768 setzen. Nun musst du den Faktor für die Umrechnung bestimmen und mit diesen die andere Seite bestimmen. Dann solte es auch in deiner


    "new Resolution(width, height);"


    mit einen scale Faktor 1 gehen.


    Wenn du ein genau 768 x 568 haben willst, müsstest du ja intelegent etweder was wegschneiden oder Ränder hinzufügen.