1. Grundlegende Java-Kenntnisse in J2ME erforderlich
Die meisten Leute lernen J2ME jetzt von Grund auf. Wenn sie J2ME lernen, beginnen sie immer mit den Grundlagen von Java, und jetzt sprechen sie über Java-Grundlagenbücher, die alle J2SE verwenden die Grundlage, die einige unnötige Probleme beim Lernen verursacht. Hier ist eine kurze Erklärung der in J2ME verwendeten und unnötigen Java-Grundkenntnisse:
Grundkenntnisse von Java, die in J2ME verwendet werden:
1. Grundlagen der Java-Syntax: einschließlich grundlegender Datentypen, Schlüsselwörter, Operatoren usw.
2. Objektorientiertes Denken: Konzepte von Klassen und Objekten, Vererbung und Polymorphismus usw.
3. Ausnahmebehandlung
4. Multithreading
Grundlegende Java-Kenntnisse, die in J2ME nicht verwendet werden:
1. Verwendung von Javac- und Java-Befehlen in JDK
2. Java-Grundlagen Viele der Klassen sind in J2ME nicht verfügbar oder die Methoden in den Klassen wurden stark vereinfacht. Daher wird empfohlen, mit Klassenbibliotheken in J2ME vertraut zu sein.
3. Das Wissen über Applet, AWT und Swing kann in J2ME überhaupt nicht genutzt werden.
Um es einfach auszudrücken: Ich hoffe, dass Freunde, die J2ME lernen, einige Umwege vermeiden können. Ich hoffe, dass jeder die Mängel aktiv korrigiert und ergänzt.
2. Funktionen, die derzeit in J2ME nicht ausgeführt werden können
Listen Sie einige Funktionen auf, die derzeit in J2ME nicht ausgeführt werden können:
1. Transplantation ohne den Code im Mobiltelefon zu ändern, bezieht sich hauptsächlich auf Spiele.
2. Ändern Sie den Schaltflächentext dynamisch.
3. Akzeptieren Sie chinesische Eingaben auf Canvas.
4. Manipulieren Sie lokale Ressourcen wie Adressbuch, empfangene Textnachrichten usw.
5. Erstellen Sie zerstörerische Handyviren.
6. Andere warten darauf, dass alle hinzufügen.
3. Die plattformübergreifende Natur von J2ME
Die J2ME-Technologie hat ihren Ursprung in Java, bietet also auch die Vorteile von JVM und kann auf Plattformen übertragen werden, die Java unterstützen Die Technologie ist plattformübergreifend, aber sie ist sehr schlecht gemacht. Werfen wir einen kurzen Blick auf die Gründe:
1. Die Bildschirmgrößen von Mobiltelefonen sind unterschiedlich:
Dies liegt hauptsächlich an der Schnittstellenproduktion.
Wenn Sie eine erweiterte Benutzeroberfläche verwenden, beispielsweise wenn Sie Anwendungsentwicklung oder allgemeine Funktionen wie Benutzeranmeldung und Benutzerregistrierung durchführen, gibt es im Allgemeinen kein Problem.
Wenn Sie eine Low-Level-Benutzeroberfläche verwenden, beispielsweise wenn Sie ein Spiel erstellen, müssen Sie dieses Problem berücksichtigen.
2. Die erweiterten APIs der Hersteller sind nicht einheitlich:
Zum Beispiel ist die UI-Serie der erweiterten API-Klassenbibliothek von Nokia möglicherweise nicht auf anderen Mobiltelefonen implementiert oder die Paketnamen können unterschiedlich sein usw.
3. Auf Mobiltelefonplattformen implementierte Fehler:
Zum Beispiel weist das Nokia 7650 einen Fehler bei der Implementierung der Doppelpufferung auf, sodass Software, die auf diesem Modell ausgeführt wird, keine Doppelpufferung verwenden kann. Weitere Fehler bei NOKIA finden Sie unter: http://blog.csdn.net/Mailbomb/archive/2005/03/24/329123.aspx
4. Leistungsprobleme bei Mobiltelefonen.
Verschiedene Mobiltelefone haben Anforderungen an verfügbaren Speicher und maximale JAR-Dateien. Beispielsweise unterstützen die meisten Nokia S40-Telefone eine maximale JAR-Datei von 64 KB und einen maximal verfügbaren Inhalt von 210 KB.
Daher bieten aktuelle Handy-Software, insbesondere Spiele, eine Liste unterstützter Modelle, und aus diesem Grund gibt es mobile Spiele-Transplanter.
Arten von Jobs, die Sie nach dem Erlernen von J2ME ausführen können
Heutzutage kann man sagen, dass die J2ME-Technologie sehr beliebt ist. Hier sind einige Arten von Jobs, die Sie nach dem Erlernen von J2ME ausführen können:
1. J2ME-Spieleentwickler
Entwickeln Sie Spielprogramme auf einem bestimmten Modell (meist Nokia S40 oder S60) entsprechend der Spielplanung oder den Dokumentenanforderungen.
Dies ist die Aufgabe, mit der derzeit die meisten J2ME-Programmierer beschäftigt sind.
Sie müssen Folgendes beherrschen: High-Level-Benutzeroberfläche, Low-Level-Benutzeroberfläche, Threads, und wenn es sich um ein Online-Spiel handelt, müssen Sie auch die Netzwerkprogrammierung beherrschen.
2. J2ME-Anwendungsentwickler
Es gibt derzeit nicht viele mobile Anwendungen, aber es gibt immer noch einige, insbesondere Inhalte im Zusammenhang mit mobiler Positionierung und mobilem Handel.
Erfordert Kenntnisse in: fortgeschrittener Benutzeroberfläche, Threading und Netzwerkprogrammierung.
3. J2ME-Spieleporter
Sehen Sie sich den Quellcode an, um Spiele, die auf einer Plattform laufen können, auf andere Plattformen zu übertragen. Zum Beispiel die Portierung von Nokia S40-Spielen auf das S60 oder das T618 von Sony Ericsson usw.
Kontrollieren Sie hauptsächlich die Bildschirmkoordinaten, einige müssen möglicherweise einige APIs ersetzen.
Sie müssen mit den Unterschieden zwischen verschiedenen Plattformen und den damit verbundenen technischen Parametern wie Bildschirmgröße, maximale JAR-Dateigröße usw. vertraut sein.
5. Mehrere Prinzipien der J2ME-Programmierung
1. Verwenden Sie objektorientierte Programmierung.
Obwohl die Verwendung prozessorientierter Programmierung die Größe der Datei reduzieren kann, muss zur Vereinfachung zukünftiger Wartung und Erweiterung weiterhin objektorientierte Programmierung verwendet werden.
2. Verwenden Sie das MVC-Muster
um Modell, Schnittstelle und Steuerung zu trennen. Heutzutage kombinieren viele Programme die drei zu einem, aber wenn das Programm, an dem Sie arbeiten, relativ groß ist, wird dennoch empfohlen, es zu trennen.
3. Benutzereinstellungen automatisch speichern
Verwenden Sie RMS, um Benutzerinformationen zu speichern, z. B. den letzten vom Benutzer eingegebenen Benutzernamen und das zuletzt eingegebene Kennwort, die Systemeinstellungen des Benutzers usw. Dies reduziert nicht nur die Benutzereingaben, sondern ist auch benutzerfreundlich. Viele Programme führen sogar eine automatische Anmeldung usw. durch.
4. Einige Systemeinstellungen ermöglichen es Benutzern, sie zu schließen. Wie Hintergrundmusik, Hintergrundbeleuchtung usw.
5. Platzieren Sie die Aktionen zum Zeichnen der Benutzeroberfläche auf niedriger Ebene in einem separaten Thread.
6. Geben Sie dem Benutzer eine Warteoberfläche, wenn Sie Arbeiten erledigen, deren Ausführung viel Zeit in Anspruch nimmt.
6. Vom Simulator zum Testen realer Maschinen
Für J2ME-Entwickler hat uns der Simulator viel Komfort gebracht, z. B. das Debuggen von Programmen im Simulator und eine sehr praktische Überprüfung der Wirkung des Programms , aber der Simulator bringt uns auch einige Probleme mit sich, wie z. B. Fehler in der Simulatorimplementierung usw., sodass echte Maschinentests erforderlich sind.
1. Warum müssen wir echte Maschinentests durchführen?
Da das Simulatorprogramm möglicherweise Fehler aufweist und die Leistung der realen Maschine begrenzt ist, müssen reale Maschinentests durchgeführt werden.
2. Wie übertrage ich das Programm auf die Maschine?
Es gibt folgende Möglichkeiten, das Programm auf die Maschine zu übertragen:
a) OTA-Download
b) Datenkabelübertragung nutzen
c) Infrarotübertragung
d) Bluetooth
Sie können die geeignete Methode entsprechend den Bedingungen auswählen.
3. Was misst der reale Maschinentest hauptsächlich?
Es gibt viele echte Maschinentests, bei denen hauptsächlich die folgenden Aspekte getestet werden:
a) Die Funktion des Programms
b) Die Bedienbarkeit des Programms, ob es einfach zu bedienen ist
c) Die Programmgröße, zum Beispiel beträgt die maximale Dateigröße, die von den meisten Mobiltelefonen der Nokia S40-Serie akzeptiert wird, 64 KB
d) Die Programmlaufgeschwindigkeit, ob die Geschwindigkeit erträglich ist.
VII. Vom WTK zum Hersteller-SDK
Für J2ME-Enthusiasten beginnt im Grunde jeder mit dem WTK (J2ME Wireless Toolkit), aber für praktische Anwendungen reicht die bloße Verwendung von WTK nicht aus, also im Im Lernprozess müssen Sie den Sprung vom WTK zum SDK vollenden.
1. Wie lautet die Download-Adresse des SDK des Herstellers?
http://blog.csdn.net/Mailbomb/archive/2005/01/01/236606.aspx
2. Was ist der Unterschied zwischen Hersteller-SDK und WTK?
Das einfachste Verständnis des Hersteller-SDK besteht darin, einen eigenen Simulator und eine eigene Erweiterungs-API basierend auf WTK hinzuzufügen.
Mit anderen Worten: Wenn Sie das SDK des Herstellers verwenden, können Sie die erweiterte Klassenbibliothek des Herstellers, z. B. die UI-Klassenbibliothek von Nokia, und den eigenen Simulator des Herstellers verwenden.
Jeder Hersteller verfügt über eine kleine Anzahl von Erweiterungs-APIs und diese sind nicht gleich.
3. Wie benutzt man?
Die SDKs einiger Hersteller werden genauso verwendet wie WTK, beispielsweise Samsung.
Nokia bietet eine unabhängige Schnittstelle für die Entwicklung, diese Schnittstelle wird jedoch in der tatsächlichen Entwicklung selten verwendet.
4. Probleme mit dem SDK des Herstellers
Es gibt einige Fehler in der Implementierung des SDK des Herstellers, die nicht mit der tatsächlichen Maschinenimplementierung übereinstimmen. Zum Beispiel das Mix-Wiedergabeproblem von NOKIA und so weiter.
8. So erhalten Sie die IMEI eines Mobiltelefons in J2ME
IMEI ist die Abkürzung für International Mobile Entity Identification. Geben Sie *#06# in das Mobiltelefon ein, um die Nummer anzuzeigen ist 15 Ziffern lang und global. Es ist eindeutig und wird niemals in Konflikt geraten, sodass es als Zeichen zur Identifizierung des Benutzers verwendet werden kann.
Das Folgende ist die Methode, um IMEI in J2ME zu erhalten:
1. Mobiltelefone der MOTO-Serie können durch Lesen des IMEI-Attributs des Systems erhalten werden, der Code lautet wie folgt:
String imei = System.getPROperty ("IMEI");
2. Mobiltelefone der SIEMENS-Serie können durch Lesen der Eigenschaft com.siemens.IMEI des Systems abgerufen werden. Der Code lautet wie folgt:
String imei = System.getProperty("com.siemens. IMEI");
9. Lösungen zur Anzeige von Problemen bei J2ME-Netzwerkverbindungen
Bei der Netzwerkprogrammierung wird die Schnittstelle manchmal angezeigt, ohne Netzwerkdaten zu empfangen. Dies führt dazu, dass die Schnittstelle nicht den Anforderungen entspricht (z. B. wird bei der Ankündigungsanzeige zuerst das Hintergrundbild der Ankündigung und dann die Ankündigungsinformationen angezeigt. Hier ist eine einfache Lösung für alle:
). Die Methode zur Lösung dieser Situation ist in drei Schritte unterteilt:
1. Rufen Sie in der anzuzeigenden Schnittstelle die Methode zum Senden von Netzwerkdaten auf. Dieser Konstruktor wird bei jeder Anzeige aufgerufen, und die setCurrent-Methode von Display wird nicht zur Anzeige aufgerufen.
2. Zeigen Sie die Warteschnittstelle (z. B. Fortschrittsbalken usw.) an, um den Benutzer darüber zu informieren, dass die Netzwerkverbindung hergestellt wird.
3. Rufen Sie nach der Verarbeitung der Netzwerk-Feedback-Daten die setCurrent-Methode von Display auf, um die aktuelle Schnittstelle anzuzeigen.
10. Verbessern Sie die String-Funktionen von J2ME – Aufteilen von Strings
Seit JDK1.4 wurde die Split-Methode zur String-Klasse hinzugefügt, um eine String-Aufteilung zu erreichen, aber in J2ME ist sie nicht vorhanden Eine solche Methode (sie ist in MIDP2.0 nicht implementiert), aber in der tatsächlichen Verwendung ist dieser Vorgang manchmal erforderlich. Hier ist ein Code, den ich zuvor implementiert habe, um ihn mit Ihnen zu teilen:
/**
* 문자열 분할, 원칙: 문자열에서 분할 문자열을 감지한 후 하위 문자열을 가져옵니다
* @param 원본 분할해야 할 문자열
* @paran regex 문자열 분할
* @return 분할 후 생성된 문자열 배열
> //부분 문자열의 시작 위치를 가져옵니다.
int startIndex = 0
// 결과 데이터를 Vector 먼저
Vector v = new Vector() ;
//반환된 결과 문자열 배열
String[] str = null;
/ /하위 문자열을 가져올 때 시작 위치 저장
int index = 0;
//일치하는 하위 문자열의 위치 가져오기
startIndex = original.indexOf(regex);
//System.out.println("0 " + startIndex);
//시작 문자열의 위치가 문자열 길이보다 작으면 끝임을 증명합니다. 문자열에 도달하지 않았습니다.
//-1은 끝에 도달함을 의미합니다
while(startIndex < original.length() && startIndex != -1)
{
위 내용은 J2ME 프로그램 개발에 대한 종합적인 기본 설명을 요약한 것입니다(1). 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!