It is also Java, so think in Java is a good choice (fortunately, I have read it ).
The Virtual Machine VM in j2se and j2se in j2se are different from those in J2EE. Among j2se and J2EE, they are classic Vm and hotspot Vm, while in j2se, they are KVM and CVM, and KVM (K virtual machine) executes low-level hardware programs, while CVM (C Virtual Machine) executes advanced hardware programs. There is also a smart card. (I don't know why Sun is named like this. What does C and K mean)
What Is Jini? I have been famous for a long time. It turns out that he connects Java programs of different versions of J2EE, j2se, and j2se together...
What's it? Cldc & CDC? Connected limited device configuration (cldc); connected device configuration (CDC); cldc is included in CDC.
MIDP? This is very important. What is it? Mobile Information device profile is one of the two cldc configurations, and the other is pdaprofile, which is for PDA configuration. Now MIDP is popular, or 2.0, because it is essential for us to write mobile games and the device configuration standard for our game development.
MIDlet will also see that the MIDP application is actually MIDP application ..
Let's take a look at the MIDP hardware standards.
MIDP:
Ram and Rom: At least 512 KB
Power Supply: Battery is usually used, so the power supply is limited
Network connection capability: wireless communication capability with low frequency and width
Additional RAM or ROM supply is required for execution and data storage
Let's take a good look at MIDP. (Find a Nokia midp2.0 English document)
MIDP restrictions:
MIDP is the standard set for mobile devices such as mobile phones, so restrictions are indispensable.
1. cldc1.0 does not support floating-point operations, such as float and double. If you want to use floating-point operations, you can only store them as string or integer arrays.
2. Class Loader is not designed in MIDP and classes need to be manually loaded
3. The finalization does not exist. objects must be manually released before deletion.
4. There is no Java Native Interface (JNI), but it doesn't mean much, because the j2se and J2EE Code do not usually deal
5. Reflection ing is not supported, and RMI and Object serialization are not supported.
6. error handling is a waste of resources. Therefore, there are only three error classes in j2_m2. java. Lang. error,
Java. Lang. outofmemoryerror, java. Lang. virtualmachineerror.
7. Large interfaces such as swing AWT are bulky, so MIDP provides a dedicated high-level user interface high-level user interfaces
8. The record management system (RMS) is used instead of the read/write interface for the persistent files of the device file system.
9. The MIDP supports multiple threads, but does not support thread groups and daemon threads. You can use the collection storage thread object at the application layer to replace the thread groups.
Functions that can be implemented by MIDP:
1. the MIDP core Java class library consists of two parts: one is from j2se, and the other is designed separately for j2s.
In the class library, except for objects, Java. in Lang, class, runnable, String, system, thread, throwable, Abs, Min, Max in the math for computation, data types except the Data Types of floating point operations, Java. stack, vector, hashtable, random, and enumeration in util (iterator not retained), Java. most of the IO files can be found in j2s.
2. the MIDP has a special Display object used to control the connection between the input device and the display device. Only one display object is allowed at a time. Displayable is a container that provides visual interfaces for all users. It has two sub-classes: canvas and screen. Canvas controls pixel display and low-level interface features. Screen provides high-level interface features such as image selection menus and data forms.
3. High-level User Interface high-level user interfaces
Form inherits the screen class and stores the container of the interface. In fact, you know what it is when you use swing. form seems to be the name borrowed from Delphi. Interface components :? Choicegroup ,? Textfield ,? Datefield ,? New spacer, stringitem, customitem and so on are added to gauge, image, and midp2.0. as the name suggests, let's take a look at the help documentation.
4. Canvas
It is used to control the underlying layer to display mobile and dynamic images in the game and can be exchanged with screen. The canvas class must be inherited and called. It provides a painting () method for drawing or refreshing, and many other methods for drawing graphics and text. It supports PNG images.
During Game Development, you will find an improved gamecanvas class inherited from canvas, providing many useful methods for game development.
5. New Game API javax. microedition. lcdui. Game.
The new game API of mdip2.0 provides common methods for tiled backgrounds games such as sprites. Sprite layerl is the surface layer in the game for animation, while tilelayer can provide the background layer of the game. These are all done by the layer manager layermanage, and this mechanism can achieve the re-painting of the new layer and the old layer is dimmed.
In addition, gamecanvas provides a buffer for accelerating the speed and implementing non-blinking animations. The flushgraphics () method is used to copy the cached images to the screen, Hoho, in this way, you can achieve dual buffering without blinking without having to write it by yourself.
The getkeystates () method is also newly added. It is used to determine the device keys. It seems that you can determine the combination keys. It is also a blessing. We can make a combination of great tricks.
6. RGB Images
Public void drawrgb (INT [] rgbdata, int offset, int scanlength, int X,
Int y, int width, int height, Boolean processalpha)
Mdip2.0 allows you to access images in an integer array, so that you can use this method to map images at the pixel level.
The image is changed.
7. Response commands
All InterAction actions cannot be separated from commands. A button represents an action, such as opening, closing, and exiting...
Let's look at a code to know what it is.
Class myclass implements commandlistener {
Public void commandaction (command C, displayable s ){
Forum. noif (C = back_cmd ){... }
}
}
However, the command is abstracted out in the j2ec2.
Command back_cmd = new command ("back", command. Back, 1 );
Myscreen. addcommand (back_cmd );
8. MIDP 2.0 media API sound API javax. microedition. Media
Supports audio and video. Videos and images are not supported. Generally, the audio and wav files are used. MIDP 2.0 only regulates the demand for sound quality.
9. midp2.0 extends the network connection mode, not only HTTP, but also secure HTTP (https). It advocates support for user datemediprotocol (UDP) and direct TCP connections, and serial port communication.
Cldc specifically provides a universal connection platform, generic connection framework (GCF), which abstracts all external data transmission into a connector class, such as opening a Web page connector. Open (http://www.forum.nokia.com );
Open a socket connection
Connection. Open (socket: // forum.nokia.com: 9001 );
10. PUSH architecture
It is actually a stack structure, which is very useful in the gameplay game, but it depends on whether the device supports it.
11. timer and alarm timer & alerts
The timer class provides the timer function for background threads, which is the same as j2se.
Alert is a special screen object that displays text and images and stops automatically after a period of time. If the interval is set to forever, the device automatically provides a method to remove Alert. Alert, which is generally used to display error messages.
12. Record Management System (RMS)
As mentioned above, he has replaced the file system of permanent data in the I/O system for data reading and writing, such as accessing game archives and ranking by high scores.
Midlets allows multiple storage records to be created with different file names, and records can be exchanged between different midlets in the same suite. If the external conditions permit, you can set the midlets records of different suites for exchange.
13. What is the terminal's security protocol HTTPS? End-to-end security-https
In addition to providing security protection based on the MIDlet layer, midp2.0 also provides end users with encrypted communication over HTTPS (secure HTTP. HTTPS is used in areas such as network banking services. It provides a dedicated HTTP Security channel for protection. Generally, the HTTP protocol is implemented using the Transport Layer Security (TLS) or Secure Sockets Layer (SSL) technology ..
14. Hosting the MIDlet component
A marked MIDlet component ensures that the content of your mdilet component is not tampered with and that the MIDlet component source is legal or verifiable. Midp2.0 allows you to verify the developer's signature on the device.
It seems that this is a bit difficult to say. In fact, midp2.0 provides a set of genuine verification mechanisms.
I'm so tired of the competition. Today's harvest is not small, but I need to understand a lot of things slowly. It's the greatest harvest every day.