1. JIL Spec은 단말기의 Service들을 아래 5개의 Category로 제공한다.

– Telephony : 전화를 거는 기능과 통화목록 DB에 접근하는 기능.
– PIM : 전화번호부와 일정 DB에 접근하는 기능.
– Multimedia : Camera와 같이 Multimedia 기능을 제공하는 모듈
– Device : 단말기의 정보를 제공, Filesystem으로의 접근을 제어하는 역활도 한다.
– Messaging : sms. mms, e-mail등의 메시지를 전송, 수신하는 기능을 제공하며, DB에 저장된
         메시지 데이타를 제공하는 역활을 한다.
2. 발생가능한 에러
– Widget.ExceptionTypes.UNSUPPORTED : widget engine이 해당 기능을 제공하지 않을 때 발생.
– Widget.ExceptionTypes.SECURITY : 보안문제로 인해 해당 함수를 허용하지 않을 때 발생.
– Widget.ExceptionTypes.INVALID_PARAMETER : 함수의 인자가 적절하지 않을 때 발생하는 에러
– Widget.ExceptionTypes.UNKNOWN : 이유가 분명하지 않을 때 발생하는 에러
3. Prototype of Widget Object

     – Constructor
+ Widget()

     – Field Summary
+ Excaption
+ ExcaptionTypes
+ Device
+ Messaging
+ Multimedia
+ PIM
+ Telephony
     – Method Summary
+ onFocus() : 다수의 widget이 동시에 실행되는 상황에서 Widget이 Focus를 얻는 순간 호출되는 Callback Method.
+ onMaximize() : Widget이 Miximized Mode로 변경될 때 호출되는 Callback Method.
+ onRestore() : Widget이 Default Display Mode로 변경될 때 호출되는 Callback Method.
+ onWakeup() : Widget이 Background에서 Foreground로 올라올 때 호출되는 Callback Method.
+ openURL(<String> url) : url의 scheme에 맞는 단말기의 app을 실행시키는 Method.
– Example of Schemes, which are generally used in a device.
   sms : 단말기의 Native Messaging App을 실행
   http : 단말기의 Browser를 실행
   tel : 전화 발송
   some more schemes can be added.
+ String preferenceForKey(<String> key) : setPreferenceForKey 함수를 사용하여 key값으로 저장한 값이 있을
 경우 이를 반환하고, 만약 key값으로 저장된 것이 없을 경우 undefined를 반환한다.
 – key  :  identifier of the preference
+ setPreferenceForKey(<String> value, <String> key) : <key, value> pair의 preference를 저장한다.
만약 value가 null일 경우 preference를 삭제한다.
ExceptionTypes.UNSUPPORTED : 만약 key가 read-only로 config.xml에 정의되어 있을 경우.