Monday, September 29, 2008

Lightweight UI Toolkit for Java ME

Description
Writing appealing cross device applications today in Java ME is challenging. Due to implementation differences in fonts, layout, menus, etc. the same application may look and behave very differently on different devices. In addition much of the advanced UI functionality is not accessible in LCDUI and requires the developer to write very low level "paint" type code. The Lightweight UI Toolkit was developed to address these issues. The Lightweight UI Toolkit makes it very easy to create compelling UI's that will look and behave the same on all devices using a programming paradigm similar to Swing. This Toolkit is able to run on CLDC1.1 MIDP2.0/CDC PBP/SE.

Comments


Rating
Not yet rated


License
GPL

Links
Site
Blog Site
Download
Download demo project
Demo

MicroEWT

Description
MicroEWT is a Java 2 Micro Edition (J2ME) user interface library that allows to create free-form, event-driven user interfaces for mobile devices.

Comments


Rating
Not yet rated


License
Open Source

Links
Site
Download
Download demo project
Demo

JMicroPolygon

Description
JMicroPolygon is a project to provide polygon drawing and filling facilities for J2ME (MIDP 1.0 and 2.0) without relying on extension APIs.

Comments


Rating
Not yet rated


License
Freeware

Links
Site
Download
Download demo project
Demo

Learning Wireless Java

Description
This book is an excellent introduction to J2ME for experienced Java developers. The book does what it intends to do very well, but the topic coverage is less than complete because it limits itself to the CLDC configuration and the MIDP profile. Granted, this is the most popular branch of development for J2ME, but there is more to J2ME than the MIDP profile. Within this limitation, it does a good job of providing a basic, clear, and working understanding of the Java classes involved with MIDP programming. Intermediate and advanced J2ME programmers should look elsewhere for help as this book is aimed squarely at J2ME beginners.
The organization of the book follows standard conventions for Java books, starting with basic functionality, then GUI classes, then event handling. There is an API reference at the end of the book, which usually indicates the author is trying to pad the book, but I think it is appropriate here. It only adds 60 pages to the book, and it made it easier to read the material when I was away from a computer. Unfortunately, the book was only 169 pages without it, and I felt that it should have addressed some areas more in depth.
A good book for someone looking to learn J2ME and a handy quick reference, but as you advance, you'll outgrow this one.

Link

J2ME Game Programming

Description
Up until now I've found a complete lack of any good books on developing games for J2ME. I previously purchased MicroJava Game Development but found it simplistic and too broad (who cares about WAP???). J2ME Game Development absolutely blew me away. This is 800 pages of some of the best game development text I've seen. That's not just J2ME development, but 2D games in general... the coverage is brilliant.

The beginning of the book provides a solid introduction to J2ME/MIDP and then shows how to create a simple game. After that the author walks through development of a sophisticated four-way scrolling action game. There's coverage of sprites, tile engines, physics, world scrolling, raycasting, map editing, save games, menu systems, device ports, isometric engines, AI coding... and the list just goes on.

From a J2ME focus there's a chapter on how to setup a build system and use preprocessing to manage all the little device specific API calls as well as a cool way of handling localization issues.

In the last half there are two chapters on how to present the game to distributors and publishers and then how to sign a deal with them to make money from the game. Nice to see some commercial sense in a technical book.

At the end there's some extra chapters covering multiplayer gaming, how to make your own raycasting engine and even how to make an isometric engine.

Thankfully this book does not fall into the trap of concentrating on MIDP 2's useless game API. I applaud the decision to stick with the core of game programming and not waste time on MIDP 2 specifics (or MIDP 1 specifics for that matter). This is a book about making games. The author's approach of teaching how to make your own sprite/tile engine and then introduce MIDP 2 as an add-on is exactly right. Well done.

I've been waiting for this book to be released since it was announced. With the combination of Martin Wells and Andre Lamothe it had to be something good. I have to say I'm not disappointed. If you're thinking of developing just about any type of 2D game (not just J2ME) I'd recommend you buy this book.

Link

Mobile Application Development with SMS and the SIM Toolkit

Description
Mobile Application Development Using SMS and the SIM Toolkit
is just the guide you’ve been looking for if you’re building applications for GSM or 3G networks, wish you had sample code for reality-based applications, or want to add mobile extensions to your software products and corporate network. In this straight-talking tutorial, smart card expert Scott Guthery teams with information management specialist Mary Cronin to provide you with authoritative guidance on SIM application design, integration, and management for any platform. Seasoned developers will quickly learn how to:
  • Create code that harnesses the power of the SIM
  • Use the micro-browsers and micro-Web servers in 3G phones
  • Construct leading-edge mobile commerce applications on today's network
  • Send and receive SMS messages from your server or your laptop
  • Enable interfaces and other needed components
  • Create secure wireless applications for corporate networks and VPNs
Link

Mobile 3D Graphics: Learning 3D Graphics with the Java Micro Edition

Description
3D graphics capabilities continue to advance in leaps and bounds. Once the domain of high-end computers, amazing 3D graphics are now readily available for mobile devices. Mobile 3D Graphics: Learning 3D Graphics with the Java Micro Edition is your hands-on guide to this exciting new world! Learn the fundamentals of 3D graphics by using the Mobile 3D Graphics API (JSR 184). Focusing on the Java Platform, Micro Edition, this book is filled with a multitude of easy-to-understand, real-world examples. You will start with the basics of 3D programming, but there is plenty of advanced coverage too, including quaternion math, environment mapping, and creating articulated characters. You will also learn how to create 3D content in in the open-source tool Blender, import the artwork into your application, and then tailor the export to meet your needs. By the time you are finished, you will possess 3D graphic skills that will easily extend to other APIs, including OpenGL ES with JSR 239 and the MascotCapsule V3 API, which are both featured in the appendix. Whether you are a complete 3D graphics novice, a game programmer ready to extend your skills to a new arena, or a software developer hoping to break into the game industry, this book will serve as a one-of-a-kind, comprehensive guide to mobile 3D graphics!

Link

Pro Java ME MMAPI: Mobile Media API for Java Micro Edition

Description
Pro Java ME MMAPI: Mobile Media API for Java Micro Edition has amazed me. The book is unique as it covers and desmyifies one of the most fragmented and confuse Optional Packages for JME.

I've read more than a dozen books about JME but this is the first book that has really cleared some doubts I had regarding Mobile Media in JME.

I strongly recommend this book if you are developing Multimedia Applications using JME.

Vikram Goyal has done an outstanding job by clarifying and detailing every aspect of MMAPI, discussing the way it has been specified, emphasizing the differences that may occur from one implementation to another and also providing clear, detailed and error free examples that illustrate the aspects being discussed.

Also, the text is very well-written and I've found only 3 typos. Very impressive! Apress is also doing a wonderful job.

Chapter 1 introduces MMAPI and presents its features and requirements as defined by the JCP - Java Community Process, compares MMAPI and the MIDP 2.0 Media subset, where it fits regarding the JME Software stack and at last it lists the manufactures and market players supporting MMAPI.
Nice introduction!

Chapter 2 explains the MMAPI Architecture, the main high-level interfaces, delivers an introduction to the supported protocols and content types, presents the relevant feature sets and the security issues one must take into consideration. It also details the MIDP 2.0 Media subset so that one can understand what's left out on devices implementing it.

Chapter 3 introduces the reader to MMAPI hands-on programming by explaining two simple MIDlets. It also builds the foundation regarding the overall development process and environment.

Chapter 4 is unique, it details the Media Player lifecycle, its possible states and transitions. It explains each state very thoroughly as well as Player events and how to work with them, even the limitations and issues regarding custom events. I've never read a book covering MMAPI with such a detailed explanation.

Chapter 5 covers all the issues regarding the access of media over networks. It starts with a very clear explanation of Threads in JME as well as the security permissions for media acess over networks. Then it puts it all together in a very clear and easy to follow example.

Chapters 6 and 7 are the best ones in my opinion. Those two chapters do pay the book, definitely.Vikram has been brilliant and desmystified Synthetic Tones and the MIDI protocol. He has remembered me of my of childhood, when I've had musical theory classes as it explains everything music and shows you how that all fits into programming with MMAPI. Those chapters are so complete that they have a lot of tips on how to convert from RTTTL to MMAPI format, the MIDI specification and message format and how to work with MIDI in MMAPI, how to create JTS files and other niceties. Thanks Vikram :)

Chapter 8 explains how to work with Audio and Video, playback, capturing, storing, controlling, mixing, it's everything there. It also describes the details of Media Encodings and Sampled Audio as well as the GUI options for dealing with Video.

Chapter 9 has a very cool Device Blogging application that builds upon all the subjects presented so far and also gives a good example of MVC pattern in JME.

Well, the only criticism I have is regarding the section about Streaming Media and also the Appendix C about the JSR 234 - Advanced Multimedia Supplements. Considering that Vikram has proved he's really a subject matter expert He could have provided better sections about them.

In fact, He has already written an article about Streaming in JME and it's available on his web site (so I forgive him) but AMMS is still to be covered. What about on the second edition of his book? Let's wait and see!

A must have book, absolutely!

Link

Beginning Mobile Phone Game Programming

Description
Build several fully functional games as well as a game engine to use for programming cell phone and mobile games with Beginning Mobile Phone Game Programming! The included CD provides the tool, code and graphics necessary to complete all exercises covered in the chapters. Beginning Cell Phone Game Programming demystifies wireless game programming by providing clear, practical lessons using the J2ME Game API. You will learn how to use the most popular mobile programming language, Java, to build compact games that can run on any Java-enabled device, including mobile phones, pagers and handheld computers. You will also learn to add a splash screen, create a demo mode, keep track of high scores, and test, debug, and deploy your games.

Topics covered include:

  • How to construct a game engine to drive mobile games.
  • How to use Java 2 Micro Edition (J2ME) and the Java Game API to get the most performance out of your mobile games.
  • How to implement sprite animation and control interactions among moving sprites.
  • How to play sound effects and music in mobile games.
  • How to take advantage of wireless networks to build mobile multiplayer games.
  • How to design and develop a variety of different games spanning several video games genres.
Link

J2ME Games With MIDP2

Description
I really enjoyed this book. The author does a solid job of explaining everything you need to know to write games for MIDP devices. If you are familiar with Jonathan Knudsen's book on J2ME (probably the best book on the subject), this book expands the single games chapter into a fun and interesting book.

The book starts with a quick sample showing us how to use the Sun IDE and how to run our games on the emulator and how to download our games to a phone. The author shows a couple of example games, a maze and a jumping game, that give a good overview of the basic techniques games use on MIDP devices. She then expands those examples by showing proper use of threads and shows how to play tones and music during a game. Storing information (such as high scores or user preferences) is demonstrated. Downloading game enhancements such as new levels for a dungeon game are also demonstrated. The book is full of well-commented code samples (worth stealing) that show the techniques being discussed.

The author of this book has a nice, easy to read style of writing. Her enthusiasm for the topic comes through and makes you want to try the many sample games. If you have been spending too much time on enterprise programming then playing around with some MIDP games might be just the antidote and this book will get you started on the fun.

Link

J2ME: The Complete Reference

Description
Java developers, here's your chance to survey the scope of J2ME (Java 2 Micro Edition) knowledge in one solidly written reference. Discover the basic architecture and functionality of J2ME and how it differs from J2SE and J2EE. Build a J2ME database with coverage of essentials such as commands, items, event processing, and low- and high-level display interfaces. Learn the advanced aspects of mobile development--plus, get in-depth coverage of security, Web services, information management, and storage. Whatever your experience level, J2ME: The Complete Reference is your essential one-stop resource for understanding and utilizing J2ME to build mobile applications and services.
  • Understand the organization, configurations, and profiles of J2ME, including the new PIM API
  • Review small computing technology, including wireless, mobile radio networks, PDAs, and more
  • Navigate J2ME architecture and the development environment
  • Limit memory use, simplify user interface, minimize network traffic, and use best practices
  • Write, record, sort, read, search, and store records
  • Manage data and understand database concepts
  • Anticipate mobile application uses for Web services, information management, and other key functions
  • Work with HTTP connections, and networking and Web services
Link

Pro J2ME Polish: Open Source Wireless Java Tools Suite

Description
When you first learn J2ME, you learn about this fantasy world where all devices follow the J2ME specification to a tee. But in the real world, because of the interpretive nature of the specifications, no two devices really implement the specification exactly the same. So this requires either targeting a particular device or have many versions of you app to run on different devices.

Man what a pain. But that is where J2ME Polish comes to the rescue. J2ME Polish provides pre-compiler directives to allow you to write code such that J2ME Polish's build script can automatically create different versions for you on the fly however you want. There is a lot more to J2ME Polish than just that, but this is a book review.

So let's get to that review. Well, first Robert Virkus is J2ME Polish, well he is the architect and lead programmer for J2ME Polish. Who better to write a book about it? Consider this book the hard copy of the manual for J2ME Polish. If you are going to use J2ME Polish, then this book is a must. It is the reference book that you will need to find anything you need to know about J2ME Polish.

Now, it isn't really a read all the way through the book and you can be J2ME Polish expert. You really need to be actually using J2ME Polish at the time, to better grasp what is being explained. The book can be hard to understand, not because of the writing, but because J2ME Polish is feature rich and there is lots to learn.

I highly recommend using J2ME Polish and buying this book if you will be developing for more than one device, and also to get their cool looking GUI screens, rather than MIDP 2.0 High Level GUIs.

Link

Enterprise J2ME: Developing Mobile Java Applications

Description
J2ME offers an extraordinarily flexible and robust platform for developing mobile applications with enterprise-class performance, reliability, and value. Now, leading mobile developer Michael Yuan covers every aspect of building industrial-strength applications with J2ME: design, architecture, tools, processes, business issues, and more.

Yuan introduces innovations that make the platform even more powerful, ranging from new J2ME profiles and wireless messaging APIs to mobile databases and web services tools. These innovations allow existing Java™ developers (especially J2EE™ developers) to leverage their skills and add mobility to enterprise applications. Yuan also presents more than a dozen complete sample applications—including the application that earned him the grand prize in Nextel, Sun, and Motorola’s nationwide wireless developer contest. Coverage includes:

  • Patterns and best practices for building end-to-end mobile applications
  • Emerging mobile “killer applications”: driving productivity and cost reduction
  • “Smart client” applications: architecture and construction
  • Advanced HTTP techniques for authentication and session tracking
  • Overcoming hardware and network limitations
  • Leading-edge mobile enterprise messaging techniques
  • Mobile databases and synchronization engines
  • XML and mobile web services, including the J2ME Web Services Optional Package
  • New options for mobile security in the enterprise
Link

Beginning J2ME: From Novice to Professional

Description
If you need a no-nonsense, down-to-earth, non-philosophical guide for how to write Java applications for mobile/cellular phones, this is the best book you can buy today. It's very concrete, with lots of working examples etc, and leaves out the fluffy stuff that's so typical for computer books nowadays. The book is an especially good starting point if you are into applications (communicating or non-communicating), but the APIs for writing games are also covered. I hadn't programmed in Java before (yet C and Visual Basic for many years), but I had no problems developing mobile applications after reading this book. Being such a concentrated book means it also works as a reference for when you need to look things up. All in all, this book is for real developers and strongly recommended.

Link

Killer Game Programming in Java

Description
This book is miles ahead of other Java gaming books... For one thing, this is an excellent book in its own right. For another, the other existing books on the topic suck.

Anybody who spends a lot of time writing games in Java ends up running into certain challenges. For each of these real issues, it takes a lot time to identify the issue then many hours to come up a satisfactory solution or work-around. This book saves you from 99% of that work. The author has documented nearly every complication that you will run into. The other Java gaming books explain how to apply common sense and traditional gaming strategies to the Java APIs (usually following Sun's tutorials exactly), giving step-by-step instructions on how to do so. Besides the point that this adds no value for somebody capable of following Sun's tutorials and APIs, they offer no help where you need it most... where the straight-forward approach is unsatisfactory or just doesn't work for some reason.

Another thing that has saved me a ton of frustration and time is advice from the author. For my specific game project I've run into several questions which I've been unable to answer by web searches, posting to forums, etc. I've emailed Davison (the author), and he has answered each of my questions concisely and to the point every time. (I don't want you to spam him, so please don't send questions until after you have looked for the answer in his book!).

To address concerns that other reviewers have posted:

This book is not just for "advanced" Java developers. As Davison has emailed me, the intended audience is, "someone who has just got past their first Java course". He purposefully avoids avoids all but elemental Java features (e.g., no ternaries, abstract classes, logging infrastructures, IOC).

WRT examples, you are not buying a gaming library or framework. The goal is not to give you production classes that you can use as-is in production quality products. Other reviewers are demanding production-ready examples. It is impossible to make production-ready examples that can be easily understood by first-year Java developers. If you want production-ready classes, don't look for them in a HOW-TO book, find them elsewhere or read this book and then write them yourself.

Link

Mobile 3D Graphics: with OpenGL ES and M3G

Description
The Mobile 3D Graphics book is a tutorial-type book that helps to understand Mobile 3D APIs, OpenGL ES and M3G. The book was written for graphics application developers, game developers, Java developers, and students.

The book consists of three parts: anatomy of a graphics engine, OpenGL ES, and M3G, each divided into chapters. In each chapter, one aspect of the mobile 3D graphics is discussed (e.g. in the first part of the book, chapters include: low-level rendering, animation, scene management, and performance/scalability). Each chapter discusses the important issues, and sample code segments are provided.

The best features of the book include: its in-depth coverage of the mobile graphics techniques; how to start developing OpenGL ES and M3G application; performance tips and pitfalls; and how to accelerate your code using fixed-point arithmetic; and how to increase performance of Java code. The Web site that complements the book(http://www.graphicsformasses.com) contains code samples and demos.

I found the book to be a good introduction to mobile graphics programming, perhaps the best among mobile 3D graphics programming books. The authors are also among the experts of 3D mobile graphics: they helped to start the OpenGL ES and M3G standardization groups, and actively contributed to development of these standards.

On the flip side, as the other reviewers have said, OpenGL ES 2.0 is not included in this book. But, it will be some time until we will see widespread use of OpenGL ES 2.0 enabled mobile devices. Even then, developers will still be able to use OpenGL 1.x on 2.0 hardware, with appropriate 1.x drivers). So, as of this writing, this is not an outdated book!

Also, a complete case study (e.g. a small OpenGL ES or M3G game, complete with user input, rendering optimization, etc.) would be a very useful addition to the book.

Link

Creating the Art of the Game

Description
I bought this book because I wanted to know about game art in particular, not 3D art and technique in general. This book gave me exactly what I was looking for. Omernick draws on his extensive experience to show you EXACTLY how game art is put together and how it relates to the rest of game production. He shows you what standard techniques and 3d package features are used in the big name studios. He gave me a bar to measure my own work by and a variety of 3d concepts that I need to know to get into game art. More than anything else, he inspired me by taking the mystery out of the genre and made it graspable. The problem with the other game books is that they are either way outdated, simply game art gallery books, or written by guys who aren't much further into their career than the reader. Omernick clearly knows what he is talking about. This is not a tutorial book as it isn't really application specific though he does show where most of the features are located in Maya and 3ds Max. If you want to learn a software package, there are plenty of good books for that. This book gives you a focus for game art, if that is what you want to do. There is also a lot on next gen features that are important. After reading this book, I new pretty much what I was going to need in my portfolio, and as I played video games after reading it, I really had a good understanding of almost everything I saw. This book is a MUST HAVE for anyone interested in a game art career.

Link

3D Game Textures: Create Professional Game Art Using Photoshop

Description
Even if you aren't a game artist, this book will help any digital artist learn to create photorealistic textures. One of the most important features of an image, and one that can make the difference between a good or a great image, is the textures you use. In this book the author, Luke Ahearn, teaches the basics for creating 3D game textures. The book is written for Adobe Photoshop version 7 or CS, but can apply to future versions of Photoshop or any image graphics software supporting layers.

The first chapters cover the basics of visual art such as shape/form, light/shadow, texture, color and perspective. Ahearn uses several game art sample images to support the discussion, which makes it easier to apply these concepts to 2D texturing. Next, he gives you an overview of computer graphics including file formats, grids, UV mapping and shaders and teaches the reasoning behind his approach to creating 2D textures for 3D game art. He then moves on to Photoshop and the many features this software has that can be used specifically for digital texturing. He gives some tips for naming and organizing the large number of image files that you will soon accumulate.

Ahearn covers four real-world projects. The first is a sci-fi setting which requires only the base materials. He gives step-by-step instructions for creating metals for floor and wall paneling, pipes, hoses and venting. Next is an urban setting which requires the base materials and also a few textures for detail objects in the scene. The third project, a fantasy setting, was my favorite. It required the most detailed artwork so far and Ahearn discusses using the Photoshop painting tools. The textures created for this project will eventually be used with a shader. Some of the base textures he creates are stone walls and floor, wood beams, stucco and metal. You will also learn how to make detailed textures for a table, chest, fur rug, candle stick, book and parchment. The fourth project is an outdoor setting. When creating photorealistic textures for the trees and other organic subjects, Ahearn uses Photoshop layers and source photo overlays.

For each project, Ahearn starts with a concept sketch and identifies the base materials that will be needed for flooring and walls. He then moves on to creating textures for the detail objects such as tables, windows, rugs and doors. At the end of each project, he gives at least one variation. Lastly, the book covers the three types of visual effects; static, animated and particle. The CD that accompanies the book contains many photo source images.

Luke Ahearn has worked in the game development field for many years as a background artist, designer, producer and art director. He has written six books on game development.

Link

Mobile 3D Game Development: From Start to Market

Description
This book is really very well written and the only one I know on the market of its kind. It's great if you are moving from 2D to 3D J2ME games. I gave it 4, instead of 5, stars firstly, because all the art work is done for Maya, Lightwave, or 3DS. These are very expensive modelling tools. The authors could have used an excellent alternative, Blender, which is just as powerful but free. Secondly, the authors use NetBeans. A better choice might have been Eclipse with the EclipseME plug-in since I believe the Eclipse community is bigger and perhaps more resourceful. Thirdly, there are a number of small errors in the book, particularly in Chapter 7. Finally, speaking of Ch 7, the book is rough going with the math. It's almost as if the authors were afraid to go into more detail knowing many people might be turned off by 3D math. But this seems to me just the place to slow down rather than breeze through the subject. For instance, they don't explain how or why matrix inversion is used nor how it can fail. Then, they go through all this math and don't give example code or even a snippet, of how to use it, for instance, the Transform class. That's too bad. They had this tiger (called 3D math) by the tail and let it go. Actually, to cover more of the math and details of mobile 3D I would recommend Hofele, C., "Mobile 3D Graphics", as a companion text. Hofele is also very good although the focus is less on mobile games than mobile 3D.

Link

Creating Mobile Games

Description
This is a pretty good book on creating mobile games for the Java platform. The author does not assume that you already have a working knowledge of the tools involved, so she starts by introducing you to these tools to give you a general idea of what is involved. Next she covers what you must do to set up your computer for Java Micro Edition game development and how to get your games running on an actual target device. Then, once you have your development environment up and running, you can begin building and modifying the book's examples. The book website at Apress has all of the source code for the examples available for you to download. The author assumes you already know Java programming with Java Standard Edition, and that you already know something about designing a game - this is not a book on the theory of game design. The point of this book is to show you how to do all of this with Java ME. Even multi-player gaming is explored by showing how to write a program for a game of checkers using Java ME. The following is the table of contents:

1. Getting Started 1
2. Using MIDlets 21
3. Using the MIDP 2 Games API 53
4. Using Threads and Media 95
5. Storing and Retrieving Data 131
6. Using Network Communications 193
7. Advanced Messaging and Data Access 263
8. Securing Your Applications 305
9. The Mobile 3D Graphics API 317
10. Adding a Professional Look and Feel 351

You can carry some of the ideas into other types of applications, but this book is very much focused on Java mobile games. For that purpose it is highly recommended.

Link

Friday, September 26, 2008

Interesting sprite collection

Description
Here you can find a lot of interesting sprites

Comments


Rating
Not yet rated


License


Links
Site
Download
Download demo project
Demo

Monster Sprites


Description
This is a collection of monster sprites

Comments


Rating
Not yet rated


License


Links
Site
Download
Download demo project
Demo

Isometric Sprites

Description
Here you can find a collection of isometric sprites.

Comments


Rating
Not yet rated


License


Links
Site
Download
Download demo project
Demo

Thursday, September 25, 2008

JMUnit

Description
JMUnit is a Java ME (J2ME) unit test framework based on JUnit. It supports JUnit-like test cases and test suites. Tests can be run in a device, in an emulator or as Ant tasks. IMPORTANT NOTE: The JMUnit project will be merged with the J2MEUnit project.

Comments


Rating
Not yet rated


License
Apache License V2.0

Links
Site
Download
Download demo project
Demo

J2MEUnit

Description
J2MEUnit is a Java 2 Micro Edition (J2ME) library containing a unit testing framework for J2ME applications. It is based on the source code of the original JUnit, the successful unit testing framework for the standard (desktop) edition of Java, J2SE.

If you don't already know what unit testing means please have a look at the numerous articles on this topic that are available on the JUnit website. Here on the J2MEUnit site you will only find informations that are related to unit testing on small devices running the micro edition of Java.



Comments


Rating
Not yet rated


License
Common Public License

Links
Site
Download
Download demo project
Demo

CLDCUnit

Description
CLDCUnit is a Java 2 Micro Edition (J2ME) library containing a unit testing framework for J2ME applications. It is based on the source code of the original JUnit for Java J2SE. And integrates some code from J2MEUnit.

The target of this project is to simplify UnitTest creation and execution.



Comments


Rating
Not yet rated


License


Links
Site
Download
Download demo project
Demo

StrutsME

Description
StrutsME
allows you to access an existing Struts application from a J2ME client. For this StrutsME gives you an interface for calling the actions of the Struts application. Additional features of StrutsME include:
  • exception handling at the server,
  • support for ``classical" web-browser and StrutsME clients,
  • concurrent access of both kinds of clients to the same instance of the Struts application and
  • equivalent behaviour of both types of clients (including for example session management).
All of this can be achieved with minimal changes to the existing Struts application.

Comments
Calling methods on the server from a client isn't a new concept. It is widely known as remote procedure call (RPC). The most recent incarnations, which are based upon XML, are XML-RPC, SOAP and Webservices. However in the context of mobile clients with limited resources these solutions are not the best choice. The standard serialisation which is available J2SE isn't a solution however. The reason is the dimishing reflection support in J2ME. And the standard serialisation needs this. StrutsME fills this gap by providing its own serialisation. However our solution requires the help of the objects which should be serialized. The result is a light weight communication protocol which requires little processing and a small footprint on the client.

Another design goal of us for StrutsME was the reduction of changes at the server. This supports the maintance of the existing Struts application. Also it allows a fast implementation of the mobile client support. There should be little or even better no change required to use an existing Struts application from a mobile client. In our opinion StrutsME meets this goal.



Rating
Not yet rated


License
Apache License 2.0

Links
Site
Download
Download demo project
Demo

MIDPLogger

Description
Developing J2ME/MIDP applications has its challenges. Not least amongst these challenges is the reliance on emulators for testing and the usual compliance issues that exist with the J2ME devices themselves. When developing a MIDP application using an emulator, a number of possibilities exist:

1. Your MIDlet works perfectly in the emulator....and works perfectly on a real device. Fantastic!
2. Your MIDlet doesn't work quite as expected in the emulator, but works perfectly on a real device. Not bad at all!
3. Your MIDlet works perfectly in the emulator....but doesn't work as expected on a real device. Bad. Very bad!
4. Your MIDlet doesn't work anywhere. Definitely not good!

MIDPLogger is really designed to help with scenario (3), although it may well be useful in (4) as well.

To help debug issues that exist when running a MIDlet on device, MIDPLogger provides an on-device log file, log writer and log viewer capability. By integrating the MIDPLogger class within your MIDLet, you can write debug/trace information to an on-device database (and also to the console if you like, for when you are running in your emulator). You can browse and otherwise manage the on-device log file using the MIDPLogViewer MIDlet, by adding it to your MIDlet suite.



Comments


Rating
Not yet rated


License
Freeware

Links
Site
Download
Download demo project
Demo

MicroLog

Description
MicroLog is a scaleable logging library for use with Java ME (aka J2ME), compatible with Log4j. It has support for logging to console, to RMS, a file or a Form. The RMS logs are availble through a MIDlet. It also has flexible support for formatting.

Comments
  • Easy to setup. Configuration via the application descriptor, dependency injection or a property file.
  • Similar to Log4j, but built from scratch.
  • Small
  • Fast
  • Many different Appenders
    • ConsoleAppender - Appends to the console, e.g. System.out.
    • RecordStoreAppender - Appends to the RecordStore.
    • FileAppender - Appends to a file using a FileConnection.
    • CanvasAppender - Appends to a Canvas.
    • FormAppender - Appends to a Form.
    • BluetoothSerialAppender - Appends to a Bluetooth serial connection (btspp).
    • SerialAppender - Appends to a serial port (CommConnection).
    • SmsAppender - Appends to a cyclic buffer and send the buffer as an SMS.
    • MmsAppender (for MMS and/or e-mail) - Appends to a cyclic buffer and send the buffer as an SMS.
    • DatagramAppender - Appends to a datagram and send it using UDP.
    • SyslogAppender - Appends to syslog server.
    • SocketAppender - Appends to a socket connection (also SSL).
    • S3FileAppender - Appends to a file, as in the FileAppender, and stores the file on Amazon S3.
    • S3BufferAppender - Appends to a cyclic buffer and stores it as a file on Amazon S3.
  • Different Formatters for different needs
    • SimpleFormatter - Simple, fast and very small.
    • ConfigurableFormatter - A simple, but yet configurable formatter.
    • PatternFormatter - Decide exactly how you want to format your log messages. Inspired by the PatternLayout found in Log4j.


Rating
Not yet rated


License
Apache Software License, Version 2.0

Links
Site
Download
Download demo project
Demo

Wednesday, September 24, 2008

Sprite Database


Description
A huge sprite collection.

Comments


Rating
Not yet rated


License


Links
Site
Download
Download demo project
Demo

Hulk Sprites

Description
Incredible Hulk sprite collection

Comments


Rating
Not yet rated


License


Links
Site
Download
Download demo project
Demo

Varios Tilesets

Description
On this site you can find many resources for games.

Comments


Rating
Not yet rated


License


Links
Site
Download
Download demo project
Demo

Heroes of Might and Magic - Quest of the Hero (Mobile)

Description

Evil has come to the world and again it is time for brave knights and magicians to sow death in the ranks of evil’s army and to kick them out the borders of our world. Not everyone can forge a good sword, and not everyone has been given the war talent.

Your hero has been given a chance to show the courage and prove his bravery and strength. In battles and combats his experience will be increased, and more and more warriors will stand under his banner. Having accumulated the destructive power, a hero can crush it on his enemy and win, but it will not be soon. Now he has to gather his first squadron and accomplish his first assignment. Hit the road, knight.

  • 4 races, 20 creatures in general
  • different spells
  • types of land
  • 0 artifacts
  • types of cities and castles
Comments


Rating
Not yet rated


License


Links
Site
Download
Download demo project
Demo

Tuesday, September 23, 2008

Board-game tilesets

Description
If you're interested in majong or other board games, you can find here anything you need.

Comments


Rating
Not yet rated


License


Links
Site
Download
Download demo project
Demo

FIRE

Description
Fire (Flexible Interface Rendering Engine) is a library that aims to provide a set of easy-to-use extendable components to J2ME developers. The basic set of Fire components offer all the functionality of the J2ME GUI components provided in the midp2 profile (Forms, Items etc.) plus a much more appealing user interface, themes, animations, popup menus, and better component layout. Fire does not depend on device or vendor specific parameters to lay out its components on the screen, thus creating interfaces that look the same on different phones and screen sizes.

Comments


Rating
Not yet rated


License
LGPL

Links
Site
Download
Download demo project
Demo

Phone Chord

Description
Lookup over 800 guitar chords on your mobile phone with a few easy clicks. No need to dig out that chord book or sit down at the computer to search the web for that strange chord. It's right in your pocket!

Comments


Rating
Not yet rated


License


Links
Site
Download
Download demo project
Demo

FPC Bench

Description
FPC Bench is a java benchmark to test and compare the performance of a phone with others phones. Differently from other benchmarks, FPC Bench results are not influenced from the screen resolution; this is a good way to get more reliable results.

FPC Bench is a complete test tool to test performance and features.

CPU/Memory benchmark (single threaded and multi threaded)
GPU Graphics Benchmark
  • Low level, one spotlight.
  • Low level, two spotlights, textured.
  • Simple mesh, directional light.
  • Simple mesh, UV-Mapping, Catmull-Clark.
  • Perspective correction, ambient light.
  • Complex mesh, dynamic ligthing.
  • Complex mesh, multitexturing.
  • Particles simulation, dynamic lighting.
NetMeter benchmark (GPRS, EDGE, UMTS, HSDPA, HSUPA, WIFI speed)
Check for total heap memory size
Check for free heap memory size
Check for full screen's maximum resolution in a Java canvas
Check for double buffering
Check for RMS size
Check for RMS speed (external/internal memory speed)
Check for available profile/configuration
Check for the latest APIs:
  • JSR 75: File System access API.
  • JSR 82: Bluetooth/OBEX API.
  • JSR 118: Mobile Information Device Profile API.
  • JSR 120: Wireless Messaging API (WMA 1.1).
  • JSR 135: Multimedia API (MMAPI)
  • JSR 139: Connected Limited Device Configuration 1.1
  • JSR 172: Wev service specification.
  • JSR 177: Security and Truste Services API.
  • JSR 179: Location API.
  • JSR 180: SIP API.
  • JSR 184: Mobile 3D Graphics.
  • JSR 185: Java Tech for Wireless Industry API.
  • JSR 205: Wireless Messaging API (WMA 2.0).
  • JSR 209: Advanced graphics and user interface.
  • JSR 211: Content Handler API.
  • JSR 226: Scalable 2D vector graphics for JavaME.
  • JSR 229: Payment API.
  • JSR 234: Advanced Multimedia API.
  • JSR 238: Mobile internationalization API.
  • JSR 239: Java binding for OpenGL ES.
  • JSR 248: MSA Umbrella.
  • JSR 248: Fully featured MSA.
  • JSR 256: Mobile Sensor API.
  • JSR 257: Contactless communication API.
Check for real time 3D graphics features:
  • maxLights.
  • maxSpriteCropDimension.
  • maxTextureDimension.
  • maxTransformsPerVertex.
  • maxViewportDimension.
  • numTextureUnits.
  • Antialiasing.
  • Dithering.
  • LocalCameraLighting.
  • Mipmapping.
  • PerspectiveCorrection.
  • TrueColor.



Comments


Rating
Not yet rated


License
Free

Links
Site
Download
Download demo project
Demo

Friday, September 19, 2008

FScriptME

Description
FScriptME is an implementation of FScript designed for Java Micro Edition. See the Sun J2ME site . Currently FScriptME is still in beta, in that it has only recently been released and is still relatively untested. However it is based upon the FScript source code and as such should be stable.

Comments


Rating
Not yet rated


License
GPL

Links
Site
Download
Download demo project
Demo

Simkin

Description
Simkin is a high-level lightweight embeddable scripting language which works with Java™ or C++ and XML.
Simkin enables you to hand over control of part or all of your application to your users.
The language has been designed to be easy enough for non-programmers to use, and easy for you to supply a simple API for them to write to.
It could revolutionize the way your system gets developed - you provide the mechanism, others can decide the policy.

Comments


Rating
Not yet rated


License
LGPL

Links
Site
Download
Download demo project
Demo

mProlog: Lightweight PROLOG Engine

Description
mProlog is a sub-product of the 3APL-M project. It delivers a reduced Prolog engine, optimized for J2ME applications. The mProlog engine was developed based on the W-Prolog project from Michael Winikoff. The code was heavily re-engineered and contains several methods that facilitate the 3APL integration. However, the interface is broad enough to allow the integration to any other Java application. mProlog is distributed as binary and source code, protected by the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.

Comments


Rating
Not yet rated


License
GNU

Links
Site
Download
Download demo project
Demo

Thursday, September 18, 2008

n-able

Description
n-able is a cross platform J2ME middleware, providing all the leading edge features required to produce high quality, innovative and addictive 2D & 3D wireless games and applications. It supports MIDP 1.0/2.0, MMAPI & the J2ME Game API.

Comments


Rating
Not yet rated


License


Links
Site
Download
Download demo project
Demo

MUPE

Description
MUPE is an Open Source application platform for creating mobile multi-user context-aware applications. The platform can be used to create mobile games, virtual worlds, collaboration applications and any other user authenticated services.

Comments


Rating
Not yet rated


License


Links
Site
Download
Download demo project
Demo

J2MEGL

Description
The J2MEGL (Java 2 Micro Edition Game Library) is a high-customizable library to speed up the development process involved in games when dealing with repainting, sprites and movement. It is based on the MIDP-1.0 specification.

Comments
Very basic game engine.

Rating
Not yet rated


License
Free

Links
Site
Download
Download demo project
Demo

JTGL

Description
JTGL
is a java library for graphical development (eg:UI & Games), specially suited for mobile appliances such as mobile phones,pdas, etc..
JTGL
is designed to be lightweight and highly portable, enabling to run the same code for many targets without problems, from java phones to pdas.
JTGL
is an open source project hosted on SourceForge site.

Comments


Rating
Not yet rated


License
GNU

Links
Site
Download
Download demo project
Demo

GASP


Description
GASP (GAming Service Platform) is a pure Java middleware under L-GPL license for mobile multiplayer online games and implements the OMA GS (Open Mobile Alliance Games Services working group) specifications, enabling pseudo real time multiplayer games on mobile phones.

Comments
This platform support ubiquitous player.

Rating
Not yet rated


License
L-GPL

Links
Site
Download
Download demo project
Demo

Espresso Game Platform

Description
" Espresso Game Platform " is expected to be a general-purpose game platform, written in java, that can be reused for developping different kinds of games such as ACT, RPG or SLG. It provides for game developers with a framework for game development.

The first version of "Espresso Game Platform" is developped by ZHENG Zhong, a chinese java developper, from Oct. 2002 to Dec. 2002, during the spare time of his internship at Sun Microsystems, iForce Ready Center Paris. Every noon, after diner, he was used to taking a cup of coffee called "espresso". That's why he calls this project "espresso". ;-)

Now there are two editions of Espresso Game Platform. The Standard Edition is written in J2SE, while the Mobile Edition (ME) is written in J2ME (MIDP 2.0, Game API).



Comments


Rating
Not yet rated


License


Links
Site
Download
Download demo project
Demo

Thank you

Thank you for supporting my work.

GMail Mobile Client

Description
Google has released a mobile client to access gmail mailbox.

Comments


Rating
Not yet rated


License
Free

Links
Site
Download
Download demo project
Demo

MobileMath

Description
MobileMath is a software written by using J2ME technolology. It turns mobile into calculator supporting many operations such as : evaluate expression, plotting, differentiate & integrate expression... It can run on any mobiles supporting Java.

Comments
It is interesting because it also supports polar functions.
Plotting is not scalable with screen and missing settings for specific function analysis.
Unfortunatly it has to be translated.

Rating
Not yet rated


License
Free

Links
Site
Download
Download demo project
Demo

Downloads

In this page you can find link to download many sample projects already tested and working.
Use these projects to experience functionality of libraries described in this blog.
To build project please follow instruction here (To Be Done).

Please remember that providing fully working sample is not as simple as it seems and it needs a lot of work to be completed. If you find these samples interesting please consider to support my activity with sponsors or donating something.



Thinlet
Link

DenzoSOFT Mobile Game Engine
Link

MobileRPG
Link

J2ME2DGameEngine
Link

GScript Sample
Link

TTME demo project
Link

Zelda Mobile

Description
This is a free version of a RPG game inspired to Legend of Zelda

Comments
Excellent graphic!

Rating
Not yet rated


License
Free

Links
Site
Download
Download demo project
Demo

Blades & Magic

Description
FISHLABS, a leading developer of premium 3D mobile games, pitches “Blades & Magic”, the world’s first 3D fantasy MMORPG for mobile devices, with a first playable to leading publishers at E3 in Los Angeles, Ca. USA. Blades and Magic™ is the world’s first 3D MMORPG for mobile devices. In a huge authentic fantasy world players have to choose their favourite character and fight against various NPCs like orgs, demons etc. or other players from all over the world. While they travel across the land and battle their way up as reckless warriors or mighty magicians, they earn experience and money to improve their skills and weapons.

Comments


Rating
Not yet rated


License


Links
Site
Download
Download demo project
Demo

Fantasy Worlds: Rhynn

Description
Fantasy Worlds: Rhynn is one of the first J2ME MMORPG for mobile phones. It brings the success of multiplayer games for personal computers to mobile phones.

Features:
  • Hundreds of human players and bots in the same game world, all real time
  • Four different playable character types (human, orc, elf, dwarf) with individual attributes
  • Individual character building through experience levels
  • Chatting and trading with other players - both human and AI
  • Fighting against other players or bots in real time
  • Dynamic downloading of and travelling between new game worlds
  • Many different items that can be used or equipped
  • Challenging quests
  • NPC dialogues
  • More ...

Comments


Rating
Not yet rated


License


Links
Site
Download
Download demo project
Demo

TibiaME

Description
Tibia Micro Edition (TibiaME) is the first massive multiplayer online role-playing game for mobile phones. Come together with hundreds of players and experience adventures in a colourful virtual world! Along with your friends you explore the mysterious land of Tibia, fight your way through hordes of evil creatures and solve ancient riddles to find untold treasures. With every monster you defeat you will grow in strength and power. TibiaME is based on the successful online role-playing game Tibia which attracts thousands of players every day.

Comments


Rating
Not yet rated


License


Links
Site
Download
Download demo project
Demo

J2ME ChartComponent

Description
ChartComponent is a MIDP2.0 charting component with basic functionalities for showing charts on embedded devices. It currently implements the following charts:
  1. Line
  2. Horizontal bars
  3. Vertical bars
  4. Pie charts (experimental)
Also a very simple 'legenda' is implemented.
Though basic and far from being complete, it's being already used in production environments.
The usage is very straightforward and a test midlet suite with source code is downloadable here.


Comments


Rating
Not yet rated


License
Free

Links
Site
Download
Download demo project
Demo

Hecl

Description
The Hecl Programming Language is a high-level, open source scripting language implemented in Java. It is intended to be small, extensible, extremely flexible, and easy to learn and use. Infact, it's small enough that it runs on J2ME-enabled cell phones!

I personally can't stand web pages for new programming languages without a quick link to some examples. Here you are: Hecl Examples

Why Hecl? Hecl is intended as a complement to the Java programming language, not a replacement. As such, it tries to do well what Java doesn't, and leaves those tasks to Java for which it is best suited. Hecl aims to be a very immediate language - you can pick it up and start doing useful things with it quickly. It is also meant to be easy to learn. Where Java is verbose and rigid, Hecl is forgiving and quick to write. For instance, System.out.println("Hello World"); vs puts "Hello World" - 41 keystrokes (shifted letters count double) versus 22. Hecl is built to "scale down".

This makes Hecl ideal for large applications written in Java that would like to provide a user friendly scripting interface, rather than, say, a clunky XML based configuration system. Examples include: scripted web pages, command/control logic in long running applications, and, I'm sure, many environments I've never considered.
Hecl example app for J2ME
Hecl code on cell phone Results of hecl code
Edit the code... ... and run it!
Naturally, this is just an example - you don't have to edit the source code on your phone. Indeed, for normal applications, you wouldn't expose it at all.

Hecl is also a small language with a minimal core. The idea is to provide only what's necessary in the language itself, and as needed, add in extensions for specific tasks. Core Hecl is small enough to run on my Nokia 3100 cell phone as a J2ME application, presenting the interesting possibility of writing scripts, or at some point, maybe even scripting entire applications, for devices running embedded Java. As an example, you can try this MIDlet: Hecl.jar Hecl.jad

Licensing: Hecl is available under the liberal Apache 2.0 license. Which says, more or less, that you may use Hecl in your own applications, even if they are not open source. You have to give the authors credit, though. Read the license itself to clear up any doubts.


Comments


Rating
Not yet rated


License
Open Source

Links
Site
Download
Download demo project
Demo