2016-04-17 10 views
1

Ich habe eine Anwendung mit CodeNameOne über Netbeans entworfen und habe einige Probleme festgestellt, vor allem die Compilierfehler "nicht finden Symbol". Nach weiteren Recherchen fand ich heraus, dass CNO bestimmte Bibliotheken/misc nicht unterstützte.Alternative Methoden in Codenameon

Ich habe mich gefragt, ob es alternative Wege waren die folgenden Bibliotheken verwenden/Aufgaben ausführen:

(Lesen aus Datei) Import java.io.File; Symbol: Klasse Datei Lage: package java.io

(Werfen FileNotFoundException) Import java.io.FileNotFoundException; Symbol: Klasse FileNotFoundException Lage: package java.io

(Lesedaten) import java.util.Scanner; Symbol: Klasse Scanner Lage: Paket java.util

(Math-basierte Funktionen) Symbol: Methode pow (double, int) Lage: Klasse Math

(Create Strings formatiert) Symbol: Verfahren Format (String) Lage: class String

Antwort

1

ich kann nicht sicher sagen, über all die Beispiele, die Sie zur Verfügung gestellt, aber Sie sollten Blick in die CN1 API Javadocs für Informationen prüfen, wie es zu tun „ihren Weg“.

Zum Beispiel, wenn es um File kommt, die Javadocs sagen:

Der Hauptgrund java.io.File & java.io.FileInputStream wurden direkt nicht unterstützt hat viel mit dem zu tun, Reichtum dieser beiden APIs. Sie ermöglichen effektiv das Speichern einer Datei überall, jedoch sind mobile Geräte weitaus restriktiver und erlauben es Apps nicht, Dateien zu sehen/zu ändern, die anderen Apps gehören.

Also, die Antwort auf diese ist, verwenden Sie ihre. Suchen Sie auf ähnliche Weise die CN1 Javadocs, um die geeigneten Methoden zu erlernen, um mithilfe Ihrer APIs das zu tun, was Sie benötigen.

Sie können sich auch auf den Entwickler Guide beziehen, z. Die meisten dateibasierten Operationen sollten entweder durch Storage oder FileSystemStorage durchgeführt werden, die beide here abgedeckt sind. Sie sollten sehr vorsichtig mit Code sein, der java.io.File verwendet, da dies auf Desktop-spezifische Verhaltensweisen beruhen kann.

FileNotFoundException kann mit IOException (es ist eine Unterklasse von IOException sowieso) ersetzt werden.

Es gibt keine direkte Entsprechung zu Scanner, aber es gibt eingebaute Parser für JSON, XML, CSV & Eigenschaften.

Einige der mathematischen Funktionen sind in MathUtil, die Math.pow(double, double) enthält.

Es gibt keine Entsprechung zur format()-Methode von Java SE. Sie müssten stattdessen Strings verketten.

Beachten Sie, dass, wenn Sie einige Code als Frage stellen wir manchmal mit dem Codename One gleichwertig helfen können.

+0

Die Antwort zu den einzelnen Einträgen wurde um spezifische Details ergänzt –

+1

@ShaiAlmog, nice edit; Vielen Dank! – ChiefTwoPencils

Verwandte Themen