Artikel zum Thema ‘J2ME’

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

Unterschiede von Android zu Java ME / J2ME

Die Entwicklung von Java ME und Android unterscheidet sich grundlegend, da die von der API angebotenen Klassen und Funktionen Großteils speziell für Android entwickelt wurden.

(more…)

// Unterschiede von Android zu Java ME / J2ME

Audio aufnehmen / Audioaufnahme / Sprachaufnahme

Die Methode recordAudioUntilEternity() arbeitet wie recordAudio(), jedoch nimmt sie solange auf, wie das Flag recording der Klasse CoreMidlet auf true gesetzt ist. Das Flag wird beim Drücken der Taste für d (more…)

// Audio aufnehmen / Audioaufnahme / Sprachaufnahme

Chat per Bluetooth Handy

Wenn die Profil- bzw. Kennwortprüfung eine Ãœbereinstimmung ergibt, wird eine Textnachricht mit dem Inhalt „ok“, falls keine Ãœbereinstimmung besteht wird der String „deny“ zurück an den Kommunikationspartner geschickt. (more…)

// Chat per Bluetooth Handy

Foto mit der internen Kamera

Falls das Endgerät die MMAPI nur unvollständig Implementiert (siehe Kapitel 3.4.1), oder eine Exception im Verlauf des Erzeugens des Video-Items ( z. B. wegen zu geringem Speicher ) geworfen wird, wird versucht die Form F_Filebrowser anzuzeigen, welche die Auswahl eines Bildes aus dem Filesystem ermöglicht. Somit hat der Benutzer die Möglichkeit, ein bestehendes Foto von der Speicherkarte oder dem internen Speicher des Telefons zu laden. Falls die FileConnection API auf dem Endgerät nicht implementiert ist, gibt (more…)

// Foto mit der internen Kamera

GUI – High Level UI Implementierung

Die Form zur Eingabe des persönlichen- und des partner – Kennworts, F_Kennwort – beinhaltet lediglich zwei TextField´s. Die Form´s für die Einstellung des persönlichen Profils bzw. des Partner-Profils sind einander sehr ähnlich, sie bestehen aus ChoiceGroup´s für die Auswahl der persönlichen- und optischen Merkmale sowie der Interessen – und der jeweilig gewünschten Ãœbereinstimmung beim potentiellen Partner. Für die Einstellung der Grundangaben wie Geschlecht, Alter und Größe dient die Form F_meineDaten_Grundlagen, (more…)

// GUI – High Level UI Implementierung

Steuerungsschicht / Controller

Steuerungsschicht / Controller:

Die Methoden zur Steuerung der Programmlogik finden sich im Package n3po.core in der Klasse CoreMidlet, welche die Interfaces für die Behandlung von Bluetooth – und SMS-Events, implementiert. Ãœber die in den Interfaces definierten Callback- Methoden wird auf eingehende Nachrichten und Ereignisse über die Bluetooth- oder Wireless-Messaging-Schnitstelle reagiert und die entsprechenden (more…)

// Steuerungsschicht / Controller

J2ME – Payment und Sicherheit

Die folgende Grafik gibt einen groben Überblick über die Funktionsweise der Applikation:

J2ME   Payment und Sicherheit

Falls man sich durch den Kommunikationspartner gestört fühlt, kann man die Bluetooth-MAC-Adresse des anderen Geräts in einer Blacklist permanent speichern, Geräte deren MAC auf der Blacklist stehen, werden als Kommunikationspartner in Zukunft generell abgelehnt. (more…)

// J2ME – Payment und Sicherheit

Die Hardwareanforderungen der CLDC 1.0

Die Hardwareanforderungen der CLDC 1.0

  • Mindestens 160 KB Speicher
  • davon 128 KB nicht flüchtiger Speicher (ROM)
  • 32 kb flüchtiger Speicher (RAM) -16 bit Prozessor -Drahtlose, bidirektionale Kommunikation mit geringer Bandbreite ohne permanente Verbindung.

Neben der Sicherheitsprüfung wurde die CLDC auch in punkto API-Umfang stark abgespeckt. Zum einen hat sich die Zahl der Klassen im Vergleich zur Java Standard (more…)

// Die Hardwareanforderungen der CLDC 1.0

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



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.