Разработка приложений для Android: как создать мобильное приложение в Android Studio


Содержание

Самые частые ошибки начинающих Android разработчиков

Android воистину фантастическая платформа для разработчика. Судите сами: исходный код android открыт, все инструменты разработки бесплатны, вы можете использовать их на любой операционной системе, Android хорошо документирован, процесс распространения и продажи приложений очень прост и хорошо описан. С момента выхода на рынок в 2008 году Android проделал большой путь. Сегодня вы можете пользоваться различными IDE для написания своих программ, но с недавнего времени единственной поддерживаемой Google средой является Android Studio, которая в свою очередь базируется на IntelliJ IDE. Android Studio делает многое для упрощения жизни разработчика, однако даже очень продвинутая IDE не способна заменить программисту голову, и в нашем коде по прежнему встречаются баги. В этой статье будут указаны наиболее характерные ошибки Android разработчиков. Конечно, наиболее часто они встречаются в коде новичков, однако и опытные программисты иногда встречаются с этими граблями.

Использование интерфейсных решений, характерных для iOS

Android и iOS активно конкурируют на рынке мобильных операционных систем. Многие разработчики пришли в Android из мира Apple. Не удивительно, что оказавшись в новой среде они пытаются использовать свой предыдущий опыт. Android и iOS имеют много общего, однако некоторые интерфейсные решения для них сильно отличается. Поэтому прежде чем начать разрабатывать Android приложения было бы неплохо ознакомиться с «Android design guidelines». Это поможет Вам понять экосистему Android, и вы не напугаете своих пользователей «нелогичным» интерфейсом.

Неиспользование интентов

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

Опытный разработчик вряд ли будет городить все это, а с помощью Intent обратиться к книге контактов Android. Существует огромное количество задач, которые могут быть решены с помощью интентов: получение картинок и видео с камеры, проигрывание видео, установка напоминаний и будильника и многое другое. Просто и красиво.

Неиспользование fragments

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

Разработка для текущей версии Android

Пожалуй самой обсуждаемой в среде программистов проблемой Android OS является ее фрагментация. На рынке одновременно присутствует большое количество устройств, работающих под различными версиями операционной системы. Каждая версия имеет собственный API. Начинающие разработчики очень часто ориентируются на последнюю версию операционной системы, отсекая тем самым огромный кусок рынка. Опытные программисты ориентируются на более старые версии и используют для обратной совместимости «Android Support Library». На самом деле, нет никакой реальной необходимости писать под очень старые устройства. Например, ориентация на Ice Cream Sandwich позволяет покрыть 95% находящихся на рынке устройств.

Разработка для одного или двух экранов

Фрагментация проявляется и в том, что при разработке приложений программист вынужден учитывать, что его приложение будет запускаться на устройствах с различным разрешением и размером экранов. Попыткой решения этой проблемы было привязывание всех размеров к dp и sp. Тем не менее, при написании Android приложения разработчик должен постоянно переключаться между различными типами экранов, чтобы удостовериться, что его программа нормально отображается. Новички обычно забывают про это и тестируют свой софт на одном-двух телефонах. Это неправильно.

Блокирование основного (UI) потока

При запуске любого приложения Android создает поток выполнения, называемый главным потоком или UI потоком. В этом потоке обрабатываются события щелчка по экрану, рисование и обновление экрана. По умолчанию весь код выполняется именно в этом потоке. Это может вызвать проблему — если у вас выполняется какая-нибудь долгая операция внутри UI потока, то приложение будет «подвисать».

Android Studio – SDK устарел или отсутствует шаблоны

Особенно это актуально для приложений, взаимодействующих с сетью. В новых версиях Android работу с сетью запрещено осуществлять из основного потока, но остается целый ряд потенциально «тяжелых» задач, которые могут подвесить ваше приложение. Примером таких задач служат загрузка изображений, чтение/запись в файл или базу данных, сложные вычисления. Выходом может стать помещение этих задач в отдельные потоки. Приведенный ниже код иллюстрирует загрузку изображения и отображение ее в ImageView. Опытные разработчики никогда не позволяют своим приложениям подвисать. Если вам не знакома эта тема, рекомендую почитать об AsyncTask и использовании ProgressBar.

Пренебрежение документацией

Android Developer website — очень хороший ресурс, содержащий массу полезной информации для Android разработчиков. Документация, уроки, спецификации, обзор лучших решений — все это можно найти на Android Developer website. Если Вы всерьез собираетесь заняться программированием под Android — этот сайт должен быть у Вас в закладках. Начинающим разработчикам можно также рекомендовать StackOverflow — online сообщество, где можно задать вопрос и получить на него квалифицированный ответ. Начинающий программист с почти стопроцентной вероятностью найдет здесь ответ на мучающий его вопрос.

Глубокая иерархия в макетах экранов

При разработке макетов экранов своих программ (layouts) начинающие разработчики почему-то полагают, что использование базовых layout структур автоматически гарантирует создание эффективных и оптимизированных макетов. На самом деле, каждый виджет и layout, добавленный в приложение увеличивает время отрисовки экрана. В частности, использование параметра layout_weight — довольно дорогое в плане затрат времени удовольствие. Гораздо эффективнее использовать RelativeLayout и выстраивать виджеты по отношению друг к другу. С другой стороны, использование вложенных друг в друга layout-ов тоже очень накладно с точки зрения расхода времени.

Неправильное использование картинок

Графика является одним из самых больших кусков современных приложений. Прежде чем попасть на экран картинка должна быть загружена в память. Новички часто сталкиваются с OutOfMemoryError, когда пытаются загрузить коллекцию изображений. Например, загрузка картинки 2448×3264 ARGB_8888 потребует 4 * 2448 * 3264 байт памяти (около 30 Мб). Если вы потом собираетесь использовать эту картинку для отображения через ImageView размером 200×200, то на самом деле вам нужно всего 4*200*200 байт (около 160Кб). Довольно расточительно тратить 32Мб, когда действительно используется только 160Кб. При загрузке изображений опытные разработчики используют Bitmap.createScaledBitmap(). Кроме того, не стоит загружать картинки в основном потоке.

Мобильное приложение не маленький проект

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

Заключение

Разработка для Android очень увлекательное занятие (или тяжелая работа, кому как нравится). Рассмотренные ошибки это лишь небольшой список граблей, которые затаились в ожидании неопытного android разработчика. Наверняка вы тоже сталкивались с ошибками, не попавшими в этот список. Поделитесь опытом.

Источник: Top rookie Android developer mistakes
Александр Ледков
17 сентября 2015

Вы можете настроить файл build.gradle для реализации proguard.

Как пользоваться Android Studio

Он может быть на уровне модуля или уровне проекта.

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

Лучше иметь отладку с и productionbuild и другими строками как .

Скопируйте файл proguard-rules.txt в корневой каталог вашего модуля или проекта, например

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

  • Перейдите в задачу gradle на правой панели и выполните поиск в задачах модуля

  • Перейдите на вкладку «Сборка вариантов» на левой панели и выберите раскрывающийся список

  • Перейдите в корневой каталог проекта в Проводнике и откройте cmd/terminal и запустите

Linux

Windows

Вы можете найти apk в своем каталоге module/build.

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

http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Running-ProGuard

ответ дан pyus13 02 янв. '14 в 18:22

источникподелиться

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

Что нужно знать разработчику Android

  1. Cинтаксис языка Java
  2. Принципы ООП
  3. Архитектуру приложения
  4. XML
  5. Неплохо бы знать английский

Программное обеспечение для разработки

  1. Среда разработки Android Studio
  2. Android SDK
  3. Эмулятор Android

Синтаксис Java и ООП

Очень круто, если вы знаете язык Java и знакомы с объектно-ориентированным программированием, никаких существенных трудностей у вас возникнуть не должно при разработке Android приложений. В случае если на Java вам программировать не доводилось, но есть опыт работы в других ООП языках, то это весьма полезно, поскольку принципы ООП в общем-то в них идентичны. Нужно разобраться лишь с синтаксисом и особенностями Java. Например, я программирую, в основном, на PHP, и с Java дел раньше не имел. На просторах интернета нашел довольно неплохой ресурс, который помог мне войти в курс дел по части Java в среде Eclipse. Этот сайт также будет полезен тем, кто только начинает изучать программирование.

Архитектура приложения Android

После установки рабочей среды Android Studio, можно будет увидеть архитектуру приложения, поскольку при создании проекта сразу будет создана рыба — приложение Hello World.

Android Studio: Подключаем библиотеку

Можно будет изучить где, что лежит, но скорее всего возникнет много вопросов, типа: «Что такое манифест?», «Что такое ресурсы?», «Что за активности?» и т.п. Очень подробно обо всем этом рассказано на сайте Александра Климова.

XML- eXtensible Markup Language

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

Английский язык

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

Качаем Android Studio или Eclipse

Тут все просто качаем и ставим Android Studio.

Честно говоря, Eclipse я использовал, только для знакомства с языком Java, поэтому привыкнуть к нему не успел. Android Studio имеет все необходимые инструменты для работы с Java кодом, а также XML разметкой. Если вы хотите использовать Eclipse, то вот ссылка на него.

Android SDK

Android SDK можно скачать и подключить прямо в Android Studio.

Эмулятор Android

Эмулятор Android встроен в среду Android Studio, однако у меня с ним возникли существенные трудности. При разных настройках, которые я пробовал, мне так и не удалось наладить приемлемое быстродействие эмулятора. Для каждого теста приложения приходится ждать около 5 минут, пока загрузится Android. По всей видимости, эмулятор Genymotion должен сократить время загрузки Android, поэтому я хочу интегрировать его в Android Studio.

Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Как другие пользователи поступают с этим файлом?

Всего голосов ( 120 ), 33 говорят, что не будут удалять, а 87 говорят, что удалят его с компьютера.

Как вы поступите с файлом catstudio.exe?

Я не буду его удалять, он безопасен.

Я его удалю, он опасен.

Комментарии:

No Comments yet!

Компьютерапия

Please be the first one to add comments.

как удалить ошибку catstudio.exe?

Download to fix catstudio.exe
Если этот файл вызывает проблемы, вы всегда можете удалить ассоциированные программы из меню Пуск >> выберите Панель управления >> затем Добавление/удаление программ.
. Проверьте процессы, запущенные на вашем ПК, используя базу данных онлайн-безопасности. Можно использовать любой тип сканирования для проверки вашего ПК на вирусы, трояны, шпионские и другие вредоносные программы.

Получите бесплатный антивирус

Мы протестировали этот файл по Dr prot antivirus

Результат антивирусной проверки:

✔ Этот файл является безопасным

12,318,547 Файлы, проанализированные в нашей базе данных

Добавить комментарий

Закрыть меню