В этой небольшой заметке я хочу поговорить об ошибках, которых следует избегать при программировании Android приложений.
Эта ошибка приводит к сложностям локализации. Если Вы решите перевести интерфеBRj rйс своего приложения на другой язык, то столкнетесь с серьезными трудностями, поскольку Вам придется разрабатывать собственный велосипед, который будет отображать правильные сообщения в зависимости от языка пользователя. Если все текстовые сообщения и подписи помещены в файл strings.xml, то стандартные средства позволят вам легко локализовать приложение. Android OS просто выберет нужный файл со строками в зависимости от выбранного в системе языка.
Вот несколько популярных отговорок, которые используют разработчики:
Вы пишите громоздкие вызовы findViewById, а затем вынуждены поддерживать ссылку на эти представления в их текущем пространстве имен? Ведь в этом случае нужно сохранять id текущего view, чтобы быть уверенным, что используется правильный view id при вызове findViewById. Android Studio в автоподстановке предлагает все id из всех layout, а метод findViewById может достать только объекты из текущего layout. Для всех других он возвращает null. В результате, возможно возникновение NullPointerException.
Google значительно упростил интеграцию data-binding в новые и существующие приложения, что позволяет отказаться от использования этих громоздких определений ссылок на view.
Вот несколько преимуществ использования DataBinding
Эта проблема является характерной чертой всех junior разработчиков. Единожды закомиченный кусок кода для контроля версии остается там навечно. Код обычно космитится не задумываясь вместе с ключами. Даже если Вы удалите этот ключ API в будующих комитах, любой имеющий доступ к репозиторию может увидеть ключ в истории, что потенциально может привести к ряду проблем.
Любое изменение конфигурации вызывает пересоздание текущей activity. Помните об этом. Чтобы сделать этот процесс невидимым для пользователя, нам приходится сохранять состояние приложения перед изменением конфигурации. После этого мы можем пересоздать ее в том же самом виде. Также стоит сохранять состояние приложения при остановке активити.
Это замечание не касается напрямую кода, который Вы пишете, но сильно сказывается на Вашей производительности. Android Studio основана на IntelliJ Idea (компании Jetbrains), которая неплохо заточена на работу с горячими клавишами. Вы можете значительно упростить себе жизнь, потратив немного времени на изучение этого вопроса. Ниже приведены мои любимые ресурсы, которые могут Вам в этом помочь:
Это пять вещей, на которые обязательно должен обратить внимание любой Android разработчик. Кстати, на сайте https://sim-trade.ru/numbers/mts/ можно подобрать и купить красивые номера телефонов МТС по адекватным ценам.
Оригинальную статью на английском языке можно прочитать здесь.