Hallo zeige mal etwas genauer was du willst.
Vor allen zeige mal dein Layout als XML Datei.
Wichtig scheint mir hier das Margin zu sein was du gesetzt hast.
Hallo zeige mal etwas genauer was du willst.
Vor allen zeige mal dein Layout als XML Datei.
Wichtig scheint mir hier das Margin zu sein was du gesetzt hast.
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.
sum[0] ist dein Double Array und kein String
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 XcreenHabe 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 TerzelWenn 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
ZitatAlso 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
public double parseDecimal(String input) throws ParseException {
NumberFormat numberFormat = NumberFormat.getNumberInstance(Locale.getDefault());
ParsePosition parsePosition = new ParsePosition(0);
Number number = numberFormat.parse(input, parsePosition);
if(parsePosition.getIndex() != input.length()) {
throw new ParseException("Invalid input", parsePosition.getIndex());
}
return number.doubleValue();
}
Alles anzeigen
hallo
Ein Runnabel ist ein Interface was du importieren kannst.
Ein Thread ist eine Klasse.
Das es in Java keine Mehefachvererbung gibt hast du auch die Möglichkeit ein Runable als Interfaces zu benutzen.
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.
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 .
ZitatWas 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.
@whitenexx besser wäre gewesen nicht nur ein Sub Forum unter "Android Language /Java" zu erstellen.
Sondern Besser ein Forum "Android Language/Kotlin"
Dies würde auch besser gefunden werden.
Als ein Kotlin Forum unter Java ist irgendwie widersinnig.
Danke für den Hinweis! Hab's wohl nicht so direkt gesehen. Ist halt ein bissl versteckt....
Ja da gebe ich dir Recht hätte man besser machen können.
@rapier64 Wenn du es noch nicht bemerkt hast wir haben es bereits.
Siehe Post 7
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.
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();
Hallo.
Ohne mir jetzt deinen Code genau angesehen Zu haben. Eine Frage.
Hast du die Permission auch zur Laufzeit beim User erfragt? Ab API 23 reicht es nicht mehr nur die Permission im Manifest zu setzen.
Das könnte auch der Grund sein warum dein Bitmap null ist. Für eine genauere Analyse wwäre das Logcat sinnvoll.
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.