ArticleslgStudy

computer science

MicroEmulator

MicroEmulator is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand MicroEmulator rather than just read about it. In short: MicroEmulator (also MicroEMU) — is a free and open-source platform independent J2ME emulator allowing to run MIDlets (applications and games) on any device with compatible JVM. It is written in pure Java as an implementation of J2ME in J2SE.

MicroEmulator — main illustration
MicroEmulator — illustration

Key takeaways

  • MicroEmulator belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect MicroEmulator to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of MicroEmulator from memory before moving on to harder problems.

Reference excerpt

MicroEmulator (also MicroEMU) — is a free and open-source platform independent J2ME emulator allowing to run MIDlets (applications and games) on any device with compatible JVM. It is written in pure Java as an implementation of J2ME in J2SE.

History In November 2001, MicroEmulator project was created on SourceForge. On 31 March 2006, MicroEmulator version 1.0 was released. In November 2009, project moved to code.google.com, and after Google closed it, development moved to GitHub. On 10 January 2010, the last stable version 2.0.4 was released. On 24 May 2013, the last preview version 3.0.0-SNAPSHOT.112 was released. After 2014, MicroEMU technology was acquired by All My Web Needs company and all the MicroEmulator's docs and binary builds were removed from the official site. All sources and binary previously released on SourceForge, Google Code and GitHub preserved as open-source, but development stalled since then.

Ports and forks

Android MicroEmulator has official support for the Android platform. It is also possible to convert J2ME MIDlet JAR-packages into standalone APK files. J2ME Loader — is an enhanced fork of MicroEmulator for Android. JL-Mod — is an enhaced fork of J2ME Loader with the Mascot Capsule 3D API support.

iOS

MicroEmulator has been ported to iOS, but it requires to use iOS jailbreaking technique to install it on iPhone or other iOS device.

Mac OS MicroEmulator officially supports Mac OS, but there is also package in MacPorts repository.

Usage

MicroEmulator as Opera Mini sandbox

Web applet with Opera Mini MIDlet running inside MicroEmulator has been placed on Opera official website. MicroEmulator used together with Opera Mini MIDlet to browse Internet via metered networks and slow mobile GPRS connection on netbooks (such as Asus Eee PC), low-end PCs and other mobile devices. In some countries mobile network operators provided free traffic or very lowcost plan with unlimited traffic for Opera Mini and some social networks and services via its J2ME clients (like Facebook, Yandex Maps, etc.). Use of MicroEmulator together with Opera Mini or other app with free traffic plan allowed to browse Internet fully free on PC (with USB modem attached) at home or on netbook on the go.

MicroEmulator as J2ME SDK MicroEmulator, together with few MIDlets for programming directly on phone (J2ME SDK Mobile, Mobile BASIC, MIDletPascal, etc.), could be used as a fully complete J2ME SDK: it is possible to write MIDlet source code, compile and preverify Java class files, package all files and resources of MIDlet project into JAR with JAD, and then run built MIDlet for test and debug without even leaving MicroEmulator window. The only external dependency is a JVM installed on PC or device to run Microemulator itself. MicroEmulator could be used as alternative to Sun's and Oracle's JavaME emulators for various desktop Java IDE's. For Eclipse, there was initially an open source bridge plugin known as EclipseME, but Eclipse 1.7 and onward got its own bridge plugin. MicroEmulator available as org.microemu plugin for Apache Maven build automation tool.

Publications J2ME Building Blocks for Mobile Devices: White Paper on KVM and the Connected, Limited Device Configuration (CLDC) (PDF), Palo Alto, CA: Sun Microsystems, Inc., 19 May 2000 Stefan, Haustein (14 July 2004), "ME4SE: A Pure Java Emulation of the Mobile Information Device Profile (MIDP)" (PDF), Siemens JavaTalks 2004 (Slides) Kroll, Michael (31 May 2007), J2ME Software Entwicklung und Fehlersuche (PDF) (Dipl.-Inf.(FH)) (in Swiss German), Michael Kroll Consulting & Solutions Smith, Micahel (2008), Browsers on the move: 2007-05 to 2008-06 (PDF) (Slides), W3C Tavares, Andre Luiz Camargos; Valente, Marco Tulio (2008-03-16). "A remote display system for Java-based mobile applications". Proceedings of the 2008 ACM symposium on Applied computing. ACM. pp. 1918–1922. doi:10.1145/1363686.1364150. ISBN 978-1-59593-753-7. Delwadia, Vipul (2009). RemoteME: Experiments in Thin-Client Mobile Computing (Thesis thesis). Victoria University (New Zealand). Virkus, Robert (18 September 2009). "Programming J2ME / Java ME Apps". Mobile Developer's Guide To The Galaxy (PDF). Bremen: Enough Software GmbH + Co. KG. pp. 14–22. Archived from the original (PDF) on 2 October 2009. Virkus, Robert (15 October 2009). "Programming J2ME / Java ME Apps". Mobile Developer's Guide To The Galaxy (PDF) (2nd Extended ed.). Bremen: Enough Software GmbH + Co. KG. pp. 21–29. Vávra, David (10 June 2009). GPS game for mobile framework Locify (PDF) (BA Thesis thesis). Czech Technical University in Prague. Fotouhi-Ghazvini, Faranak (20 March 2012), Mobile Learning using Mixed Reality Games and a Conversational, Instructional and Motivational Paradigm (PhD Thesis), University of Bradford Padmanaban, Yogesh (2013). Learning API mappings for programming platforms (Thesis). New Brunswick: Rutgers University - Graduate School. Gokhale, Amruta; Ganapathy, Vinod; Padmanaban, Yogesh (May 2013). "Inferring likely mappings between APIs". 2013 35th International Conference on Software Engineering (ICSE). pp. 82–91. doi:10.1109/ICSE.2013.6606554. ISBN 978-1-4673-3076-3. Virkus, Robert (February 2015). "Java ME (J2ME)". Mobile Developer's Guide To The Galaxy (15th ed.). Bremen: Enough Software GmbH + Co. KG. pp. 82–90. ASIN B00BS6RIKU. Archived from the original (PDF) on 29 September 2015. Phong, Cao, Porting J2ME Apps to Nokia X Using J2ME Android Bridge

Video MicroEmu (J2ME emulation) on Linux on YouTube Alan Bazan. J2ME Emulator playlist on YouTube (in Spanish)

See also

SquirrelJME (JavaME 8 VM for embedded device) KEmulator (J2ME emulator for Windows) FreeJ2ME (J2ME emulator for Libretro and RetroArch) ME2SE (J2ME APIs for J2SE, runs on Windows Mobile) ScummVM DOSBox PyPy Python for S60

References

External links

Official website (Archived February 9, 2014, at the Wayback Machine) MicroEmulator on Blogger MicroEmulator at Google Code MicroEmulator on SourceForge MicroEmulator on GitHub MicroEmulator on Google Groups MicroEmulator package at the Maemo repository Microemulator-s60-skin package at the Maemo repository KarinME MeeGo/Harmattan package at the OpenRepos repository J2ME Loader Android package at the F-Droid repository mpowerplayer SDK 2.0.1185 (ZIP) at the Wayback Machine (archived December 22, 2011) waper.ru deathgrab (incomplete dump) at the Internet Archive (includes collection of MIDlets for J2ME programming)

Illustrations

MicroEmulator illustration
MicroEmulator: Wikipedia website in Opera Mini 8 browser running in MicroEmulator with full-screen Eee PC device skin
Wikipedia website in Opera Mini 8 browser running in MicroEmulator with full-screen Eee PC device skin

Worked examples

Example 1 — a first encounter with MicroEmulator

Start with the simplest possible case. Write down what MicroEmulator claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to MicroEmulator before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about MicroEmulator ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of MicroEmulator

In research
MicroEmulator appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses MicroEmulator in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
MicroEmulator is common in secondary-school and first-year university syllabi. It links to neighbouring topics Computing platforms, Java (software platform), Java device platform, so understanding it makes those chapters shorter.
In everyday life
Look for MicroEmulator outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study MicroEmulator in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what MicroEmulator means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain MicroEmulator out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is MicroEmulator in simple terms?

MicroEmulator (also MicroEMU) — is a free and open-source platform independent J2ME emulator allowing to run MIDlets (applications and games) on any device with compatible JVM. It is written in pure Java as an implementation of J2ME in J2SE.

Why does MicroEmulator matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study MicroEmulator?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on MicroEmulator.

Tags

  • Computing platforms
  • Java (software platform)
  • Java device platform
  • Java specification requests

Keep exploring