Pull to refresh

Экспорт и импорт личных данных телефона

Reading time2 min
Views2.4K
Столкнулся с проблемой, что нужно было забрать свои контактные телефоны и все события в календаре с телефона и перекинуть на другой. Ходя по разным сервисам ничего не нашёл. Пришлось написать все самому.

Не буду показывать весь код программы, покажу лишь как забирать и записывать номера в телефон. На Nokie E60 работает нормально, на других телефонах я не тестил.

j2me позволяет импортировать и экспортировать личные данные давая свои API для этих целей. К личным данным относится: контакты, напоминания и задачи. Больше теории и описание всех методов класса можно найти тут или тут.

Забираем телефоны:

//запускаем экземпляр класса личных данных
PIM pim = PIM.getInstance();
ContactList lists = null;
try {
//все наши контакты забираем в переменную lists
lists = (ContactList) pim.openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE);
} catch (Exception e) {}

// Перебираем телефоны и сохраняем их
Enumeration contacts = null;
try {
contacts = lists.items();
} catch (PIMException ex) {
ex.printStackTrace();
}
//переменная для хранения контактов по отдельности
Contact next = (Contact) contacts.nextElement();
//количество телефонов
int count = next.countValues(Contact.TEL);
String all_telephone = "";
for (int i = 0; i < count; i++) {
//сохраняем данные и накапливаем их
String phone = next.getString(Contact.TEL, i);
all_telephone += phone+"\n";
}
list = new StringItem("List:", all_telephone);


Записываем новый телефон:

//переменная для храниения данных, которые мы будем записывать
Contact create_next = lists.createContact();
int attrs = Contact.ATTR_HOME;
//аттрибут телефона
create_next.addString(Contact.TEL, attrs, "9379992");
//аттрибут имени
create_next.addString(Contact.ORG, PIMItem.ATTR_NONE, "Жди меня");
try {
//сохраняем в телефоне
create_next.commit();
} catch (PIMException ex) {
ex.printStackTrace();
}
Tags:
Hubs:
+6
Comments10

Articles