- Библиотеки
- Описания популярных библиотек
- Библиотеки для загрузки изображений с котиками
- Графики и диаграммы
- Графики MPAndroidChart в Android Studio
- Справочная информация
- Создание болванки
- Подключение библиотеки
- Создание компонента графика
- Добавление графика с данными
- Две линии на графике
- Настройка графиков
- Полные коды активности
- Android studio графики chart
- Добавьте диаграммы в ваше приложение для Android, используя MPAndroidChart
- Предпосылки
- 1. Добавление MPAndroidChart в проект
- 2. Создание DataSet
Библиотеки
Java-библиотеки позволяют хранить код для какой-то задачи в одном месте и использовать в разных проекта, просто подключая её.
В Android Studio библиотека подключается через Gradle. Просто добавляем строку в блок с зависимостями и студия сама скачает и установит библиотеку.
Описания популярных библиотек
Библиотека EventBus — рассылаем и реагируем на события.
joda-time-android — Популярная библиотека Joda-Time для Android, позволяющая работать с датой и временем.
AndroidSlidingUpPanel — выдвигающая панель сверху или снизу.
Rebound — библиотека для создания анимационных эффектов у компонентов
GSON — библиотека для работы с JSON.
Moshi — современная библиотека для работы с JSON.
Card Library — интересная библиотека для создания карточек. Автор библиотеки рассказывает о ней на своей странице. А на ГитХабе сама библиотека в исходных кодах. Сам ещё не использовал, но демо библиотеки мне понравилось.
svg-android — работа с векторными изображениями SVG
Android-Query (AQuery) — простой способ использования асинхронных задач и управления UI-элементами
Библиотека Okio для операций ввода/вывода
Библиотеки для загрузки изображений с котиками
Picasso — библиотека для загрузки изображений с разнообразным функционалом.
Glide — похожа по синтаксису и функционалу на Picasso. Библиотека поддерживает анимированные GIF-файлы.
Universal Image Loader — библиотека для загрузки изображений из сети или локальных носителей
koush/ion — и ещё одна популярная библиотека для асинхронных соединений и загрузок изображений.
Fresco | An image management library — Facebook тоже решил внести свою лепту в создании библиотеки для загрузки изображений.
Coil — относительно новая библиотека на Kotlin с корутинами.
Графики и диаграммы
AChartEngine — библиотека для рисования графиков
GraphView — ещё одна библиотека для графиков. Доступны два вида. Встраивается в разметку активности через код.
HoloGraphLibrary — Ещё одна библиотека для рисования графиков.
blackfizz/EazeGraph — и ещё одна библиотека с разными типами графиков.
Источник
Графики MPAndroidChart в Android Studio
Для рисования графиков будем использовать библиотеку MPAndroidChart с 25 тысячами звезд на GitHub.
Справочная информация
У компонента хорошая документация и хороший тестовый пример, откуда можно почерпнуть много полезной информации:
Создание болванки
Создадим для примера пустое приложение в Android Studio с LinearLayout и кнопкой, для которой подготовим слушателя клика.
Файл MainActivity.java (без строки package ):
Подключение библиотеки
На странице библиотеки посмотрите текущее описание подключения библиотеки:
И в файле настроек Gradle скопируйте два куска кода в указанные ниже ан рисунке места и синхронизируйте проект:
Попробуйте запустить проект на эмуляторе или физическом устройстве:
Если всё запустилось хорошо, то всё отлично. Но у меня вылетает такая ошибка:
Для этого в том же файле Gradle нужно прописать еще такие строки в разделе android :
Добавьте их именно в раздел android :
После этого синхронизируйте Gradle и запустите проект. Если вы видите пустое приложение с кнопкой, то всё хорошо:
Если вылетит ошибка с подобным сообщением, то просто перезапустите Android Studio, откройте проект и запустите заново приложение:
Создание компонента графика
Для разных видов графиков существуют свои компоненты, которые описаны в документации. Мы хотим написать приложение, в которых выводятся обычные линейные графики в виде линий. Поэтому добавим в activity_main.xml компонент com.github.mikephil.charting.charts.LineChart :
Как всегда, в коде активности создадим переменную для добавленного компонента и свяжем с XML элементом через findViewByID() :
Добавление графика с данными
Теперь в коде клика кнопки пропишем код добавления данных:
Две линии на графике
Если нам нужно несколько линий, то подготавливаем два набора данных, которые отправляем в график:
Настройка графиков
Например, я хочу, чтобы первая линия отображалась с заполнением, а вторая была зеленой и плавной. И также хочу, чтобы график при отрисовке анимировался.
Это можно сделать следующим кодом:
Полный вариант кода клика кнопки:
Полные коды активности
Полные коды
Файл MainActivity.java (без строки package ):
Для рисования графиков будем использовать библиотеку MPAndroidChart с 25 тысячами звезд на GitHub.
Для рисования графиков будем использовать библиотеку MPAndroidChart с 25 тысячами звезд на GitHub.
Источник
Android studio графики chart
Если ваше приложение работает с большими объемами информации, то может возникнуть нужда в их приятном представлении. Для этого можно использовать разные методы: таблицы, графики, диаграммы. Сегодня мы научимся, как добавлять в Android приложение диаграммы, используя библиотеку MPAndroidChart. Диаграммы этой библиотеки удобны, легки в настройке и даже интерактивны.
Для того, чтобы использовать библиотеку MPAndroidChart для начала ее нужно скачать вот отсюда, а потом скопировать файл библиотеки в папку libs вашего проекта, нажать в Android Studio правым кликом мышки по файлу JAR библиотеки и выбрать Add as Library и подождать пока все добавится.
Перед тем, как данные можно будет использовать в построении диаграммы, их нужно преобразовать в объект DataSet. Разные виды диаграмм используют разные типы подклассов класса DataSet . Например, BarChart использует BarDataSet, а PieChart использует PieDataSet.
Вместо того, чтобы создавать диаграмму с случайным набором чисел, представим такую гипотетическую ситуацию: есть два друга и один вечно наяривает другому по телефону, узнать как у того дела. Второй в свою очередь, решил стать настоящим исследователем, и записывает количество звонков от друга за каждый месяц. В нашем уроке мы возьмем да и используем записи второго друга для создания диаграммы, которая будет показывать, сколько раз один надоедливый друг звонил другому.
Месяцы | Количество звонков |
---|---|
Январь | 4 |
Февраль | 8 |
Март | 6 |
Апрель | 12 |
Май | 18 |
Июнь | 9 |
Для отображения данных в диаграмме нам необходимо создать пример BarDataSet. Следуя этими же шагами, можно создать любой другой подкласс DataSet.
Каждое отдельное значение рядка с данными должно быть представлено как Entry. Для создания DataSet используется ArrayList с объектами Entry. Давайте создадим несколько DataSet объектов и добавим их в ArrayList :
Теперь массив из Entry объектов готов и из него можно создать DataSet:
Мы добавили несколько значений в нашу будущую диаграмму и теперь, с целью большей ясности того, что же изображает диаграмма, нужно присвоить осям диаграммы понятные названия. Каждое название по оси Х представим с помощью использования строк String и сохраним все значения в массиве ArrayList:
Все диаграммы этой библиотеки являются подклассами ViewGroup, что значит то, что вы можете с легкостью добавлять их в любой layout. Вы можете определить свою диаграмму используя XML файл или java код. Если диаграмма будет появляться при запуске activity то проще использовать java код:
Таким образом создается бланк диаграммы без какой либо информации в ней. Для занесения в диаграмму созданных нами выше данных делаем вот так:
Давайте также добавим нашей диаграмме описание:
Если вы сейчас запустите приложение, то должны увидеть созданную диаграмму. Эта диаграмма интерактивна и откликается на операцию увеличения/уменьшения и прикосновения.
Если вам не нравятся стандартные цвета то можно использовать метод setColors для смены цветовой темы. В библиотеке MPAndroidChart по умолчанию уже предоставляется несколько разных цветовых тем для диаграмм. Например, доступны вот такие шаблоны:
— ColorTemplate.LIBERTY_COLORS;
— ColorTemplate.COLORFUL_COLORS;
— ColorTemplate.JOYFUL_COLORS;
— ColorTemplate.PASTEL_COLORS;
— ColorTemplate.VORDIPLOM_COLORS.
Для соединения цветового шаблона с данными, используйте следующую команду:
Запустите приложение и увидите, что его цветовая тема изменилась.
Все диаграммы в данной библиотеке поддерживают анимацию, что делает диаграммы более привлекательными и живыми. Для анимации обоих осей диаграммы используется метод animateXY. Если вы хотите применить анимацию только к одной с осей, то нужно использовать animateX или animateY для анимации Х или Y, соответственно. Когда вызывается метод анимации, нужно задать длительность анимации в миллисекундах. Например, чтобы добавить анимацию оси X, используем следующую команду:
Также в диаграммах можно использовать ограничивающие линии. Это может пригодиться, если вы хотите придать данным на диаграмме большего смысла и выделить разность показателей, например. В нашем примере, установим линию, которая будет указывать на предельно допустимое количество звонков от друга 1 у другу 2, после которого друг 2 начинает раздражаться. Чтобы это сделать, используем команду:
Библиотека MPAndroidChart дает пользователю возможность сохранять диаграмму как изображение. Для использования этой возможности, сначала нужно написать в манифесте разрешение на запись приложением файлов на SD карту. Чтобы это сделать открываем файл AndroidManifest.xml и добавляем туда строку:
Далее можно выбирать один из двух методов:
— saveToGallery — этот метод сохраняет диаграмму как JPEG изображение. Можно настраивать некоторые характеристики, типа качества сохраняемого изображения;
— saveToPath — метод сохраняет диаграмму как PNG изображение, можно задать путь для сохранения файла.
Например, чтобы наша программа сохраняла диаграмму в формате JPEG, добавим это:
Ну что, на этом все. Смотрим на результат:
Полный код файла MainActivity.java можно посмотреть по ссылке.
Мы научились основам работы с интересной популярной библиотекой для Android программирования под названием MPAndroidChart и теперь смело может использовать новые знания на практике. Удачи!
Источник
Добавьте диаграммы в ваше приложение для Android, используя MPAndroidChart
Если ваше приложение имеет дело с большим количеством данных, использование диаграмм вместо таблиц для отображения этих данных может значительно улучшить взаимодействие с пользователем. В этом руководстве вы познакомитесь с популярной библиотекой графиков с открытым исходным кодом MPAndroidChart . Диаграммы этой библиотеки очень настраиваемы, интерактивны и просты в создании.
Предпосылки
Убедитесь, что у вас установлена последняя версия Android Studio. Вы можете получить его с сайта Android Developer .
1. Добавление MPAndroidChart в проект
Чтобы использовать эту библиотеку в своем проекте Android, все, что вам нужно сделать, это:
- Загрузите последнюю версию библиотеки с Github . На момент написания статьи последняя версия 1.7.4 .
- Скопируйте mpandroidchartlibrary-1-7-4.jar в каталог libs вашего проекта.
- В Android Studio щелкните правой кнопкой мыши файл JAR и выберите « Добавить как библиотеку» .
2. Создание DataSet
Все данные должны быть преобразованы в объект DataSet прежде чем они могут быть использованы диаграммой. Различные типы диаграмм используют разные подклассы класса DataSet . Например, BarChart использует экземпляр BarDataSet . Точно так же PieChart использует экземпляр PieDataSet .
Вместо того, чтобы просто иметь дело со случайными числами для создания образца диаграммы, давайте рассмотрим гипотетический сценарий. Алиса и Боб друзья. Алиса звонит Бобу несколько раз в месяц, чтобы узнать, чем он занимается. Боб делает пометки всякий раз, когда она звонит ему
В этом уроке мы используем заметки Боба, чтобы создать диаграмму, показывающую, сколько раз Алиса звонила Бобу . Вот что записал Боб:
Месяц | Количество звонков |
---|---|
январь | 4 |
февраль | 8 |
марш | 6 |
апрель | 12 |
май | 18 |
июнь | 9 |
Гистограмма кажется идеальной для этого типа данных. Чтобы отобразить данные в диаграмме, нам нужно создать экземпляр BarDataSet . Вы можете выполнить те же действия, чтобы создать экземпляры других подклассов DataSet .
Каждое отдельное значение необработанных данных должно быть представлено как Entry . ArrayList таких объектов Entry используется для создания DataSet . Давайте создадим несколько объектов BarEntry и добавим их в ArrayList :
Источник