Krististudio.ru

Онлайн образование
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Создание приложение книги для андроид

Подборка книг по разработке под Android

Подборка книг по разработке под Android

    Книги , 25 марта 2020 в 17:10

Отсмотрели разные подборки материалов по Android-разработке и собрали для вас список годных книг.

Android. Программирование для профессионалов. 3-е издание

Эта книга познакомит вас с интегрированной средой Android Studio, которая сильно облегчает разработку приложений. Вы не только изучите основы программирования, но и узнаете о:

  • возможностях самых распространенных версий Android;
  • новых инструментах, таких как макеты с ограничениями и связывание данных;
  • модульном тестировании;
  • средствах доступности;
  • архитектурном стиле MVVM;
  • локализации;
  • новой системе разрешений времени выполнения.

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

Head First. Программирование для Android. 2-е издание

Эта книга простым языком учит правильно формировать структуру приложений, проектировать гибкие и интерактивные интерфейсы, запускать службы в фоновом режиме, обеспечивать работу на разных устройствах и многое другое.

Всё, что от вас требуется — базовые знания Java.

Android для разработчиков. 3-е издание

В основе книги лежит принцип разработки, ориентированной на приложения, — концепции показаны на примере полностью работоспособных приложений Android, а не фрагментов кода.

Более миллиона человек уже воспользовались книгами Дейтелов, чтобы освоить Java, C#, C++, C, JavaScript, Python и другие языки программирования. Вы сможете не только приступить к разработке приложений для Android , но и быстро опубликовать их в Google Play. Третье издание книги было полностью обновлено и познакомит вас с возможностями Android 6 и Android Studio.

Android. Сборник рецептов. Задачи и решения для разработчиков приложений. 2-е издание

Книга облегчает создание работоспособных приложений для платформы Android с помощью 230 проверенных рецептов. Здесь вы найдёте рецепты для работы с пользовательскими интерфейсами, мультисенсорными жестами, механизмами определения местоположения, веб-службами и конкретными возможностями устройства, такими как телефон, видеокамера и акселерометр. Вы также научитесь упаковывать свое приложение для магазина Google Play Market.

Книга идеально подходит для разработчиков, владеющими языком Java, основами платформы Android и интерфейса Java SE API. Она содержит рецепты, предоставленные более чем тридцатью разработчиками. Каждый рецепт содержит четкое решение и пример кода, готовый к использованию.

Проектирование пользовательского интерфейса в Android

В книге рассматриваются следующие основные темы:

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

Эффективное использование потоков в операционной системе Android. Технологии асинхронной обработки данных

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

Mastering Android Development with Kotlin: Deep dive into the world of Android to create robust applications with Kotlin

Эта книга обучает основам разработки на Kotlin под Android и объясняет ключевые моменты в создании Android-приложений. Также вы узнаете, как:

  • настраивать внешний вид приложения;
  • сохранять данные приложения;
  • использовать разные механизмы параллельности;
  • писать эффективные тесты;
  • портировать существующий Java-проект на Kotlin.

Реактивное программирование с использованием RxJava

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

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

И ещё один важный ресурс — официальная документация по Android, которая будет полезна всем разработчикам под платформу.

Пишем читалку электронных книг на Android с помощью FBReader SDK

В настоящее время наиболее популярными и удобными способами чтения являются электронные книги. Их можно взять с собой куда угодно, они экономят бумагу, отображение текста в них можно настраивать так, как удобно читателю. По этим причинам появилось множество форматов электронных книг, основные из которых это EPUB, FB2 и MOBI. Всем известные DOC и TXT тоже являются форматами электронных книг, однако их возможности по сравнению с вышеуказанными весьма ограничены. У каждого из форматов есть свои преимущества, однако наиболее часто используемыми являются EPUB и FB2, причём второй популярен только у нас в России.

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

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

  • Открытие любых файлов электронных книг (ePub, fb2, mobi, и так далее)
  • Чтение метаданных из файла книги
  • Особенности движка FBReader
  • Возможность менять стиль текста книги

Кроме того, библиотека предоставляет и различные дополнительные возможности для реализации в приложениях, такие как:

  • Выделение текста
  • Закладки
  • Поиск по тексту
  • Оглавление
  • Дополнительная навигация по тексту
  • Поддержка сносок и гиперссылок
  • Настройка яркости

Отдельно стоит отметить, что, хоть FBReader SDK и можно скачать с сайта бесплатно, после встраивания в приложение она будет работать в демо-режиме, который имеет полный функционал, но показывает только несколько первых страниц книги. Для того, чтобы получить полную версию библиотеки, нужно купить её на сайте разработчика и, следуя инструкциям, получить специальный ключ SDK, который затем добавляется в приложение.

В этой статье мы рассмотрим, как на основе FBReader SDK создать свою собственную читалку электронных книг и посмотрим её возможности.

Начнём с добавления SDK в свой проект. Для этого создадим новый проект с пустой активностью. В качестве минимального API укажем API 16.

В файле build.gradle модуля проекта добавим в блок allprojects ссылку для скачивания нужных нам библиотек.

Затем в файле build.gradle модуля приложения добавим зависимости с библиотеками в блок dependencies.

Как вы можете заметить, здесь также присутствует библиотека «com.googlecode.json-simple:json-simple:1.1». Она пригодится чуть позже для работы с JSON-файлами.

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

В этом же файле в блок android добавим следующие строки, которые должны обеспечить успешную сборку проекта.

На сайте SDK разработчики также предоставляют исходный код различных компонентов, которые упрощают реализацию интерфейса. Скачаем его и добавим в проект. Для этого перенесём оттуда папку fbreader в папку своего проекта. После этого в файле settings.gradle пропишем эту папку и пути до нужных модулей.

Теперь добавим зависимости с ними в файле build.gradle модуля приложения.

Когда IDE пересоберёт проект, мы увидим добавленные модуле в списке слева.

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

Начнём с разметки. Для MainActivity добавим на экран компонент RecyclerView, который будет содержать собственно список файлов. Для этого добавим в файл layout/activity_main.xml следующий код.

Теперь инициализируем этот объект в коде активности. Откроем файл MainActivity.java и добавим следующий код.

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

Начиная с API 23 это разрешение необходимо запрашивать у пользователя в рантайме. Для этого при запуске приложения будем проверять версию Android на устройстве и при необходимости отправлять пользователю запрос на получение разрешения.

Получить результат запроса можно, переопределив метод активности onRequestPermissionResult(). Если разрешение приложению было предоставлено, продолжаем дальнейшую работу.

В методе generateList() мы будем искать нужные файлы на устройстве и отображать их в списке приложения. Для этого создадим AsyncTask, который будет выполнять всю работу в отдельном потоке и возвращать готовый список с найденными файлами. Добавим следующий код в MainActivity.

Читать еще:  Книги по управлению it проектами

Полученный результат нужно отобразить. Для этого нам понадобится адаптер для RecyclerView и модель, в которой будут храниться данные элементов списка. Создадим простой класс BookFile, в котором мы будем хранить имя файла и путь до него на устройстве.

Теперь нам нужен адаптер, в который мы будем загружать список. Добавим разметку для элемента списка, для этого создадим файл layout/file_list_item.xml и добавим в него следующий код.

Теперь создадим класс BooksAdapter, который будет наследовать от RecyclerView.Adapter<>. В нём нам нужно инициализировать элементы списка, загружая в них пути и имена файлов электронных книг. Таким образом, код адаптера будет выглядеть следующим образом.

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

Вернёмся в главную активность. В методе generateList() мы запускаем AsyncTask и привязываем к нему слушатель, который должен вызывать метод onTaskCompleted() при завершении работы. В этом методе нам нужно составить список, отсортировать его по имени и передать в адаптер. Добавим сюда следующий код:

Теперь, запустив приложение, мы можем увидеть список файлов электронных книг, которые есть на устройстве.

Однако нам нужно этот файл открыть и прочитать, в этом нам и поможет FBReader SDK. Создадим новую активность, назовём её ReaderActivity. Теперь из скачанного исходного кода нам понадобится несколько классов. Откроем в папке с исходным кодом samples/extensions/src/main и скопируем себе в проект целиком папку res, за исключением res/layout/main.xml, и из java/org/fbreader/sample/extensions скопируем все классы, кроме MainActivity.java. Эти классы содержат готовые компоненты, которые помогут нам в создании читалки, при желании их можно модифицировать в соответствии с потребностями.

Теперь откроем layout/reader_activity.xml и добавим в него следующий код разметки.

TextWidgetExt является обёрткой класса библиотеки TextWidget, этот класс является основным и именно он отображает содержимое книги.

Инициализируем теперь эти объекты в коде активности ReaderActivity.java.

Мы должны получить от главной активности путь до файла, который пользователь хочет открыть. Для этого мы будем передавать интент из одной активности в другую, содержащий нужный путь. Вернёмся в MainActivity.java и добавим код создания интента в метод onBookOpen() интерфейса адаптера.

После этого отправленный интент нам нужен получить в ReaderActivity.java при старте активности. Добавим в onCreate() запись пути файла.

Полученный путь мы передаём в метод setBook() у объекта TextWidgetExt. После этого он должен нам вернуть объект Book, который можно получить с помощью метода TextWidgetExt controller(). Если объект не будет равен null, значит загрузка содержимого прошла успешно и можно показать книгу пользователю.

Теперь, если запустить приложение, мы уже можем видеть содержимое книги, пролистывать его и работать с ним.

Однако это не весь функционал, на который способна данная SDK. Ранее мы добавляли файлы ресурсов: различные разметки, иконки и меню. Добавим меню в наше приложение, для этого в ReaderActivity.java переопределим метод onCreateOptionsMenu() и добавим в него следующий код.

Также переопределим методы onPrepareOptionsMenu() и onOptionsItemSelected() для работы с этим меню.

Таким образом мы добавим в читалку меню, позволяющее нам:

  • Менять размер текста
  • Менять стиль текста
  • Искать по тексту
  • Открывать оглавление

По поводу оглавления стоит сказать отдельно. В коде, взятом из библиотеки, оглавление представлено в виде отдельной активности, мы её скопировали ранее, но не добавили в манифест. Поэтому откроем файл манифеста AndroidManifest.xml и зарегистрируем в нём новую активность.

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

При выборе главы обратно в ReaderActivity будет возвращаться номер страницы, на которую нужно перейти. Чтобы получить этот результат, в ReaderActivity.java мы переопределим метод onActivityResult(), в который добавим следующий код.

Как можно увидеть, библиотека предоставляет разработчикам весь свой функционал, единственным ограничением бесплатной версии здесь является то, что она открывает только первые несколько страниц книги, о чём говорится при открытии книги.

Если вы купили ключ SDK и хотите добавить его в своё приложение, вам понадобится в файле build.gradle модуля приложения добавить в блоке buildTypes следующий код.

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

Итак, с помощью FBReader SDK и небольшого количества кода мы смогли создать простую читалку для электронных книг. Можно уже оставить как есть, либо продолжить модифицировать, изменяя интерфейс и дизайн так, как нужно разработчику. Пока что SDK есть только на Android, но разработчики планируют к концу года выпустить версию и для iOS.

Пишем читалку электронных книг на Android с помощью FBReader SDK : 2 комментария

В начале написали бы что SDK платная )) причем оочень дорогая ))

SDK не только платная, но еще и очень дорогая. 1000 долларов за лицензию на одно приложение это уж слишком.

Лучшие книги для Android-разработчиков

Перевод статьи Ayusch Jain «If you want to become an Android developer, read these books».

Photo by Susan Yin on Unsplash

Последние три года я занимаюсь разработкой для Android. На моем пути от новичка до эксперта мне помогли многие книги.

Когда я начинал, мне не попалось полезных статей, которые могли бы направить меня к лучшим ресурсам по Android-разработке. Большинство постов были какими-то нечеткими; казалось, их писали люди, не имевшие практического опыта в этой сфере. Поэтому я решил написать эту статью, которая, думаю, может многим пригодиться.

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

Примечание перев.: если книга переведена на русский язык, мы сначала приводим название перевода.

Head First. Программирование для Android (Head First Android Development)

Это была первая книга по разработке для Android, которую я прочитал. Она превосходно подходит для начинающих и специалистов среднего уровня. С этой книгой вы не станете экспертом. В ней не затрагиваются многие темы, например, RxJava, ButterKnife или Data Binding. Но она даст вам хорошую основу.

В этой книге рассматривается множество тем, от настройки вашей IDE до создания рабочего Android-приложения. Концепции объясняются уникальным образом, с выносками и сценариями из реальной жизни. Также вы там найдете интересные упражнения, благодаря которым читать будет интереснее.

Если вы новичок в Android-разработке и хотите почитать что-то на эту тему, то это прекрасная книга, с которой стоит начать (можете мне поверить).

Уровень: для начинающих.

Android App Development for Dummies

Сейчас в серии «для чайников», наверное, есть уже книги по какой угодно теме:) Эта книга действительно хороша для абсолютных новичков. Концепции поясняются понятно, простым языком и с малым количеством технических терминов.

Из этой книги вы узнаете:

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

Также в книге вы найдете примеры приложений для вдохновения. Если не знаете, с чего начать, начните с этой книги.

Уровень: для начинающих.

Java: руководство для начинающих, 6-е издание

Чтобы изучить разработку для Android или улучшить свои навыки в этой области, нужно хорошо усвоить основы Java. А в этом плане данная книга – лучшее начало.

Книга обновлена до Java 8, так что включает такие темы как лямбда-выражения и методы интерфейса по умолчанию.

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

Уровень: для начинающих.

Hello, Android

Эта книга также для начинающих, но имеет и уровень абстракции. Автор не углубляется во все концепции, зато дает вам код. Если вам это по душе, то вперед.

Уровень: для начинающих и специалистов среднего уровня.

Busy Coder’s Guide to Android Development

Честно говоря, сам я эту книгу не читал. Приведенных выше руководств мне более чем хватило. Но многие говорят, что эта книга хороша для разработчиков всех уровней.

В ней рассказывается обо всем, что касается разработки для Android. Думаю, она не разочарует разработчиков начального и среднего уровня.

Если вы уже профессионал, я советую вам вместо этого обратиться к книге Professional Android (подробнее о ней расскажу ниже).

Уровень: от начального до среднего.

Читать еще:  Книга javascript для чайников

Android. Программирование для профессионалов

«The Big Nerd Ranch Guide» это известная серия книг по программированию. У них есть книги по мобильной и веб-разработке, а также по некоторым другим технологиям. Но давайте остановимся на книге об Android.

«The Big Nerd Ranch Guide» это вводное пособие для людей, знающих Java и желающих научиться разработке для Android.

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

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

Android. Сборник рецептов

Эта книга не для новичков. Это настольная книга для профессиональных Android-разработчиков, которым нужна быстрая справка по теме, с которой возникли сложности. Объяснения в книге лаконичные и поверхностные. Покупая эту книгу, не ожидайте, что вас будут кормить с ложечки.

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

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

Уровень: для профессионалов и экспертов.

Professional Android

Как видно из названия, эта книга для опытных разработчиков.

В ней описываются лучшие подходы, жизненные циклы Android-приложения и техники UI-дизайна, такие как построение надежного приложения для различных типов экрана, включая планшеты.

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

Например, в книге изложены такие темы как JobScheduler, архитектурные компоненты, вступление к Kotlin, шаблоны навигации и шаблоны проектирования.

Если вы хотите выйти на новый уровень в Android-разработке, обратите внимание на эту книгу.

Уровень: для опытных разработчиков.

Kotlin Programming by Example

Создавая три приложения различной сложности, вы исследуете разнообразные свойства Kotlin.

Первое приложение будет классической игрой тетрис для отработки концепций ООП. Второе будет посложнее: вы создадите мессенджер. В последнем, самом сложном приложении будут задействованы Google Maps API и Place Picker.

Примечание: в книге содержатся примеры не только Android-приложений, но и веб-приложений.

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

Уровень: для всех, интересующихся Kotlin.

Kotlin for Android Developers

Это электронная книга Антонио Лейва. Если вы Android-разработчик, то, должно быть, читали его статьи на Medium.

Эта книга прекрасно знакомит читателя с языком программирования Kotlin путем прохождения курса по созданию Android-приложения. Если вы Android-разработчик и хотите начать работать с Kotlin, эта книга будет неплохим выбором для начала. Особенно, если учесть, что на момент написания этой статьи это одно из очень небольшого числа имеющихся руководств по Android/Kotlin.

Однако некоторая неорганизованность выдает, что книга издавалась в спешке. Создается впечатление, что автор, желая облегчить себе задачу, не потрудился объяснить многое из того, что показано в книге.

Уровень: для все, кто хочет изучить Kotlin для Android.

Подборка книг по разработке под Android

Подборка книг по разработке под Android

    Книги , 25 марта 2020 в 17:10

Отсмотрели разные подборки материалов по Android-разработке и собрали для вас список годных книг.

Android. Программирование для профессионалов. 3-е издание

Эта книга познакомит вас с интегрированной средой Android Studio, которая сильно облегчает разработку приложений. Вы не только изучите основы программирования, но и узнаете о:

  • возможностях самых распространенных версий Android;
  • новых инструментах, таких как макеты с ограничениями и связывание данных;
  • модульном тестировании;
  • средствах доступности;
  • архитектурном стиле MVVM;
  • локализации;
  • новой системе разрешений времени выполнения.

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

Head First. Программирование для Android. 2-е издание

Эта книга простым языком учит правильно формировать структуру приложений, проектировать гибкие и интерактивные интерфейсы, запускать службы в фоновом режиме, обеспечивать работу на разных устройствах и многое другое.

Всё, что от вас требуется — базовые знания Java.

Android для разработчиков. 3-е издание

В основе книги лежит принцип разработки, ориентированной на приложения, — концепции показаны на примере полностью работоспособных приложений Android, а не фрагментов кода.

Более миллиона человек уже воспользовались книгами Дейтелов, чтобы освоить Java, C#, C++, C, JavaScript, Python и другие языки программирования. Вы сможете не только приступить к разработке приложений для Android , но и быстро опубликовать их в Google Play. Третье издание книги было полностью обновлено и познакомит вас с возможностями Android 6 и Android Studio.

Android. Сборник рецептов. Задачи и решения для разработчиков приложений. 2-е издание

Книга облегчает создание работоспособных приложений для платформы Android с помощью 230 проверенных рецептов. Здесь вы найдёте рецепты для работы с пользовательскими интерфейсами, мультисенсорными жестами, механизмами определения местоположения, веб-службами и конкретными возможностями устройства, такими как телефон, видеокамера и акселерометр. Вы также научитесь упаковывать свое приложение для магазина Google Play Market.

Книга идеально подходит для разработчиков, владеющими языком Java, основами платформы Android и интерфейса Java SE API. Она содержит рецепты, предоставленные более чем тридцатью разработчиками. Каждый рецепт содержит четкое решение и пример кода, готовый к использованию.

Проектирование пользовательского интерфейса в Android

В книге рассматриваются следующие основные темы:

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

Эффективное использование потоков в операционной системе Android. Технологии асинхронной обработки данных

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

Mastering Android Development with Kotlin: Deep dive into the world of Android to create robust applications with Kotlin

Эта книга обучает основам разработки на Kotlin под Android и объясняет ключевые моменты в создании Android-приложений. Также вы узнаете, как:

  • настраивать внешний вид приложения;
  • сохранять данные приложения;
  • использовать разные механизмы параллельности;
  • писать эффективные тесты;
  • портировать существующий Java-проект на Kotlin.

Реактивное программирование с использованием RxJava

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

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

И ещё один важный ресурс — официальная документация по Android, которая будет полезна всем разработчикам под платформу.

Пишем читалку электронных книг на Android с помощью FBReader SDK

В настоящее время наиболее популярными и удобными способами чтения являются электронные книги. Их можно взять с собой куда угодно, они экономят бумагу, отображение текста в них можно настраивать так, как удобно читателю. По этим причинам появилось множество форматов электронных книг, основные из которых это EPUB, FB2 и MOBI. Всем известные DOC и TXT тоже являются форматами электронных книг, однако их возможности по сравнению с вышеуказанными весьма ограничены. У каждого из форматов есть свои преимущества, однако наиболее часто используемыми являются EPUB и FB2, причём второй популярен только у нас в России.

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

Читать еще:  Топ лучших книг по маркетингу

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

  • Открытие любых файлов электронных книг (ePub, fb2, mobi, и так далее)
  • Чтение метаданных из файла книги
  • Особенности движка FBReader
  • Возможность менять стиль текста книги

Кроме того, библиотека предоставляет и различные дополнительные возможности для реализации в приложениях, такие как:

  • Выделение текста
  • Закладки
  • Поиск по тексту
  • Оглавление
  • Дополнительная навигация по тексту
  • Поддержка сносок и гиперссылок
  • Настройка яркости

Отдельно стоит отметить, что, хоть FBReader SDK и можно скачать с сайта бесплатно, после встраивания в приложение она будет работать в демо-режиме, который имеет полный функционал, но показывает только несколько первых страниц книги. Для того, чтобы получить полную версию библиотеки, нужно купить её на сайте разработчика и, следуя инструкциям, получить специальный ключ SDK, который затем добавляется в приложение.

В этой статье мы рассмотрим, как на основе FBReader SDK создать свою собственную читалку электронных книг и посмотрим её возможности.

Начнём с добавления SDK в свой проект. Для этого создадим новый проект с пустой активностью. В качестве минимального API укажем API 16.

В файле build.gradle модуля проекта добавим в блок allprojects ссылку для скачивания нужных нам библиотек.

Затем в файле build.gradle модуля приложения добавим зависимости с библиотеками в блок dependencies.

Как вы можете заметить, здесь также присутствует библиотека «com.googlecode.json-simple:json-simple:1.1». Она пригодится чуть позже для работы с JSON-файлами.

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

В этом же файле в блок android добавим следующие строки, которые должны обеспечить успешную сборку проекта.

На сайте SDK разработчики также предоставляют исходный код различных компонентов, которые упрощают реализацию интерфейса. Скачаем его и добавим в проект. Для этого перенесём оттуда папку fbreader в папку своего проекта. После этого в файле settings.gradle пропишем эту папку и пути до нужных модулей.

Теперь добавим зависимости с ними в файле build.gradle модуля приложения.

Когда IDE пересоберёт проект, мы увидим добавленные модуле в списке слева.

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

Начнём с разметки. Для MainActivity добавим на экран компонент RecyclerView, который будет содержать собственно список файлов. Для этого добавим в файл layout/activity_main.xml следующий код.

Теперь инициализируем этот объект в коде активности. Откроем файл MainActivity.java и добавим следующий код.

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

Начиная с API 23 это разрешение необходимо запрашивать у пользователя в рантайме. Для этого при запуске приложения будем проверять версию Android на устройстве и при необходимости отправлять пользователю запрос на получение разрешения.

Получить результат запроса можно, переопределив метод активности onRequestPermissionResult(). Если разрешение приложению было предоставлено, продолжаем дальнейшую работу.

В методе generateList() мы будем искать нужные файлы на устройстве и отображать их в списке приложения. Для этого создадим AsyncTask, который будет выполнять всю работу в отдельном потоке и возвращать готовый список с найденными файлами. Добавим следующий код в MainActivity.

Полученный результат нужно отобразить. Для этого нам понадобится адаптер для RecyclerView и модель, в которой будут храниться данные элементов списка. Создадим простой класс BookFile, в котором мы будем хранить имя файла и путь до него на устройстве.

Теперь нам нужен адаптер, в который мы будем загружать список. Добавим разметку для элемента списка, для этого создадим файл layout/file_list_item.xml и добавим в него следующий код.

Теперь создадим класс BooksAdapter, который будет наследовать от RecyclerView.Adapter<>. В нём нам нужно инициализировать элементы списка, загружая в них пути и имена файлов электронных книг. Таким образом, код адаптера будет выглядеть следующим образом.

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

Вернёмся в главную активность. В методе generateList() мы запускаем AsyncTask и привязываем к нему слушатель, который должен вызывать метод onTaskCompleted() при завершении работы. В этом методе нам нужно составить список, отсортировать его по имени и передать в адаптер. Добавим сюда следующий код:

Теперь, запустив приложение, мы можем увидеть список файлов электронных книг, которые есть на устройстве.

Однако нам нужно этот файл открыть и прочитать, в этом нам и поможет FBReader SDK. Создадим новую активность, назовём её ReaderActivity. Теперь из скачанного исходного кода нам понадобится несколько классов. Откроем в папке с исходным кодом samples/extensions/src/main и скопируем себе в проект целиком папку res, за исключением res/layout/main.xml, и из java/org/fbreader/sample/extensions скопируем все классы, кроме MainActivity.java. Эти классы содержат готовые компоненты, которые помогут нам в создании читалки, при желании их можно модифицировать в соответствии с потребностями.

Теперь откроем layout/reader_activity.xml и добавим в него следующий код разметки.

TextWidgetExt является обёрткой класса библиотеки TextWidget, этот класс является основным и именно он отображает содержимое книги.

Инициализируем теперь эти объекты в коде активности ReaderActivity.java.

Мы должны получить от главной активности путь до файла, который пользователь хочет открыть. Для этого мы будем передавать интент из одной активности в другую, содержащий нужный путь. Вернёмся в MainActivity.java и добавим код создания интента в метод onBookOpen() интерфейса адаптера.

После этого отправленный интент нам нужен получить в ReaderActivity.java при старте активности. Добавим в onCreate() запись пути файла.

Полученный путь мы передаём в метод setBook() у объекта TextWidgetExt. После этого он должен нам вернуть объект Book, который можно получить с помощью метода TextWidgetExt controller(). Если объект не будет равен null, значит загрузка содержимого прошла успешно и можно показать книгу пользователю.

Теперь, если запустить приложение, мы уже можем видеть содержимое книги, пролистывать его и работать с ним.

Однако это не весь функционал, на который способна данная SDK. Ранее мы добавляли файлы ресурсов: различные разметки, иконки и меню. Добавим меню в наше приложение, для этого в ReaderActivity.java переопределим метод onCreateOptionsMenu() и добавим в него следующий код.

Также переопределим методы onPrepareOptionsMenu() и onOptionsItemSelected() для работы с этим меню.

Таким образом мы добавим в читалку меню, позволяющее нам:

  • Менять размер текста
  • Менять стиль текста
  • Искать по тексту
  • Открывать оглавление

По поводу оглавления стоит сказать отдельно. В коде, взятом из библиотеки, оглавление представлено в виде отдельной активности, мы её скопировали ранее, но не добавили в манифест. Поэтому откроем файл манифеста AndroidManifest.xml и зарегистрируем в нём новую активность.

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

При выборе главы обратно в ReaderActivity будет возвращаться номер страницы, на которую нужно перейти. Чтобы получить этот результат, в ReaderActivity.java мы переопределим метод onActivityResult(), в который добавим следующий код.

Как можно увидеть, библиотека предоставляет разработчикам весь свой функционал, единственным ограничением бесплатной версии здесь является то, что она открывает только первые несколько страниц книги, о чём говорится при открытии книги.

Если вы купили ключ SDK и хотите добавить его в своё приложение, вам понадобится в файле build.gradle модуля приложения добавить в блоке buildTypes следующий код.

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

Итак, с помощью FBReader SDK и небольшого количества кода мы смогли создать простую читалку для электронных книг. Можно уже оставить как есть, либо продолжить модифицировать, изменяя интерфейс и дизайн так, как нужно разработчику. Пока что SDK есть только на Android, но разработчики планируют к концу года выпустить версию и для iOS.

Пишем читалку электронных книг на Android с помощью FBReader SDK : 2 комментария

В начале написали бы что SDK платная )) причем оочень дорогая ))

SDK не только платная, но еще и очень дорогая. 1000 долларов за лицензию на одно приложение это уж слишком.

Ссылка на основную публикацию
Adblock
detector