Siemens AC65 Benutzerhandbuch

Seite von 123
Java User’s Guide
13 Java Tutorial
122
s
wm_java_usersguide_v12
Page 113 of 123
2008-02-25
Confidential / Released
13
Java Tutorial
This small tutorial includes explanations on how to use the AT Command API and suggestions
for programming MIDlets. The developer should read about MIDlets, Threads and AT com-
mands as a complement to this tutorial. 
13.1
Using the AT Command API
Perhaps the most important API for the developer is the AT command API. This is the API that
lets the developer issue commands to control the module. This API consists of the ATCom-
mand
 class and the ATCommandListener and ATCommandResponseListener interfaces.
Their javadocs can be found in …\wtk\doc\html\index.html, 
.
13.1.1
Class ATCommand
The ATCommand class supports the execution of AT commands in much the same way as
they would be executed over a serial interface. It provides a simple way to send strings directly
to the device’s AT parsers. 
13.1.1.1
Instantiation with or without CSD Support
There can be only exactly as many ATCommand instances as there are parsers on the device.
If there are no more parsers available, the ATCommand constructor will throw ATCommand-
FailedException
. All AT parser instances support CSD. However from a Java application point
of view it may make sense to have one dedicated instance for CSD call handling. Therefore,
and also for historical reasons, only one parser with CSD support may be requested through
the constructor. If more then one parser with CSD support is requested, the constructor will
throw ATCommandFailedException. 
The csdSupported() method returns the CSD capability of the connected instance of the
device's AT parser. The method checks as well, if the current mode of the module supports
CSD. Please notice that this check has not been done when opening the ATCommand
instance.
release() releases the resources held by the instance of the ATCommand class. After calling
this function the class instance cannot be used any more but the resources are free to be used
by a new instance
try {
ATCommand atc = new ATCommand(false);
  
/* An instance of ATCommand is created. CSD is not explicitly
   
* requested. */
}
catch (ATCommandFailedException e) {
System.out.println(e);
}
boolean csd_support = atc.csdSupported();