Deploying: Difference between revisions

From Mobile Application Design
Jump to navigationJump to search
No edit summary
 
No edit summary
 
(22 intermediate revisions by 3 users not shown)
Line 1: Line 1:
=== Introduction ===
You have a few options to get your MIDlets onto your phone - either send them through a cable or Bluetooth - or download them directly from a web site (OTA).
==== Cable / Bluetooth (recommended) ====
If you've got a Bluetooth adaptor or a USB cable which connects directly to your phone, you can use this to quickly test your packaged midlet.
<pre>
Windows XP/2000: Browse to the bin folder of your project, right click on the .jar file and select Send To->Bluetooth->YOURDEVICE.</pre>
<pre>
Mac OS X: Click on the Bluetooth icon in the menu bar, choose Send File. Select your JAR file and send it to your device.</pre>
This should send a message to your phone which will install the MIDlet once opened. This should work on most Nokia Series 60 phones (3650, 6600, N-Gage etc).
==== Over The Air (OTA) Provisioning ====  
==== Over The Air (OTA) Provisioning ====  


Line 5: Line 19:
Please note that the example is based on the one here: http://uberthings.com/mobile/
Please note that the example is based on the one here: http://uberthings.com/mobile/


  1. API Selection
<pre>
      This is where you choose which version of MIDP your application will use and which optional packages (JSRs) are included. The default is set to JTWI (Java Technology for the Wireless Industry) which allows you to use MIDP 2.0 as well as MMAPI and other exciting things. If you're having any problems with your application on your device try changing this to MIDP 1.0.
1. API Selection
 
This is where you choose which version of MIDP your application will use and which optional packages (JSRs) are included.  
The default is set to JTWI (Java Technology for the Wireless Industry) which allows you to use MIDP 2.0 as well as MMAPI and other exciting things.
If you're having any problems with your application on your device try changing this to MIDP 1.0.
 
2. Required
 
This tab includes various options which are essential for packaging a MIDlet suite. The MIDlet-Jar-URL attribute is where we
will define the location of the packaged JAR file to be downloaded to the device.
 
3. Optional
 
This tab includes optional parameters for your MIDlet - such as the path to the icon for the entire suite, a description
and a MIDlet-Info-URL parameter.
 
4. User Defined


  2. Required
This tab includes user defined variables that your MIDlet can use - such as a common URL that you don't want to hard wire
      This tab includes various options which are essential for packaging a MIDlet suite. The MIDlet-Jar-URL attribute is where we will define the location of the packaged JAR file to be downloaded to the device.
into the source code.


  3. Optional
5. MIDlets


      This tab includes optional parameters for your MIDlet - such as the path to the icon for the entire suite, a description and a MIDlet-Info-URL parameter.
This tab manages all the settings for the MIDlets within your suite. At the very least you need to have one file here.
  4. User Defined
This is also where you set the path to the MIDlet's icon resource.


      This tab includes user defined variables that your MIDlet can use - such as a common URL that you don't want to hard wire into the source code.
6. Push Registry
  5. MIDlets


      This tab manages all the settings for the MIDlets within your suite. At the very least you need to have one file here. This is also where you set the path to the MIDlet's icon resource.
This lets you configure the Push Registry which allows your MIDlet to listen and act on information received from a remote
  6. Push Registry
source. MIDP 2.0 Only.


      This lets you configure the Push Registry which allows your MIDlet to listen and act on information received from a remote source. MIDP 2.0 Only.
7. Permissions
  7. Permissions


      Under MIDP 1.0, applications could only access libraries packaged inside the suite - this was called the sandbox model. MIDP 2.0 introduces the concept of trusted applications which allow access beyond the sandbox. This section allows you to specify which APIs are accessible.
Under MIDP 1.0, applications could only access libraries packaged inside the suite - this was called the sandbox model.  
MIDP 2.0 introduces the concept of trusted applications which allow access beyond the sandbox. This section allows you  
to specify which APIs are accessible.


For our purposes - the most important property is the MIDlet-Jar-URL within the Required tab. Here are the steps you need to take:
For our purposes - the most important property is the MIDlet-Jar-URL within the Required tab. Here are the steps you need to take:


  1. Create a folder on your web server
1. Create a folder on your web server
 
      Hopefully you have an account with a web provider - login to that account and create a directory for your MIDlets to live and be served from. I created the directory http://uberthings.com/mobile/midlets. Once you've got that, you need to make a few changes to allow your server (assumed to be Apache) to serve JAD and JAR files correctly. Go to the root of your account and edit or create your .htaccess file. Add these lines:


      AddType text/vnd.sun.j2me.app-descriptor jad
Hopefully you have an account with a web provider - login to that account and create a directory for your MIDlets to live
      AddType application/java-archive jar
and be served from. I created the directory http://uberthings.com/mobile/midlets. Once you've got that, you need to make
a few changes to allow your server (assumed to be Apache) to serve JAD and JAR files correctly. Go to the root of your account
and edit or create your .htaccess file. Add these lines:


      Save this file. If you're not using Apache, ensure that your MIME types include the above two settings.
AddType text/vnd.sun.j2me.app-descriptor jad
  2. Specify the MIDlet-Jar-URL
AddType application/java-archive jar


      Click on Settings then go to the Required Tab. In the MIDlet-Jar-URL field, fill in the absolute URL of your JAR file. This will normally be something like http://mydomain/mydir/HelloProject.jar. For my server, this was http://www.uberthings.com/mobile/midlets/HelloProject.jar.
Save this file. If you're not using Apache, ensure that your MIME types include the above two settings.
  3. Package your MIDlet
2. Specify the MIDlet-Jar-URL


      Click on Project->Package->Create Package. This will create a .jar and a .jad file in your applications bin folder. For my application - this was c:\j2mewtk\apps\HelloProject\bin\HelloProject.jar and c:\j2mewtk\apps\HelloProject\bin\HelloProject.jad.
  4. Upload the packaged MIDlet suite


      Upload the JAR and JAD files that the packaging operation created to the folder you created earlier.
Click on Settings then go to the Required Tab. In the MIDlet-Jar-URL field, fill in the absolute URL of your JAR file. This
  5. Test with your device
will normally be something like http://mydomain/mydir/HelloProject.jar. For my server, this was
http://www.uberthings.com/mobile/midlets/HelloProject.jar.


      Open the WAP browser on your phone and point it to the URL of the JAD file. Using my example, this would be http://uberthings.com/mobile/midlets/HelloProject.jad. Your device should then prompt you to download and install the MIDlet. Carry it around and show it off to all your friends!
3. Package your MIDlet


==== Cable / Bluetooth ====
Click on Project->Package->Create Package. This will create a .jar and a .jad file in your applications bin folder.
For my application - this was c:\j2mewtk\apps\HelloProject\bin\HelloProject.jar and c:\j2mewtk\apps\HelloProject\bin\HelloProject.jad.
4. Upload the packaged MIDlet suite


If you've got a Bluetooth adaptor or a USB cable which connects directly to your phone, you can use this to quickly test your packaged midlet.
Upload the JAR and JAD files that the packaging operation created to the folder you created earlier.
5. Test with your device


  Windows XP/2000: Browse to the bin folder of your project, right click on the .jar file and select Send To->Bluetooth->YOURDEVICE.
Open the WAP browser on your phone and point it to the URL of the JAD file. Using my example, this would be http://uberthings.com/mobile/midlets/HelloProject.jad. Your device should then prompt you to download and install  
  MacOS X: Click on the Bluetooth icon in the menu bar, choose Send File. Select your JAR file and send it to your device.
the MIDlet. Carry it around and show it off to all your friends!
This should send a message to your phone which will install the MIDlet once opened. This should work on most Nokia Series 60 phones (3650, 6600, N-Gage etc).
</pre>

Latest revision as of 14:36, 23 September 2007

Introduction

You have a few options to get your MIDlets onto your phone - either send them through a cable or Bluetooth - or download them directly from a web site (OTA).

Cable / Bluetooth (recommended)

If you've got a Bluetooth adaptor or a USB cable which connects directly to your phone, you can use this to quickly test your packaged midlet.

Windows XP/2000: Browse to the bin folder of your project, right click on the .jar file and select Send To->Bluetooth->YOURDEVICE.
Mac OS X: Click on the Bluetooth icon in the menu bar, choose Send File. Select your JAR file and send it to your device.

This should send a message to your phone which will install the MIDlet once opened. This should work on most Nokia Series 60 phones (3650, 6600, N-Gage etc).


Over The Air (OTA) Provisioning

OTA provisioning allows users to download your application wirelessly using the WAP browsers built into their phones. To begin, we need to take a look at the Java Application Descriptor (JAD) file that is created when you package a MIDlet using the J2ME Wireless Toolkit. The JAD file stores information about your application and lets you modify various parameters of the MIDlet suite such as where the icon resource can be found, which MIDlets are included and where you can download the full version of the application. To edit a JAD file using the Wireless Toolkit, open your project, then click on Settings. This will open up a new window with a number of tabs - API Selection, Required, Optional, User Defined, MIDlets, Push Registry and Permissions.

Please note that the example is based on the one here: http://uberthings.com/mobile/

1. API Selection

This is where you choose which version of MIDP your application will use and which optional packages (JSRs) are included. 
The default is set to JTWI (Java Technology for the Wireless Industry) which allows you to use MIDP 2.0 as well as MMAPI and other exciting things.
If you're having any problems with your application on your device try changing this to MIDP 1.0.

2. Required

This tab includes various options which are essential for packaging a MIDlet suite. The MIDlet-Jar-URL attribute is where we 
will define the location of the packaged JAR file to be downloaded to the device.

3. Optional

This tab includes optional parameters for your MIDlet - such as the path to the icon for the entire suite, a description 
and a MIDlet-Info-URL parameter.

4. User Defined

This tab includes user defined variables that your MIDlet can use - such as a common URL that you don't want to hard wire
into the source code.

5. MIDlets

This tab manages all the settings for the MIDlets within your suite. At the very least you need to have one file here. 
This is also where you set the path to the MIDlet's icon resource.

6. Push Registry

This lets you configure the Push Registry which allows your MIDlet to listen and act on information received from a remote
source. MIDP 2.0 Only.

7. Permissions

Under MIDP 1.0, applications could only access libraries packaged inside the suite - this was called the sandbox model. 
MIDP 2.0 introduces the concept of trusted applications which allow access beyond the sandbox. This section allows you 
to specify which APIs are accessible.

For our purposes - the most important property is the MIDlet-Jar-URL within the Required tab. Here are the steps you need to take:

1. Create a folder on your web server

Hopefully you have an account with a web provider - login to that account and create a directory for your MIDlets to live
 and be served from. I created the directory http://uberthings.com/mobile/midlets. Once you've got that, you need to make
 a few changes to allow your server (assumed to be Apache) to serve JAD and JAR files correctly. Go to the root of your account
 and edit or create your .htaccess file. Add these lines:

AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/java-archive jar

Save this file. If you're not using Apache, ensure that your MIME types include the above two settings.
2. Specify the MIDlet-Jar-URL


Click on Settings then go to the Required Tab. In the MIDlet-Jar-URL field, fill in the absolute URL of your JAR file. This 
will normally be something like http://mydomain/mydir/HelloProject.jar. For my server, this was 
http://www.uberthings.com/mobile/midlets/HelloProject.jar.

3. Package your MIDlet

Click on Project->Package->Create Package. This will create a .jar and a .jad file in your applications bin folder. 
For my application - this was c:\j2mewtk\apps\HelloProject\bin\HelloProject.jar and c:\j2mewtk\apps\HelloProject\bin\HelloProject.jad.
4. Upload the packaged MIDlet suite

Upload the JAR and JAD files that the packaging operation created to the folder you created earlier.
5. Test with your device

Open the WAP browser on your phone and point it to the URL of the JAD file. Using my example, this would be http://uberthings.com/mobile/midlets/HelloProject.jad. Your device should then prompt you to download and install 
the MIDlet. Carry it around and show it off to all your friends!