#ff0000 21  2006 . - #000655 JSR 75.  1 - Personal Information Management (PIM) API.     
#def   JSR 75    : 
The FileConnection (FC) API -                 . 
The Personal Information Management (PIM) API -     ,   . 

  JSR 75    CLDC 1.0  .   (FC  PIM)       .        .    J2ME        . JSR 75    : Nokia 6230i, 6235, 6235i, 6255, 7270 ,3152, 3155, 3155i, 5140i, 6030, 6101,6102,6111, 6152, 6155, 6155i, 6265, 6265i, 6270, 6630, 6280, 6680, 6681, 6682, 6822, 8800, 8801, 9300, 9500, N70, N90;  Sony Ericsson W800i, W800c, K750i, K750c, K600i, K600c, D750i ,Z520i, Z520a, Z520c, W600, K608i, V600ids.     . 
Personal Information Management (PIM) API

  PIM       ,    ,      -  . PIM        ,      vCard  vCalendar.            . 

 PIM    PIM ,   PIM : 
  (Contact),  ,      . 
  (Event),         . 
  (ToDo),  ,    . 
       .         . 
PIM API

PIM API    javax.microedition.pim (  javax.microedition.io.pim).     ,  ,     : 
 PIM API	
PIMItem	     PIM .
PIMList	   ContactList, EventList,  ToDoList,         PIMItem .
Contact	    ;       vCard .
ContactList	 Contact .
Event	    .
EventList	 Event .
ToDo	    .
ToDoList	 ToDo .
 PIM API	
PIM	      PIMList   .
RepeatRule	  Event ,      ;         RRULE  VEVENT,    vCalendar 1.0.
FieldEmptyException	        ,       .
FieldFullException	          
PIMException	    PIM  
UnsupportedException	        PIM     .
   ,    PIM API,    System.getproperty()   microedition.pim.version.      API  null,  PIM    . 
String v = System.getProperty( "microedition.pim.version" );
if( v != null )
    {
    // PIM 
    } else {
    // PIM  
    }
 PIM API
       PIM: 
import javax.microedition.pim.*;

PIM singleton = PIM.getInstance(); 
 PIM   PIMList ,   : ContactList, EventList  ToDoList. 
      PIM     openPIMList(int par1, int par2, String par3).       : 
PIM.CONTACT_LIST -    
PIM.EVENT_LIST -    
PIM.TODO_LIST -    
    : 
PIM.READ_ONLY -   
PIM.READ_WRITE -    
PIM.WRITE_ONLY -   
       PIM ,     .     , openPIMList()     .     ,    PIMException. 
PIM pim = PIM.getInstance();
ToDoList list = null;

try {
   list = (ToDoList) pim.openPIMList(PIM.TODO_LIST, PIM.READ_ONLY, "list-name");
   //  
} catch (PIMException pe) {
  //    
} catch (SecurityException se) {
  // MIDlet       
}

 ,        SIM      .  ,    PIM   .  ,        .     PIM ,    listPIMLists(). 
PIM   ,   PIMItem    Contact, Event  ToDo.     PIM ,    items().       nextElement(): 
Enumeration enum = list.items();
while(enum.hasMoreElements()) {
    ToDo task = (ToDo) enum.nextElement();
    //  -  
}  ,      / . 
//      .
PIM pim = PIM.getInstance();
ContactList clist;
try {
   clist = (ContactList) pim.openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE);
} catch(Exception e) {
   // security or other exception
}

//  .
//  countValues()   , 
//    .
Enumeration contacts = clist.items();
Contact c = (Contact) contacts.nextElement();
int phoneNumbers = c.countValues(Contact.TEL);
for(int i = 0; i < phoneNumbers; i++) {
   if((c.getAttributes(Contact.TEL) != 0) & Contact.ATTR_HOME != 0) {
      //  
      String home = c.getString(Contact.TEL, i);
   }
}

//   
Contact c = clist.createContact();
int attrs = Contact.ATTR_HOME;
c.addString(Contact.TEL, attrs, "416-799-1313");
//       
c.addString(Contact.ORG, PIMItem.ATTR_NONE, "someName Corporation");
//      
c.commit();
...

     countValues(),     .       getAttributes(int field), getString(int field, int index), getDate(int field, int index)  getInt(int field, int index),  field -   ,  index -  . 
   PIMItems    createContact(), createEvent(), createToDo().    -  addDate(int field, int attributes, long value), addInt(int field, int attributes, int value), addString(int field, int attributes, java.lang.String value). 
 ,       .        .  ,    ,   isSupportedField(). 
  J2ME Wireless Toolkit 2.2   PIM 
J2ME Wireless Toolkit 2.2    PDAPDemo    PIM . 
        .  PIM     toolkit/appdb/DefaultColorPhone/pim/contacts/Contacts, toolkit/appdb/DefaultColorPhone/pim/events/Events  toolkit/appdb/DefaultColorPhone/pim/todo/ToDo.     vCard,     -  vCalendar. 
     vCard.      ,     toolkit/appdb/DefaultColorPhone/pim/contacts/Contacts/sample.vcf 

BEGIN:VCARD
VERSION:2.1
N:Mahmoud;Qusay;H.
FN:Qusay H. Mahmoud
ORG:JavaCourses
TITLE:Developer
NOTE:Helping You With Java!
TEL;WORK;VOICE:(416) 999-1111 ext 1000
TEL;WORK;FAX:(416) 333-9999
ADR;WORK;ENCODING=QUOTED-PRINTABLE:;;1500 Java Ave.=0D=0ASuite 101;Toronto;ON;M9V1L1;Canada
LABEL;WORK;ENCODING=QUOTED-PRINTABLE:1500 Java Ave.=0D=0ASuite 101=0D=0AToronto, ON M9V1L1=0D=0ACanada
URL;WORK:http://www.javacourses.com
EMAIL;PREF;INTERNET:qmahmoud@javacourses.com
REV:20043335T124220Z
END:VCARD
      vCalendar.      ,     toolkit/appdb/DefaultColorPhone/pim/events/Eevnts/sample.vcs 

BEGIN:VCALENDAR
VERSION:1.0
BEGIN:VEVENT
DTSTART:19980114T210000Z
DTEND:19980114T230000Z
LOCATION:My office
CATEGORIES:Business
DESCRIPTION;ENCODING=QUOTED-PRINTABLE:This is a note associated with the meeting=0D=0A
SUMMARY:Meeting to discuss new architecture
PRIORITY:3
END:VEVENT
END:VCALENDAR