4. MTJ Overview
Extend existing Eclipse platform to support mobile Java
application development
Integrates with most Software Development Kits (SDKs) available
MTJ does not ship any SDK, it is the device manufacturer's
responsibility to distribute their SDKs
Vendor A
UEI
SDK MTJ JavaME SDK
Extens.
JDT
Vendor Vendor B
Eclipse Platform Proprietary JavaME SDK
Protocol
4
6. MIDlet Templates
Reduces the effort to create
applications from scratch
Allows customizing templates
without writing source code
Custom templates can be
added to the environment
6
11. Package Obfuscation
MTJ integrates with
proguard to provide
obfuscation
ProGuard is an open
source Java class file
optimizer, obfuscator
Proguard must be
downloaded separately
from MTJ
Proguard WebSite (http://proguard.sourceforge.net/)
11
12. Demo Part 1
Import installed SDKs
Create a MIDlet Suite Project
Create a MIDlet from a
template Part 1
Package application for
deployment
Create an obfuscated package
for deployment
Run/Debug Application
12
14. Multi device configuration
Applications are developed for
a wide range of devices
Device fragmentation problem
affects mobile developers
MTJ allows developing
applications for multiple target
devices
14
15. Multi device configuration
Every configuration has one
associated device
Every configuration has it's
own symbol set
Workspace level symbol sets
(imported from device
database)
15
16. Multi device configuration
It is possible to package either one or all
configurations
Every configuation is packaged on it's
own folder under the deployed folder
16
18. Build Configuration
Every device configuration
requires a different set of
resources
Customizing packages for
different devices manually is
very error prone
The build editor allows
selecting which resources to
package on each device
configuration
18
20. Preprocessing
Preprocessing is very usefull since mobile applications need to
target several devices
MTJ uses Antenna in order to provide preprocessing support
Antenna is another open source project. It can be dowloaded
from (http://antenna.sourceforge.net/)
Antenna preprocessor defines
Preprocessor language
//#if ScreenWidth>100 && ScreenHeight>120
do something;
//#else
do something else;
//#endif
20
21. Preprocessing
Built in code
assitant for
preprocessing
statements
All available
statements are
listed with brief
descriptions
21
22. Preprocessing
Built in code
assitant for
preprocessing
symbols
● It is possible to
define custom
symbols
● Each symbol has
Name, Value, if active on active configuration
22
23. Demo Part 2
Setup multi device
configuration
Setup build configuration
Enable preprocessing Part 2
Manage preprocessing symbol
sets
Add preprocessing to our
example
Build and package applications
for all configurations
23
25. Localization
Mobile applications are used
all over the world
Localizing applications must
not bring an overhead to the
development process
25
26. Localization
Localization is
done through
key/value pairs
Keys will have
localized values for
every locale
desired
All keys defined
are available to the
application's code
26
27. Localization
A properties file is generated for
every locale configured
The L10nResources class is used
to get the localized values
All localized keys are created within
the L10nConstants class
27
29. Unit Testing
Every application needs to be tested in order to achieve quality
standards
The testing framework must be tightly integrated within the IDE
29
30. Unit Testing
Running/Debugging test
cases is as simple as running
a MIDlet
The test results are exibited
on the device's screen
It is possible to package the
tests in order to run on a real
device
30
31. Demo Part 3
● Setup localization
● Create localized resources
● Add localization into the
application code Part 3
● Enable unit testing
● Create Unit Tests/ Suites
● Run Tests
31
33. Eclipse Pulsar Working Group
Pulsar is an industry working group to promote collaboration
between mobile industry players
Pulsar early access package is available for download from eclipse
website. (http://www.eclipse.org/pulsar)
First official release with Eclipse Galileo, the annual release of
Eclipse projects on June 25th. (http://www.eclipse.org/galileo)
33
34. Eclipse Pulsar Package
Tools integration platform for mobile
development
Easy to install and update tools and
SDKs
34
35. Eclipse Pulsar Package
MTJ Eclipse other
IDE
Pulsar IDE
Package
& In stall
n load
Dow
Discover SDKs Redirect to
Pulsar SDK
Package
Pulsar Server
User Desktop Eclipse.org SDK Plugin Provider Server
35
37. How to participate
As an open source project everyone is welcome to contribute
Send new ideas
Help with bug fixes
Propose new features
Join our test team
DSDP MTJ Web site: http://www.eclipse.org/dsdp/mtj
DSDP MTJ Wiki: http://wiki.eclipse.org/DSDP/MTJ
Newsgroup: news://news.eclipse.org/eclipse.dsdp.mtj
Developer List: http://dev.eclipse.org/mailman/listinfo/dsdpmtjdev
37
38. Conclusions
MTJ provides several features in order to improve mobile Java
development
It requires a very low learning curve since it follows Eclipse
standards and everyone uses Eclipse :)
38