Artikel zum Thema ‘J2ME’

Auf dieser Seite werden alle Artikel, die sich um das Thema ‘J2ME’ drehen, aufgelistet:

CDLC – Fehlerbehandlung, Reflection, Classloader & Threads

Ab Version 1.1 ist dieser Mangel behoben, da moderne Handys mittlerweile meist eine FPU (Floatingpoint Processing Unit) besitzen. Für Programmierer, die Gleitkommazahlen unter CLDC 1.0 verwenden wollen, existiert ein frei erhältliches Package namens MathFP, welches die Gleitkomma-Arithmetik auf Integer-Zahlen abbildet. (more…)

// CDLC – Fehlerbehandlung, Reflection, Classloader & Threads

Unterschiede zwischen “normalem” Java und der Microedition – Teil 2

Einige Klassen und Interfaces der CLDC sind in J2SE nicht enthalten und benutzen deshalb den Namensraum javax.microedition.* (z. B. .io, .lcdui, .media, .midlet, .pki, .rms).

Daneben existiert mit der Connected Device Configuration ( CDC ) eine Variante für Nicht-PC-Geräte, welche eine vollständige JVM unterstützen können beispielsweise Settop-Boxen für Digital-TV oder einfache Netzcomputer. (more…)

// Unterschiede zwischen “normalem” Java und der Microedition – Teil 2

Pakete der J2ME

Zum einen hat sich die Zahl der Klassen im Vergleich zur Java Standard Edition reduziert. Von den bekannten Paketen sind nur java.lang, java.io und java.util übrig geblieben – zum anderen (more…)

// Pakete der J2ME

J2ME Hacks und Sicherheitslücken

Die KVM prüft lediglich ob die Klassen vorschriftsgemäß verifiziert wurden, die rechenaufwändige Überprüfung des Bytecodes wird somit eingespart. (more…)

// J2ME Hacks und Sicherheitslücken

Was ist J2ME?

Java 2 Platform, Micro Edition, abgekürzt J2ME, ist eine Umsetzung der Programmiersprache Java für mobile Endgeräte wie etwa Mobiltelefone oder Personal Digital Assistants ( PDA ).Auf der weltweit größten Java-Entwicklerkonferenz, der (more…)

// Was ist J2ME?

Einschränkungen J2ME

Um die Einschränkungen, der die J2ME unterlegen ist, zu verdeutlichen:

Während J2SE in der Version 1.4 aus 2723 Klassen in 135 Packages besteht, kommen (more…)

// Einschränkungen J2ME

J2ME Fazit, Ausblick und Entwicklung

4. Fazit und Ausblick

Das Fazit dieser Diplomarbeit ist zweigeteilt. Auf der einen Seite bietet die Java 2 Micro Edition den Entwicklern beeindruckende Möglichkeiten um Ihre Ideen auf mobilen Endgeräten umzusetzen. Für erfahrene Java-Entwickler bereitet der Umstieg auf die Micro Edition kaum Probleme, auch wenn einige Einschränkungen zu beachten sind und auf viele Funktionen der Standard Edition verzichtet werden muss. (more…)

// J2ME Fazit, Ausblick und Entwicklung

J2ME Datenübertragung via Bluetooth

Beim S 65 fiel schon sehr bald die geringe Übertragungsgeschwindigkeit via Bluetooth auf, während das Nokia 6230 bei der Übertragung von Dateien vom Mobiltelefon auf den Desktop-Rechner knapp 70 KB pro Sekunde erreicht, sind es beim Siemens S 65 nur 7 KB pro Sekunde. Auf Nachfrage erklärte ein Mitarbeiter der technischen Hotline von Siemens, (more…)

// J2ME Datenübertragung via Bluetooth

J2ME Bugs Siemens S65

3.4.2.2 Siemens S65

Das etwa ein halbes Jahr jüngere Siemens S65 implementiert die wesentlichen Teile der MMAPI, die zur sinnvollen Nutzung der Applikation nötig sind, wenn auch mit Einschränkungen. Es ist möglich Fotos über die interne Kamera aufzunehmen, diese lassen sich jedoch nur im JPEG – Format aufzeichnen und nicht, wie von SUN vorgesehen, im PNG – Format. Hier sind Inkompatibilitäten mit den Geräten anderer Hersteller zu befürchten. (more…)

// J2ME Bugs Siemens S65

Nokia 6230 Bugs J2ME

3.4.2.1 Nokia 6230

Das Nokia 6230 zeigt den schwerwiegendsten Bug relativ schnell. Wenn man versucht ein Foto der eigenen Person zu machen stürzt das Programm sofort mit einer ClassCastException ab. (more…)

// Nokia 6230 Bugs J2ME

J2ME Bugs und Abweichungen vom Standard

Beim Testen der Applikation zeigten sich einige Abweichungen vom Standard, fehlende Features oder Bugs in der Firmware der Endgeräte, welche in diesem Kapitel beschrieben werden. Sofern möglich werden Workarounds oder Alternativen beschrieben, um den Einsatz der Applikation auf dem Endgerät zu ermöglichen. (more…)

// J2ME Bugs und Abweichungen vom Standard

J2ME Siemens S65 Kurzvorstellung

3.4.1.2 Kurzvorstellung des Siemens S65

Das im dritten Quartal 2004 erschienene Siemens S65 ist mit 109 x 48 x 18 mm nur minimal größer als das Nokia 6230 und wiegt mit 98 Gramm etwa gleich viel. Das Display stellt ebenfalls 16 bit Farbtiefe dar und bietet mit 132 x 176 Pixel eine etwas höhere Auflösung, jedoch ist das Display von den Abmessungen her wesentlich größer. Die interne 1,3 Megapixel-Kamera hat eine maximale Auflösung von 1280 x 960 Pixel, jedoch leidet die Bildqualität an der geringen Objektivgröße, ist aber dennoch brauchbar. (more…)

// J2ME Siemens S65 Kurzvorstellung

J2ME Nokia 6230 Kurzvorstellung

3.4.1 Die Endgeräte

3.4.1.1 Kurzvorstellung des Nokia 6230

Das Nokia 6230 erschien Ende 2003 und ist mit den Abmessungen 103 x 44 x 20 mm und einem Gewicht von 97 Gramm sehr handlich. Das 16bit Display (65536 Farben) besitzt eine physikalische Auflösung von 128 x 128 Pixel. Es bietet 3,5 MB Speicherplatz wobei 512 KB als Heap nutzbar ist. Durch eine Multimedia Card ( MMC ), welche hinter dem Akku (more…)

// J2ME Nokia 6230 Kurzvorstellung

J2ME – Wireless Messaging / SMS / WMA

3.3.3.2 Wireless Messaging (SMS)

Der Versand und Empfang von SMS Kurznachrichten zur Aboverlängerung arbeitet nach dem gleichen Prinzip wie die Kommunikation über Bluetooth.

Die Klasse SMSListener definiert die handleSMSAction() – Methode, welche von der Klasse CoreMidlet implementiert wird. Im Interface werden die Events definiert, auf die reagiert wird, dies sind EVENT_RECEIVED, EVENT_SENT und EVENT_ERROR. (more…)

// J2ME – Wireless Messaging / SMS / WMA

Bluetooth – Verbindung wiederaufbauen

Wiederaufbau der Verbindung

Falls die Verbindung während der Kommunikation unterbrochen wird, z. B. weil sich beide Kommunikationspartner zu weit voneinander entfernt haben, wird versucht die Verbindung erneut aufzubauen. Die Methode tryRecon() des (more…)

// Bluetooth – Verbindung wiederaufbauen

Bluetooth – Empfang von Nachrichten

Empfang von Nachrichten

Die Klasse BTReceiver implementiert ebenfalls das Interface Runnable und stellt in der run() – Methode die Funktionalität zum Empfang und die den SIGNAL – Typen entsprechende Behandlung von Nachrichten zur Verfügung. (more…)

// Bluetooth – Empfang von Nachrichten

Bluetooth – Versand von Nachrichten

Versand von Nachrichten

BTSender implementiert das Interface Runnable und stellt in der run() – Methode die Funktionalität des Threads zur Verarbeitung von eingehenden Nachrichten zur Verfügung. Nach dem Start des Threads wird zuerst versucht, ein DataOutputStream – Objekt zu erzeugen. In diesen DataOutputStream werden die Daten, welche verschickt werden sollen, geschrieben. Das Objekt wird durch die Methode openDataOutPutStream() des StreamConnection – Objekts, welches dem Endpoint zugeordnet wurde, zurückgegeben. (more…)

// Bluetooth – Versand von Nachrichten

Bluetooth – Kommunikation zwischen Endgeräten

Kommunikation zwischen den Endgeräten

Die Kommunikation mit dem anderen Gerät erfolgt über die Klasse EndPoint, sie repräsentiert die Verbindung zu einem anderen Gerät und verwaltet unter anderem die RemoteDevice, das Connection-Objekt, sowie das Callback-Objekt für die (more…)

// Bluetooth – Kommunikation zwischen Endgeräten

Bluetooth – lokaler Server J2ME

Erzeugen eines lokalen Servers

Die Methode init() erwartet den Nicknamen sowie das Objekt, welches das BTListener-Interface implementiert, als Übergabeparameter. Beim Initialisieren wird die Blacklist aus dem Recordstore geladen, die Methode setzt die (more…)

// Bluetooth – lokaler Server J2ME

J2ME Recordstore – Konfigurationsdaten

3.3.2.5 Konfigurationsdaten:

Die Konfigurationsdaten für Programmeinstellungen, persönliches Profil und partner Profil werden von den Klassen SysConf, MyProfile und PartnerProfile aus dem Package n3po.conf verwaltet. (more…)

// J2ME Recordstore – Konfigurationsdaten

J2ME – Debugging

3.3.2.4 Debugging

Debugmeldungen aller Klassen nimmt die Methode gui_log() der Klasse CoreMidlet entgegen, sie erwartet zwei Strings als Übergabeparameter, der erste bezeichnet die Klasse, von der die Debugmeldung stammt, der zweite enthält den Meldungstext. Falls das Flag isDebug true ist, wird die Meldung in ein DataPacket umgewandelt und der Klasse (more…)

// J2ME – Debugging

J2ME – Verarbeitung von Multimediadaten MMAPI

3.3.2.3 Verarbeitung von Multimediadaten:

Für die Verarbeitung und Aufnahme von Multimediadaten ist die Klasse MMUtil zuständig. Für die Wiedergabe von Audiodaten dienen die Methoden playMidi(), playTone(), playVoice(), für die Aufnahme recordAudio() und recordAudioUntilEternity(). (more…)

// J2ME – Verarbeitung von Multimediadaten MMAPI

J2ME – Behandlung von SMS-Events / WMA

3.3.2.2 Behandlung der SMS-Events:

Die Behandlung von SMS-Ereignissen wird analog zur Behandlung von Bluetooth-Ereignissen über eine Callback – Methode durchgeführt. handleSMSAction() reagiert auf den EVENT_RECEIVED mit der Überprüfung des Nachrichteninhalts durch die checkAboSMS() – Methode, da die SMS-Kommunikation in diesem Programm rein für die Verlängerung des Abonnements zuständig ist. (more…)

// J2ME – Behandlung von SMS-Events / WMA

J2ME – Behandlung von Bluetooth Events

3.3.2.1 Behandlung der Bluetooth – Events:

Die Hauptaufgabe der Klasse CoreMidlet ist die Behandlung von Bluetooth-Ereignissen, sie implementiert hierfür das Interface BTListener. Zur Reaktion auf SMS-Ereignisse implementiert sie das Interface SMSListener. (more…)

// J2ME – Behandlung von Bluetooth Events

J2ME Steuerungsschicht

3.3.2 Steuerungsschicht

Die von MIDlet abgeleitete Klasse CoreMidlet ist für die Ablaufsteuerung der Applikation zuständig und implementiert die dafür vorgesehenen Methoden startApp(), pauseApp() und destroyApp() zum Erzeugen, Pausieren und Beenden der Applikation. Nach dem Erzeugen wird in der startApp()-Methode durch Aufruf von display.setCurrent() die Form (more…)

// J2ME Steuerungsschicht

J2ME Implementierung – Benutzeroberfläche

3.3 Implementierung

3.3.1 Benutzeroberfläche

Die Benutzeroberfläche stützt sich hauptsächlich auf die Komponenten der High-Level-UI und ist dementsprechend schlicht und funktional. Die Form´s im Package n3po.conf.gui, welche für die Eingabe oder Daten oder Änderungen an den Einstellungen zuständig sind, besitzen die Methoden fillForm() und saveForm(), wobei erstere die Items der jeweiligen (more…)

// J2ME Implementierung – Benutzeroberfläche

J2ME SDK´s / Entwicklungswerkzeuge

J2ME Anwendungen können natürlich nicht direkt auf dem Endgerät, auf dem die Applikation später laufen soll, entwickelt werden. Die Entwicklung einer J2ME-Applikation findet auf dem Desktop-Rechner statt. Um die (more…)

// J2ME SDK´s / Entwicklungswerkzeuge

J2ME, Java Bluetooth API [ JSR 82 ]

2.2.2 Bluetooth API [ JSR 82 ]

 

Mit dem optionalen Paket der Bluetooth API ( JABWT ) wird MIDP um die Funktionen erweitert, mit anderen Bluetooth-Geräten zu kommunizieren und dabei als Sender und Empfänger aufzutreten. Grundvoraussetzung sind ein (more…)

// J2ME, Java Bluetooth API [ JSR 82 ]

J2ME – Herstellerspezifische Packages

Suns MIDP-API beschränkt sich als Basisplattform leider auf den kleinsten gemeinsamen Nenner der Geräte. Es bietet keine Unterstützung für Handy-spezifische Features wie Zugriff auf SMS, Klingeltöne, Anrufe, Telefonnummern und so weiter. (more…)

// J2ME – Herstellerspezifische Packages

Record Management System / Daten speichern

In mobilen Geräten findet sich eine Vielzahl an unterschiedlichen Speicherkonzepten. Einige besitzen beispielsweise ein Dateisystem mit Verzeichnissen und Dateien, während andere ihre Daten in einzelnen Datenbanken sichern, die (more…)

// Record Management System / Daten speichern



Artikel zum Thema ‘J2ME’

Wenn Du weitere Informationen zum Thema ‘J2ME’ suchst, findest Du eine Übersicht über alle Themen im Inhaltsverzeichnis der Java 2 ME Diplomarbeit.