Open contacts для android

Open Contacts™

Open Contacts is an advanced address book program for managing contact info of individuals and organizations with relationships. Distributed as freeware, the program was designed for people who need more beyond ordinary address book programs in order to improve dynamic interactions with contacts. In addition, with SyncML for Open Contacts, you may synchronize contact info with smart phone, PDA and Web address books etc.

  • Unlimited data fields to store any contact info. Along with predefined fields, you may add unlimited data fields grouped by section.
  • Manage relationships between individuals, organizations and departments.
  • Comprehensive Categories. You may click on a category to view contacts of the category, or right click to list contacts of subcategories recursively.
  • Search through any data field, and search birthday of people.
  • Interact with Windows applications of telephony, Skype, emailing or Web/File browsing etc.
  • Map service with Google Maps. You may use either single line address or multi-line address. Yahoo Maps and Microsoft Live Maps are also supported through custom action plug-in programs.
  • Print contact info and labels on papers of different sizes.
  • Import from MS Outlook, Outlook Express (WAB), Eudora, Netscape/Mozilla Thunderbird, XML (xCard), CSV, LDIF, Windows Contacts and vCard.
  • Export to indented text, CSV, Excel, vCard, XML (xCard), HTML, hCard and XFN (XHTML Friends Network).
  • Portable. You may bring your address book database and the program in an external device such as a USB flash disk, and run the program on any Windows PC.
  • LAN supports for multiple users in Local Area Network, using true Client/Server architecture.
  • Synchronize with smart phones, PDA and other programs through a SyncML server.

Please also have an overview of full capacity of Open Contacts for using contact info through this big picture.

SyncML Client for Open Contacts synchronizes your contact info among smart mobile phones, PDA and other programs.

OC Birthday Reminder Helper supports reminding you about birthdays of your contacts, through Email, popup and SMS.

OC Birthday Reminder Console reminds you regularly about birthdays of your contacts within a period.

Google Desktop Open Contacts Plug-in is available for you to lookup contacts on Google Desktop through name, phone, Email or address.

Источник

Open contacts для android

Краткое описание:
Менеджер звонков. Контакты.

Описание:
Приложение позволяет создавать альтернативную системной базу номеров со своим менеджером вызовов. Это позволит вам скрыть контакты от разного рода приложений, которые запрашивают полный доступ к контактам. При вызове, поверх основного окна вызовов появляется дополнительное окно Open Contacts с именем контакта. Поддерживается импорт и экспорт контактов, и интеграция с WhatsApp.
Приложение с открытым исходным кодом и не требует доступа в интернет(с 13 версии появился доступ в сеть для отправки ошибок при падении приложения. Опционно, по решению пользователя. С 17 версии добавлена
CardDAV синхронизация).

Требуется Android: 4.0 и выше.
Русский интерфейс: Да (с версии 17.0)

Читайте также:  Сколько пройдено шагов андроид

Скачать:
opencontacts.open.com.opencontacts_20.apk ( 2.5 МБ )

Скачать:
версия: 18.0
opencontacts.open.com.opencontacts_18.apk ( 2.47 МБ )

Скачать:
версия: 17.0
opencontacts.open.com.opencontacts_17.apk ( 2.42 МБ )

Скачать:
версия: 16.0
opencontacts.open.com.opencontacts_16.apk ( 2.11 МБ )

Скачать:
версия: 14.0
Open Contacts-14.0.apk ( 2.11 МБ )

Скачать: версия: 11.0
Open Contacts-11.0.apk ( 1.64 МБ )

Скачать: версия: 9.0
opencontacts.open.com.opencontacts.apk ( 1.44 МБ )

Скачать: версия: 7.0 opencontacts.open.com.opencontacts_7.apk ( 1.28 МБ )

Сообщение отредактировал tweed_man — 31.07.20, 06:59

Сообщение отредактировал tweed_man — 17.12.18, 17:33

libertyequalityfraternity, хотелось бы какую то синхронизацию с календарем( календаря правда ещё не встречал подходящего , open source и без доступа к интернету) , чтобы дни рождения контактов заносить сюда и чтобы они в календаре появлялись. Также темную тему хотелось бы . А еще почему то приложение периодически вылетало ( останавливалось) на моем смартфоне со стоковой прошивкой , пришлось удалить.
Хотелось бы все таки заменить в перспективе Google Contacts на это или подобное приложение с открытыми исходниками , которое не будет сливать контакты на сервера Google, Facebook или других корпораций — монополий.

Сообщение отредактировал Sage Compassion — 03.01.19, 18:35

Программа так сказать андеграудная. Не всем это надо. Единицам.
Большинство хочет чтоб их видели, знали, смотрели, оценивали. И пусть сливают контакты. Это не то чтобы стало нормой, это вот такая вывернутая обычность. Все с ног на голову.
Программа шикарная. Но сырая — факт. Падает, ошибки, конфликты с другими приложениями. Хотя, на разных устройствах и версиях андроид ведет себя по разному.
Будем ждать изменений.. Однако, вся эта история с FOSS. Не понимаю, чисто по человечески, что движет этими людьми.. Уважение им..

Сообщение отредактировал tweed_man — 03.01.19, 21:54

Страшненькая (-:
Но интересная. Подождём, что будет.

Сообщение отредактировал Три рубля — 05.01.19, 12:30

Что нового: V13.0
Added traditional chinese translation
Fixed caller id not popping up in Android pie
Toggle T9 search with text search
Date of birth and website fields are now supported in app
Clicking address would now open maps
On clicking date of birth, will add that event in calendar
On clicking webiste, will take you there
Call log now groups same contact entries if they are within an hour
Fixed app crash in 4.2.2


OpenContacts [13.0].apk ( 1.98 МБ )

Сообщение отредактировал washerron — 13.04.19, 23:40

V13.0
Добавлен традиционный китайский перевод
Исправлена ошибка, при которой идентификатор звонящего не появлялся в Android-Pie.
Переключить поиск T9 с текстовым поиском.
Поля даты рождения и сайта теперь поддерживаются в приложении.
При нажатии на адрес теперь открываются карты.
При нажатии на дату рождения, добавим это событие в календарь.
При нажатии на веб-сайт, вы попадете туда
Журнал вызовов теперь группирует одни и те же записи контактов, если они находятся в течение часа.
Исправлено падение приложения в 4.2.2
v12.0
Исправлено падение приложения из-за неправильных правил Proguard
v11.0
Теперь пользователь сможет переключать формат времени на 12/24 часа
Исправлен сбой сборки релиза — правила proghard для okhttp
Логика сравнения чисел была обновлена для поддержки 8-значных чисел
v10.0
** UI **
Вкладки теперь являются частью панели приложения
Иконки теперь меняют цвет в соответствии с темой
Обновленная страница с контактными данными
**Характеристики**
Интеграция с WhatsApp теперь не обязательна
Импорт контактов теперь запрашивает подтверждение
Данные VCard (как есть) также импортируются
Контактные данные теперь показывают типы телефонных номеров
Теперь пользователь может видеть / редактировать адрес, электронную почту и заметки о контакте
Длинное нажатие теперь копирует электронную почту и адрес
При нажатии на адрес электронной почты откроется приложение электронной почты
О странице теперь также говорит номер версии приложения
** Исправлены ошибки **
Oreo теперь будет получать уведомления о пропущенных звонках
Исправлена ошибка CallerId в леденце

Читайте также:  All ридер для андроид

Очень нестабильная версия.
Для использования, автор пишет, типа экспортируйте, удалите и снова импортируйте контакты. Но импорт не идет..
Плюс для не понятных целей вшит доступ к сети. Ставьте на свой риск.
Upd.. — опционная отправка баг репортов.

Сообщение отредактировал tweed_man — 04.01.20, 11:21

Источник

Основы Contacts API в Android

Введение

Начиная с версии 5 API Android SDK интерфейс работы с контактами изменился, а основной контент провайдер Contacts и все его составляющие получили черную метку @Deprecated. Теперь за работу с контактами отвечает провайдер ContactsContract. Эти изменения связаны с изменением структуры хранения контактов, более адаптированной для Android устройств, которым требуется хранить контакты из множества разных источников и предоставлять их пользователю как единую сущность. Ведь сегодня, определенный контакт на нашем мобильном устройстве это не только имя и номер телефона, мы можем захотеть сохранить eMail, Im, Twitter, Facebook аккаунт определенного человека, и при этом, мы не хотим чтобы у нас нас появилось миллион непонятных записей. Поэтому новый Contacts API позволяет Android агрегировать похожие контакты и представлять их пользователю в одной записи, а также связывать контакт с разного рода данными.

Структура данных

На устройстве основная информация о контактах хранится в трех таблицах, на деле их там конечно больше, но мы рассмотрим основные три: contacts, raw_contacts и data. Чтобы было более наглядно я набросал простую схему в Dia.

В таблице contacts хранятся агрегированные контакты, каждая запись в этой таблице представляет собой пользовательский контакт (единую сущность) – объединение одного или нескольких сырых (необработанных) контактов из таблицы raw_contacts. Как видно на схеме, связь между этими таблицами один ко многим (1-N). Одна запись в таблице raw_contacts представляет собой так называемый сырой контакт. Сырой контакт, на языке Android, означает какой-то конкретный набор данных для определенного контакта. Но сами основные данные в этой таблице не хранятся, они хранятся в таблице data, и связь между raw_contacts и data также один ко многим. В таблице data хранятся непосредственно данные. Причем каждая строка этой таблицы это набор данных определенного типа для контакта. Какого именно типа данные хранятся в строке определяется столбцом mimetype_id, в котором содержится id типов данных определенных в таблице mimetype(например vnd.android.cursor.item/name, vnd.android.cursor.item/photo). Теперь разберемся во всем по подробней и с примерами.

Работаем с контактами

Хорошо, допустим мы хотим добавить контакт (Robert Smith, моб.тел. 11-22-33), как нам это сделать? В таблицу contacts мы сами, явно, не можем добавить контакт, так как система сама формирует эту таблицу агрегируя похожие raw_contacts. Идентичность контактов система определяет в основном по имени (одинаковые имена, фамилии и т.п.), но и по другим критериям, каким именно и как ими управлять можно посмотреть в документации. То есть, если мы добавим raw_contact нашего Роберта (Robert Smith) и свяжем его с данными типа vnd.cursor.android.item/phone, а потом у нас появится “похожий”, для системы, Robert Smith связанный с данными типа vnd.cursor.android.item/email и еще один с данными типа vnd.cursor.android.item/photo, то у нас в контактах будет один Robert Smith с фотографией, мобильным и email’ом.

Читайте также:  Как узнать андроид оригинал или нет

Теперь попробуем переложить это на код. За таблицы и их поля отвечает, как я уже говорил, класс ContactsContract и его внутренние классы и интерфейсы. Например интерфейсом к таблице raw_contacts является класс ContactsContract.RawContacts, а за таблицу data класс ContactsContract.Data. Будьте внимательны когда изучаете их константы – интерфейсы к столбцам – обращайте внимание на метки read/write и read only.

Из написанного выше следует, что для начала, мы должны добавить сырой контакт, а потом связывать его с данными. Добавить пустой контакт можно так:

В контактах у вас должен появиться пустой (Unknown) контакт, ни с чем не связанный. Добавим ему имя. Чтобы это сделать, мы должны связать наш новый контакт с новыми данными используя его id, который можно достать из прошлого запроса. Основные интерфейсы к полям таблицы данных содержаться в классе-контейнере ContactsContract.CommonDataKinds и его внутренних классах и интерфейсах. Например, сейчас нам понадобиться
класс ContactsContract.CommonDataKinds.StrucruredName содержащий нужные нам константы для добавления имени, а также константу MIME типа, которой мы пометим наше поле в таблице данных.

Если мы добавим контакт таким образом, то в списке контактов у нас появиться Robert Smith. Теперь идем дальше, добавим нашему контакту еще и телефон. Для этого нам понадобиться класс ContactsContract.CommonDataKinds.Phone, который является интерфейсом к данным телефонного номера.

Теперь в контактах у нас есть Robert Smith которому можно позвонить. Но вот так добавлять контакт и данные к нему, в несколько запросов, дорого и накладно. Поэтому существует класс ContentProviderOperation, который позволяет построить запрос, который выполнит все наши операции за одну транзакцию. Именно им и рекомендуют пользоваться. Вот так можно добавить нашего Роберта используя ContentProviderOperation.

Вот таким образом в Android можно добавлять контакты. Будьте осторожны используя ContentProviderOperation, так как слишком большой запрос может долго выполняться. Вообще все операции лучше производить в отдельном потоке, потому, что у пользователя, например, может быть слабый телефон и много контактов.

В остальном все другие операции выполняются обычным образом, используя те провайдеры, которые вам необходимы, с некоторыми оговорками. Например, удаление контакта из таблицы contacts удалит все raw_contacts с ним связанные и т.д.

Вот так можно попробовать найти нашего Роберта в контактах:

На этом хотелось бы завершить статью, все же это были только основные сведения о Contacts API в Andoid. Я надеюсь мне удалось описать здесь основные принципы, а вся конкретика зависит от того, что вам необходимо сделать в процессе работы. Можно просто руководствоваться этими принципами и находить в официальной документации интерфейсы которые вам нужны для работы. Успехов!

Источник

Оцените статью