J2ME: кроссплатформенное получение контактов с помощью PIM

Мне нужно разработать решение, основанное на получении данных из адресной книги. Эти данные должны быть сохранены в текстовом формате. Я написал его с помощью Java™ Platform Micro Edition SDK 3.0.

    public void getAddrBook() throws Exception{
        addrStr= new StringBuffer("");
        pim = PIM.getInstance();
        try{
            contactList = (ContactList)pim.openPIMList(PIM.CONTACT_LIST, PIM.READ_ONLY);
            itemList.removeAllElements();
            int kk=0;
            for (Enumeration items = contactList.items(); items.hasMoreElements();kk++) {
                PIMItem item = (PIMItem)items.nextElement();
                itemList.addElement(item);
                if (kk>5) break;
                //detailed enumeration of fields
                int[] fields = item.getPIMList().getSupportedFields();
                for (int i = 0; i < fields.length; i++) {
                    int field = fields[i];
                    int dataType = item.getPIMList().getFieldDataType(field);
                    String label = item.getPIMList().getFieldLabel(field);
                    //checking type of PIMItem
                    //can be STRING, BOOLEAN, STRING_ARRAY, DATE, INT, BINARY
                    if (dataType==PIMItem.STRING){
                        for (int j=0; j

                    }
                    //String sValue = item.getString(field, 0);
                    //System.out.println("["+label+"] - "+sValue);
                    //System.out.println("["+label+"] - ");//+sValue);
                }
            }
        }
    }
    catch(PIMException e){
        throw new Exception("Some errors with access to address book");
        //TODO: check empty list and other

    }
}

Но этот код работает только в эмуляторе и не работает в реальном телефоне. Как мне использовать PIM для сохранения данных в текстовом формате?

Также я разрешил доступ к книге контактов. Я думаю, что ошибка использует структуру PIM. Мне нужен рабочий образец. У кого есть? (:


person lc0    schedule 11.10.2010    source источник
comment
Вы можете зарегистрировать исключение где-нибудь на устройстве и опубликовать его здесь ..   -  person jmj    schedule 11.10.2010
comment
Да, я могу. Это недопустимый аргумент атрибута: 0 сообщение в исключении.   -  person lc0    schedule 11.10.2010


Ответы (1)


JSR75 PIM API имеет встроенные функции безопасности, которые требуют, чтобы приложения были снабжены цифровой подписью надежного источника. Подписать можно на таких сайтах, как GeoTrust (я использовал его для AT&T на Sony Ericsson W810).

В дополнение к подписанию приложения вам потребуется включить разрешения в JAD-файле приложения. Следующие 6 разрешений возможны для API PIM.

javax.microedition.pim.ContactList.read
javax.microedition.pim.ContactList.write
javax.microedition.pim.EventList.read
javax.microedition.pim.EventList.write
javax.microedition.pim.ToDoList.read
javax.microedition.pim.ToDoList.write
person Sydney    schedule 02.02.2011