Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck – Telegram
Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck
9.51K subscribers
1.72K photos
86 videos
52 files
4.55K links
Все самое полезное для мобильного разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/b60af5a4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a4adec1b17b35b6c0d8389
Download Telegram
Этот код пытается создать новый класс Corgi, который наследуется от существующего класса Dog. Обычно это работает, но здесь класс Dog помечен как конечный (final), что означает, что он не может быть унаследован.

Любая попытка переписать конечный метод, свойство или индекс в подклассе приведет к ошибке компиляции.
Простой Github-шаблон, позволяющий создать проект Android/Kotlin и начать работу всего за несколько секунд. Он ориентирован на реализацию проекта со статическим анализом кода и непрерывной интеграцией.

https://proglib.io/w/3feb5420
Классы данных — это очень удобная функция Kotlin для создания классов, основной целью которых является хранение данных, причем компилятор Kotlin автоматически создает такие функции, как equals() / hashCode(), toString(), copy(...), а также компонентные функции componentN(), которые соответствуют свойствам, в соответствии с порядком их объявления. Автоматическое преобразование в / из JSON не является (пока) частью этого процесса.

Стоит отметить, что если какая-либо из этих функций явно определена в теле класса (или унаследована от родительского класса), то генерироваться она не будет.

Чтобы класс определить как класс данных, он должен соответствовать ряду условий:
– первичный конструктор должен иметь как минимум один параметр;
– все параметры первичного конструктора должны предваряться ключевыми словами val или var, то есть определять свойства;
– свойства, которые определяются вне первичного конструктора, не используются в функциях equals() и hashCode();
– класс не должен определяться с модификаторами data, abstract, sealed или inner.
Saving Data on Android.epub
17.3 MB
Saving Data on Android (2020)

Автор(ы): Jennifer Bailey, Aldo Olivares, Dean Djermanović

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

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

Эта книга предназначена для разработчиков Kotlin или Android среднего уровня, которые хотят знать, как сохранить данные, используя стандартные API-интерфейсы Android, компонент архитектуры Room или то, что может предложить Google Firebase.
👍2
Если вы уже поняли все необходимые концепции разработки для Android и думаете, что готовы работать над приложением, которое соответствует отраслевым стандартам (масштабируемое и поддерживаемое в долгосрочной перспективе), то держите 5 open source проектов для прокачки навыков Android-разработчика: https://proglib.io/w/d3a2762c
Лекции, слайды, теоретические материалы и практические задания, по которым студенты Стэнфордского университета изучают основы создания приложений для iPhone и iPad с использованием SwiftUI в рамках курса «Разработка приложений для iOS».

https://proglib.io/w/09dc74d4
В примере используются функциональные типы как типы параметров.

Функция getResult имеет три параметра. Первый параметр имеет тип (Int, Int) -> Int. Соответственно, аргументом этого параметра может быть любая функция такого же типа. Второй и третий параметры называются a и b и относятся к типу Int. Они служат для передачи двух входных значений для математической функции.

При вызове функция getResult получает в качестве входных данных функцию sum/substract и два целочисленных значения, в результате чего получаем 23 и 4 соответственно.

Задача функции getResult заключается в том, чтобы печатать результат работы математической функции соответствующего типа. При этом конкретные детали этой математической функции не имеют значения — главное, чтобы она была подходящего типа. Все это позволяет безопасно управлять работой функции getResult непосредственно во время вызова.
Разработчики Android Studio 4.0 сделали большой шаг вперед и теперь IDE включает в себя множество новых функций*:

✔️Motion Editor для создания, редактирования и просмотра анимаций ✔️Улучшенный отладчик Layout Inspector
✔️Layout Validation для проверки работы приложения в разных разрешениях экрана
✔️Улучшенный CPU Profiler для лучшего понимания происходящего
✔️Улучшенная платформа IntelliJ IDEA 2019.3
✔️Теперь есть шаблоны Kotlin-кода для реализации типовых задач
✔️Build Analyzer для понимания узких мест сборки проекта
✔️Улучшенная поддержка Java 8

Подробности в видео.

Источник: https://proglib.io/w/1fe14e07
Разработчики под iOS для шифрования конфиденциальной информации внутри приложения используют сервис KeyChain, который является частью общей структуры безопасности Apple для iOS. Но что делать с подобными данными на Android? Автор статьи советует хранить их в SharedPreferences, но после того, как они были зашифровани. О чем и рассказывает в статье.

https://proglib.io/w/51b8f663