Сторонние библиотеки


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

NineOldAndroids - один из примеров таких библиотек. Она предназначена для использования анимации, которая стала доступна только с версии Honeycomb (Android 3.0), на всех более ранних платформах. Она поддерживает различные возможности анимации и очень удобна в использовании (см. рис. 14.3). Главным преимуществом этой библиотеки является то, что она работает для всех версий Android, начиная с 1.0.

Использование библиотеки NineOldAndroids

Рис. 14.3. Использование библиотеки NineOldAndroids

Другим примером подобного решения является автономная библиотека ActionBarSherlock. С ее помощью можно использовать нативный компонент ActionBar, появившийся только в версии Android 4.0, в более ранних (2.x и выше). Ее можно загрузить с официального сайта. Там же содержатся подробные указания по работе с этой библиотекой, имеются примеры. На рис. 14.4 представлена работа приложения, использующего библиотеку ActionBarSherlock, на устройствах со старыми версиями.

Использование библиотеки ActionBarSherlock

Рис. 14.4. Использование библиотеки ActionBarSherlock

14.2.3 Библиотеки специального назначения

Yandex.Metrica for Apps - набор библиотек для сбора статистики использования мобильного приложения. Метрика показывает актуальную статистику об использовании приложения. Сервис позволяет отвечать на вопросы об аудитории и выделять любые ее сегменты. Инструменты помогают понять, как люди пользуются приложением. SDK позволяет отслеживать следующие данные:

  • информация об устройстве;
  • информация о сессиях;
  • информация об источнике перехода пользователя на страницу скачивания приложения;
  • действия, выполненные пользователем в приложении;
  • местоположение пользователя;
  • ошибки, возникающие во время использования приложения;
  • собственные события;
  • другие данные (например, количество пользователей, установивших приложение).

Подробные инструкции по добавлению в приложение Яндекс.Метрики и работе с ней есть на официальном сайте.

Facebook SDK for Android - официальная библиотека Facebook для Android. Позволяет писать сообщения на стену, читать и менять статусы, смотреть ленту друзей и многое другое. Официальный сайт содержит большое количество примеров и указаний по разработке приложений (см. рис. 14.5).

Пример приложения, подготовленного с использованием Facebook SDK for Android

увеличить изображение
Рис. 14.5. Пример приложения, подготовленного с использованием Facebook SDK for Android

14.2.4 Прикладные библиотеки

К этой категории можно отнести различные библиотеки, предоставляющие дополнительные возможности.

Universal Image Loader for Android - мощная и гибкая библиотека, предназначенная для загрузки, кеширования и отображения картинок в Android. Подробности на сайте.

Возможности:

  • Многопоточная загрузка изображений.
  • Широкие возможности настройки и конфигурирования.
  • Кеширование загруженных изображений как в оперативной памяти, так и на карте.
  • Поддержка виджетов.
  • Поддерживает Android 2.0 и выше.
Пример работы с библиотекой Universal Image Loader for Android

увеличить изображение
Рис. 14.6. Пример работы с библиотекой Universal Image Loader for Android

jsoup: Java HTML Parser предназначена для парсинга HTML-страниц. Предоставляет очень удобный API для извлечения данных и манипуляции с ними, используя DOM, CSS и методы в стиле jQuery. Поддерживает спецификации HTML5 и позволяет парсить страницы так же, как это делают современные браузеры.

Возможности:

  • Может принимать в качестве параметра URL, файл или строку.
  • Находит и извлекает данные, используя DOM и селекторы CSS.
  • Позволяет манипулировать HTML-элементами, атрибутами и текстом.
  • Выводит чистый HTML.

Примеры ее использования есть на официальном сайте.

Android Holo ColorPicker - удобная библиотека, позволяющая выбирать цвет с использованием цветового колеса, выполненная в официально рекомендованном стиле Holo. Сайт библиотеки содержит описание работы с ней и необходимые ссылки.



Рис. 14.7. Пример использования Android Holo ColorPicker

Библиотека MapNavigator предназначена для работы с картами Google Maps. Позволяет определять направления и отображать маршрут на карте. Работает только с Google Maps v2. Скачать можно на официальном сайте.

Пример использования библиотеки MapNavigator

увеличить изображение
Рис. 14.8. Пример использования библиотеки MapNavigator

AChartEngine - библиотека, предназначенная для построения графиков. Позволяет строить графики различных типов:

  • Линии графиков функций.
  • Поточечные графики.
  • Гистограммы.
  • Круговые диаграммы.
  • Пузырьковые диаграммы.
  • Комбинированные диаграммы.
  • Другие виды диаграмм и графиков.

Все типы диаграмм поддерживают несколько рядов данных.

Сайт разработчика содержит подробную документацию, оформленную в стиле Javadoc pages, примеры использования библиотеки, а также ее исходный код.



Рис. 14.9. Пример использования библиотеки AChartEngine

Разумеется, мы рассмотрели лишь малую долю существующих библиотек. Обзор не претендует на полноту, но это не так важно, так как его целью было представить многообразие возможностей, открывающихся перед разработчиком. Кроме того, большое количество разнообразных библиотек описаны на сайте http://www.androidviews.net/.

14.3 Безопасность использования подключаемых библиотек

Подключаемые библиотеки являются очень удобным инструментом, облегчающим труд программиста. Однако разработчики приложений, использующие сторонние библиотеки подобного рода, часто не подозревают об их проблемах с безопасностью. Библиотека может содержать возможности, которые могут использоваться злоумышленниками в преступных целях.

Например, в октябре 2013 года была опубликована статья с результатами исследования, согласно которому популярная у разработчиков библиотека, предоставляющая возможность отображения рекламы в приложениях, может использоваться для сбора информации и запуска вредоносного кода. Исследователи не раскрыли истинного названия библиотеки, зато описали возможный вред. Например, она может запускать на устройстве произвольный код, извлекать текстовые сообщения, список контактов и вызовов, передавать секретную информацию пользователя в виде простого текста по протоколу HTTP, использовать камеру без ведома пользователя, запускать вредоносные java-скрипты. Злоумышленник может превратить эту библиотеку в ботнет, перехватывая ее трафик и отправляя вредоносные команды и код [37].

При выборе библиотеки следует соблюдать осторожность. Если библиотека поставляется в виде исходников и о ней мало информации, не лишним будет просмотреть ее код в поисках странных функций, которые не нужны для ее функционирования. Но для уже собранной библиотеки анализ исходников может стать непростой задачей. Поэтому при выборе библиотеки следует соблюдать ряд правил:

  • Не использовать скомпрометированные библиотеки. Если о какой-то библиотеке появляются сведения, что она может содержать вредоносный код, следует отказаться от ее использования в новых проектах и по возможности пересмотреть ее применение в уже существующих.
  • С осторожностью использовать библиотеки из сомнительных источников.
  • Обязательно ознакомиться с форумами и сайтами, где могут обсуждаться библиотеки. Кроме того, это может помочь вам подобрать наиболее подходящее решение для вашей конкретной задачи.
  • По возможности просмотреть исходники.
  • Применять другие правила информационной безопасности, которые могут иметь значение в каждом конкретном случае.


Последнее изменение: Tuesday, 19 November 2019, 21:21