Tomas Conway

Ranch Hand
+ Follow
since Nov 02, 2004
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Tomas Conway

You also need to study JTWI 1.0.

I don't remember exactly which appendices you need to know, but I'd start by assuming that you need to know them all. Refer to the exam specs for clarification.

Here's a link to my own preparation for the exam (includes links to study guides).
[ April 05, 2005: Message edited by: Tomas Conway ]
I think the beta exam is generally aimed at people who are already familiar with the topics. People who don't have enough time to get up to speed aren't expected to pay $50 for the privilege of sitting the exam.

You need to start that loop at 0 not 1.

It looks like you are deleting the first record in the record store returned by the RecordEnumerator.

If you want to get a particular record from a record store then you need to


examine the data in each record in the record store until you find the right one


use the RecordFilter interface in conjunction with RecordEnumeration, so that only the record (or records) you are interested in are returned


use the RecordComparator interface in conjunction with RecordEnumeration, so that the records are returned in a pre-determined order.

You can more information on RecordComparator and RecordFilter in the API.
14 years ago
If you are new to Java (pardon me if you're not) then you may not have downloaded a Java Development Kit (JDK). You can get this from Sun's website too. I'd go for one of the 1.4.x versions, I think there's some difficulties with J2ME on 1.5/5.0.

If you have a JDK installed already then you may want to add the bin directory to your PATH. Alternatively you can call 'javac' directly by specifying the full pathname. E.g. instead of

javac ...


C:\Program Files\Java\jdk1.4.2\bin\javac ...
14 years ago
I think you should post all your code in one big block, again. That'll make it easier for me to see what's going on.
14 years ago
You're still converting Calendar constants into Strings for the hours and minutes.

Use the Calendar get() method on these constants too.
[ January 12, 2005: Message edited by: Tomas Conway ]
14 years ago
The error may be in your updated parser code. Please post your parser code as well, I can look at both at the same time.
14 years ago
Use the Timer and TimerTask classes (in java.util).

You can schedule a task to be run periodically. That task can check the current time against the scheduled time and do whatever is required at the scheduled time.

Alternatively (and probably a better solution) you can schedule your task to be run at the specified time.
[ January 09, 2005: Message edited by: Tomas Conway ]
14 years ago
The date is wrong because you have hard coded the time in milliseconds with the example number I gave you (1102948142696). That number will always give you the same date and time.

In this code ...

... uncomment the first line and remove the second.

The reason that you cannot delete records maybe because you are not using RecordEnumeration to iterate through your records (see my previous post on this thread about RecordEnumeration). A standard for from 0 to getNumRecords() won't always work. In any case you should use RecordEnumeration anywhere in your code that you want to iterate over the records. At least if you did this it would eliminate a possible cause of the problem.
14 years ago

Originally posted by HaoZhe XU:
2. Is it (Manager.playTone) the implementation of MMAPI? If it is not, so I can use it to play a tone on mobiles that do not have MMAPI?

Manager.playTone() (along with other mobile media classes and methods) is implemented by both MMAPI and MIDP 2.0. The MIDP 2.0 mobile media implementation is a subset of MMAPI, but includes Manager.playTone().

In short: you can play tones with Manager.playTone() on devices that do not have MMAPI, but only on MIDP 2.0 devices, not on MIDP 1.0 devices.
[ January 03, 2005: Message edited by: Tomas Conway ]
14 years ago
In your string parsing code you are converting Calendar constants into Strings. You need to pass the constants (YEAR, MONTH, etc) to the get() method of the Calendar object. The int returned is the value you require (the year, the month number, etc). You can then put the returned values into a String or Strings as you require.
14 years ago

Originally posted by Ankur Bhatt:
Didn't you use any book?

There are no SCMAD books yet, although there are some J2ME books which may be helpful. Chapters from some of the J2ME books can be downloaded from I didn't use any books, I was able to find enough material from online resources.
(2) The basic reading material for this exam is found in the specifications and APIs that the exam is based on -

Java Technology for the Wireless Industry 1.0

CLDC 1.0

CLDC 1.1

MIDP 2.0

Wireless Messaging API 1.1


(3) This might be obvious but I think the answer is J2ME programming jobs. :roll:

(4) For developing software you should download a J2ME emulator ("Wireless Toolkit" in Sun's parlance). You can find what you need, and other things J2ME, here.

(6) is a good place to start.

(7) SCMAD isn't as popular as other Java exams, I guess. If mobile development does indeed "grow tremendously in future" then I would expect the popularity of this forum to grow as well

For my thoughts on preparing for the exam check out this thread.
[ December 23, 2004: Message edited by: Tomas Conway ]
This might seem obvious, but can we assume that any SCJP 1.4 objectives not mentioned above are no longer required - e.g. the following are not on the exam...

  • Identify all Java programming language keywords.
  • State the effect of using a variable or array element of any kind when no explicit assignment has been made to it.
  • State the range of all primitive formats, data types and declare literal values for String and all primitive types using all permitted formats bases and representations.
  • Determine the result of applying the boolean equals (Object) method to objects of any combination of the classes java.lang.String, java.lang.Boolean and java.lang.Object.
  • Write code using the following methods of the wrapper classes (e.g., Integer, Double, etc.):

  • * doubleValue
    * floatValue
    * intValue
    * longValue
    * parseXxx
    * getXxx
    * toString
    * toHexString

    [ December 22, 2004: Message edited by: Tomas Conway ]