2017-02-21 2 views
1

Ich überlege, mit Codename One zu versuchen, meinen Code in iOS zu nutzen, aber es ist nicht klar, ich kann sogar mein aktuelles Android-Projekt in Codename One schreiben.Codename One SMS BroadcastReceiver und Service

Meine App wartet auf Eingaben über GoogleCloudMessaging, SMS über einen BroadcastReceiver und über LAN, indem ein Dienst implementiert wird (android.app.Service.) Er schreibt auch mit der CloudRail-Bibliothek von Drittanbietern in Dropbox.

Wenn ich die Dokumente verstanden habe, wird keiner von diesen ohne weiteres von Codename One unterstützt, richtig? Ist meine App zu plattformspezifisch, um auf Codename One portierbar zu sein?

+0

Da dies plattformspezifisch ist, können Sie es über das Native Interface erreichen. Wie für die DropBox gibt es ein SDK für dieses ... https://github.com/chen-fishbein/dropbox-codenameone-sdk – Diamond

+0

Mein Verständnis ist, dass die Chen-Fishbein-Bibliothek nicht in drei Jahren nur berührt wurde handhabt das veraltete OAUTH1 und schreibt nicht in die Dropbox. Kann die native Schnittstelle die Servicefunktionalität verwenden, die Aufrufe in den Codename One-Code zurückführt? – TCat

+0

Ja, sollte es können. – Diamond

Antwort

0

Sie können Push-Nachrichten in Codename One erhalten, aber GCM ist wahrscheinlich nicht die richtige Lösung für iOS, also würden Sie sie über APNS erhalten und das geht durch unsere Server, um die OS Unterschiede zu abstrahieren.

Ich bin mir nicht sicher, was du mit "lan" meinst du meinst du UDP Broadcasts zu hören? Wir unterstützen TCP-Sockets, sind aber nie in den UDP-Teil gekommen, da es nicht so häufig oder portierbar ist (es gibt einige Komplexitäten bezüglich Posix-Calls auf niedriger Ebene). Sie können wahrscheinlich eine Abstraktion machen, indem Sie die von Steve Hannah geschriebene cn1lib für tcp-Sockets nehmen und diese als Ausgangspunkt verwenden.

Wir haben Dropbox Leseunterstützung aber nicht Dropbox schreiben, dies sollte machbar sein.

Hintergrunddienste gibt es auf anderen Plattformen als Android nicht, und da Sie sich wahrscheinlich bewusst sind, werden mit neueren Android-Versionen Verhaltensänderungen vorgenommen, um die Akkulaufzeit zu erhalten.

Wenn etwas auf iOS möglich ist, können Sie es wahrscheinlich auf Codename One erreichen, aber wenn Ihre App wirklich niedriges Niveau hat, dann ist Codename One wahrscheinlich nicht die ideale Lösung.

+0

Danke. Ich denke nicht an die App als "wirklich niedriges Niveau", aber es ist nicht nur eine Javascript-Webseite. Es dient im Wesentlichen als ein Empfänger von verschiedenen Arten von Nachrichten, einschließlich als fast ein Webserver, sowie das Schreiben in DropBox, mithilfe von Sprachsynthese und der Kamera. Wie "Low-Level" ist "wirklich niedrigen Pegel"? – TCat

+0

Wir haben keine Abstraktionen für ziemlich viele dieser Dinge out of the box. Zum Beispiel verwenden wir Sprachsynthese in der Dr.Sbaitso Demo und wir tun es über native Schnittstellen, da wir dafür nie eine Abstraktion erstellt haben. Sie können also all die Dinge tun, die Sie erwähnt haben, aber die Frage ist, welches Verhältnis Code Native Code/Codename One hätte. Es ist wirklich schwer für mich zu sagen, dass unsere Abstraktionen hauptsächlich auf "typische Business-Apps" abzielen, was ziemlich vage ist und im Allgemeinen bedeutet: "Nutzer beschweren sich, dass Funktionalität X fehlt, also fügen wir sie hinzu." Ich denke, wir haben nicht genug Nutzer mit Ihren Anwendungsfällen ... –