Beiträge von dereulenspiegel

    Hallo zusammen,


    da ich mir nach meinem SGS3 auch ein Nexus 7 geleistet habe, brauchte ich eine einfache Möglichkeit zum Tethern. Da ich gerne meine WLAN-Passwörter regelmäßig ändere, sollten auch die Einstellungen automatisch übertragen werden. Daher begann ich eine App zu schreiben, die das Tethering auf meinem S3 aktivieren kann und die nötigen Einstellungen an das Nexus 7 sendet (oder andere NFC-fähige Android-Geräte). Zusätzlich kann man WLAN-Konfigurationen auch auf NFC-Tags ablegen um seinen Gästen z.B. den Zugang zum Gäste-WLAN zu vereinfachen.
    Die App (rilato) findet ihr hier im PlayStore. Sie ist kostenlos und ohne Werbung. Aber Achtung, die WLAN-Config liegt unverschlüsselt auf den Tags. Eine Verschlüsselung kommt vielleicht später,

    Guck mal nach Tesseract. Das ist eine OpenSource C-Lib, die recht gute Ergebnisse liefert. Man bekommt die auch unter Android zum laufen, ist aber etwas tricky. Unter Windows ging es bei mir gar nicht, unter Ubuntu ging es aber recht gut (also das Bauen der Lib). Man merkt aber schon, dass der Code teils aus den 80ern stammt. Du musst zum Beispiel beim Setzen der Sprachbibliothek auf die Länge des Pfades achten (also das Verwenden von Best Practices für Dateien unter Android einfach mal ignorieren).

    Also UDP ist generell eher eine schlechte Idee für so etwas. Zum einen hast du nur eine best-effort-delivery. Zum anderen musst du bedenken, dass Provider auch bei UMTS häufig NAT einsetzen, was eine direkte Verbindung erschwert. TCP ist hier besser.
    Du könntest jetzt auf TCP-Basis natürlich ein komplett eigenes Protokoll bauen. Aber du könntest z.B. auch XMPP nutzen und auf einfach mit eigenen Paketerweiterungen deine Daten verschicken. Das schöne ist, dass die ganzen grundlegenden Probleme (Verbindungsmanagement etc.) bereits fertig implementiert sind. Außerdem hast du so eine einfach zu erweiternde Grundlage.

    Falls OrmLite zu mächtig ist, kann ich auch sehr Sugar empfehlen (https://github.com/satyan/sugar). Kann zwar Relationen nicht vollständig darstellen (glaube zumindest, dass n-zu-m nicht geht und auch nur 1-n, 1-1 aktuell halbwegs funktionieren), aber ist einfach zu benutzen. Performancemäßig ist es natürlich eher so mittelgut, da es auf Reflection basiert. Aber OrmLite scheint auch auf Reflection und Annotation-Processing zu setzen.