Here are some updates and additional information that can be very helpful. I will eventually get to reorganizing the site, but until then this should do.

Http Connections

First important piece of information is that if you want to make a Http connection, to up/download information from the originating server you must add to your jam file the "UseNetwork = http" flag. If you do not add this, most likely everything will work fine on your emulator and when you download the program onto a real phone and run it, as soon as you actually call the code that makes the connection you will get an error message and the program will quit. Also, if you are using ssl over http (https) then you still say http. I have not yet tested this, but the docs say that this is the case.

Dates in Jam file

So if you have read my warnings about jam files and you created them very carefully and you are still having problems, then this information might be of great help. Well you must be very precise when you enter your data for the LastModified field. It must start with the first three letters of the day of the week, thus Monday is Mon, Tuesday is Tue, Wednesday is Wed and so forth. Then you have the comma and the date of the month this must be 2 digits so if it is the second of the month then it is 02 not 2. I have not tested the month part yet, but I believe that the month must also be the first three letters of the month January becomes Jan, Febuary becomes Feb and so on. Then you have the year which must be 4 digits and then the 2 digit hours colon 2 digit minutes colon 2 digit seconds. If you do not follow this format, then the phone will give an error when attempting to download the jam file and thus prevent you from downloading the jar file and running the program. So the format is something like this LastModified = ABC , ## ABC ##:##:## , where ABC means 3 alphabetical characters, and the # symbol means a number.

Graphic performance

If you want to improve the graphic performance of your application, then when using the Graphics object before perorming the operation call the lock method. Thus if your Graphics reference is called then you would do something like this g.lock() when done you call g.unlock(false) or true if you want to force the graphics to be flushed instantly. False means to put the Graphics a queue and to draw the Graphics when its' turn comes. This allows for double buffering and the reduction of screen flashing and such.


This is something that got me for not reading the docs carefully. The Graphics have a few colors declared as constants. At first I thought Ok so if I want to draw a yellow line then I will call g.setColor(g.YELLOW) then g.drawLine(0,0,100,100) . Of course, I was wrong! You must call g.setColor((g.getColorOfName(g.YELLOW)))

Well that is about it for now, although something tells me that this will not be the last = )