В этой серии мы начали изучать, как разрабатывать приложения для Android с нуля. Мы начали изучать инструменты разработки, познакомились с основными элементами проекта приложения, посмотрели на дизайн пользовательского интерфейса, интерактивность, ресурсы и данные, а также более подробно рассмотрели, что происходит во время работы вашего приложения. То, что мы уже рассмотрели, поможет вам начать создавать функциональные приложения для Android, но Android может предложить гораздо больше, поэтому диапазон возможностей практически безграничен. Поэтому вы можете изо всех сил выбирать, что изучать дальше В этой части мы завершим серию, указав некоторые возможные направления для будущего обучения. После этого финальной частью будет викторина о том, что мы освещали на протяжении всей серии.
Вступление
Существует множество возможных направлений развития на основе Android, которую вы приобрели, читая эту серию. Конечно, если у вас запланированы конкретные проекты, то они будут определять то, что вы узнаете дальше. Тем не менее, платформа Android имеет много общего со многими элементами приложения, общими для большинства проектов, над которыми вы будете работать. В этом уроке мы рассмотрим некоторые из наиболее полезных тем, на которые стоит обратить внимание, чтобы приступить к созданию набора навыков для Android.
1. Данные
Шаг 1
Вы можете использовать простой проект приложения, который мы создали ранее в этой серии, чтобы испытать новые навыки работы с Android, которые вы изучите. Помните, что мы пытались сохранить данные в общих настройках . Вы можете улучшить этот пример, сохранив данные в файл. Попробуйте позволить пользователю отправлять и сохранять данные, используя представление EditText
и кнопку. Запишите данные пользователя в файл, прочитайте его обратно при запуске приложения и отобразите в виде TextView
. Таким образом, вы можете сохранить постоянные данные, которые появятся при следующем запуске приложения.
Шаг 2
Другим важным навыком является получение данных из удаленного ресурса, такого как веб-сервис. Для этого добавьте внутренний класс AsyncTask
в свой класс Activity
в который вы извлекаете удаленные данные. Когда данные будут получены, отобразите их в своем приложении. Кроме того, вы можете проанализировать или отформатировать данные, если данные, которые получает ваше приложение, представляют собой XML
, JSON
или другой распространенный формат. См. Подключение к сети для примера кода, который вы можете использовать в качестве отправной точки.
Шаг 3
Другой основной вариант хранения данных, который вы, вероятно, найдете полезным во многих приложениях, — это использование базы данных SQLite . Попробуйте это, создав класс SQLiteOpenHelper
, в котором вы определяете архитектуру базы данных, например таблицы и столбцы. Затем в другом месте приложения вы можете указать SQLiteOpenHelper
записывать данные в базу данных и читать из нее с помощью курсора, представляя результаты в пользовательском интерфейсе вашего приложения. Опять же, вы можете попытаться разрешить пользователю вводить данные для сохранения в базе данных и представлять результаты при последующих запусках приложения. Помимо вставки записей и запросов к базе данных, попробуйте также обновить и удалить записи. См. Сохранение данных в базах данных SQLite для получения дополнительной информации и примера кода для начала работы.
2. Экраны приложений
Шаг 1
В приложении, которое мы создали, мы использовали один экран на экране интерфейса пользователя. Попробуйте добавить к этому, создав второй класс активности в вашем приложении, используя опцию меню File> New> Class . Добавьте кнопку на первый экран, основное действие, которое запускает второе действие, когда пользователь нажимает на нее. Например, если приложение будет игрой, кнопка может отображать «Как играть», а второе действие может называться How.java
. Создайте файл макета для второго действия, включая TextView
с текстом, хранящимся в XML-файле строк res/values
. Если приложение будет игрой, второе действие может содержать информацию о том, как играть в игру. Многие информационные разделы в ваших приложениях будут использовать этот простой шаблон.
В обработчике onClick
первого действия вы можете запустить действие «Как играть» с помощью намерений . Посетите раздел «Начало другого занятия» для получения дополнительной информации об этом Как только у вас появится второе действие в вашем приложении, попробуйте передать ему данные из первого действия, используя метод putExtra
. Вы также можете попробовать запустить действие для результата, позволить второму действию что-то сделать, а затем вернуть данные в первое. Вы можете получить данные результата в методе onActivityResult
первого действия. Взгляните на ссылку класса Activity для примера этого.
Шаг 2
В качестве следующего шага вы можете попытаться включить некоторые виды пользовательского интерфейса в свои действия. Вы заметите, что разные типы представлений требуют разных подходов для их реализации. Как только вы освоите использование различных типов представлений, попробуйте использовать фрагменты, чтобы вы могли начать повторное использование частей пользовательского интерфейса в различных местах вашего приложения.
Другим компонентом пользовательского интерфейса, который вы найдете полезным, является представление списка . В виде списка на экране представлен список элементов. Представление списка заполняется из источника данных с помощью адаптера , который отображает данные в представления. Для этого вы можете использовать ListActivity
вместо стандартного класса Activity
. В деятельности со списком вы можете переопределить методы набора для ответа на взаимодействие пользователя с элементами в списке, что делает список полезным компонентом для многих типов приложений. Посетите список представлений для функционального примера реализации списка.
Приложения с внешним видом, совместимым с самой системой Android, имеют тенденцию работать лучше. По возможности, вы должны стараться использовать стандартные элементы пользовательского интерфейса Android, а не создавать свои собственные компоненты. По этой причине вы можете попробовать ознакомиться с панелью действий и иметь в виду, когда вы разрабатываете пользовательский интерфейс и модель навигации ваших приложений.
3. Мультимедиа
Вы можете создавать приложения Android с использованием различных типов мультимедиа, таких как аудио и видео, анимация и захват изображения с камеры устройства, включая захват видео. Система Android предоставляет стандартные методы, которые вы можете использовать для доступа к ресурсам, таким как камера, с действиями для конкретных задач, включая запись видео. Просмотрите руководство по мультимедиа в Руководстве разработчика для получения дополнительной информации.
Как мы видели ранее в этой серии, вы можете создавать визуальные элементы в своих приложениях для Android, используя XML для создания рисованных фигур. Вы также можете использовать XML для определения анимации с помощью кода, управляющего тем, как проходят анимации. Анимации на Android позволяют добавлять динамические эффекты в пользовательский интерфейс с различными поддерживаемыми эффектами, такими как затухание, вращение, переворачивание и различные другие типы переходов ( Добавление анимации ).
4. Взаимодействие с другими приложениями
Шаг 1
Одним из преимуществ разработки на Android является то, что вы можете использовать существующие ресурсы платформы, включая другие приложения. Как я упоминал ранее в этой серии, вы можете обмениваться данными с другими приложениями и использовать эти общие данные в своих собственных приложениях. Вы также можете разрешить пользователям обмениваться контентом из ваших приложений, используя электронную почту, сообщения и социальные сети. Самый простой и надежный способ сделать это — через намерение отправки . Когда ваши приложения запускают действие отправки, операционная система представляет список приложений, в которые пользователь может отправлять контент. Обязательно прочтите эту тему в руководстве «Отправка простых данных в другие приложения» , которое также содержит примеры.
Шаг 2
Действие send является одним из примеров запуска средств на Android из ваших собственных приложений, но есть много способов, которыми вы можете сделать это, поэтому обязательно попробуйте некоторые из них в ваших собственных проектах. Например, вы можете использовать действие набора номера для набора номера и действие просмотра для просмотра веб-страниц в браузере или местоположений в приложении «Карты». Вы также можете извлекать данные со встроенных датчиков устройства, позволяя вашему приложению регистрировать и обрабатывать данные о местоположении и окружающей среде. Во многих случаях вы можете запускать эти действия способами, которые возвращают информацию обратно в ваше приложение после завершения запущенного действия, создавая диалог между вашим приложением и контекстом Android. Таким образом, ваше приложение полностью использует мобильную природу устройства Android.
5. Ресурсы
Шаг 1
Мы затронули несколько потенциальных тем для будущего обучения, но в действительности мы едва поцарапали поверхность того, что возможно на платформе Android. Платформа постоянно меняется, и список того, что возможно, постоянно растет. Рекомендуемые методы для общих задач также регулярно меняются, поэтому очень важно продолжать учиться, если вы хотите продолжить разработку высококачественных приложений для Android.
Вот несколько полезных ресурсов для закладки:
- Посетите блог разработчиков Android, чтобы узнать о новых и новых функциях платформы. Блог часто содержит примеры функционального кода, которые вы можете изучить.
- Учебные пособия по Vogella для Android являются одним из наиболее ценных учебных ресурсов для Android в Интернете. Веб-сайт Vogella часто содержит полные примеры техник, описанных только в выдержках из официального Руководства разработчика.
- Разработчики Android в Google+ — это отличное место для чтения объявлений и дискуссий по разработке Android.
Как и в случае с любой другой платформой разработки, при изучении Android вы обнаружите множество вопросов, большинство из которых приведут вас к поиску в Google. Как вы узнаете, на многие переполненные стеки были даны исчерпывающие ответы на многие распространенные вопросы, поэтому вскоре вы привыкнете посещать переполнение стека, если вы этого еще не сделали.
Вывод
В этой серии уроков моей целью было научить вас основам разработки под Android. Если вы изучали какие-либо навыки программирования или разработки в прошлом, вы знаете, что процесс обучения на этом не заканчивается. Если вы планируете продолжить разработку для платформы Android, вы сможете опираться на то, чему мы научились в этой серии, добавляя к своему инструментарию Android по мере продвижения. Чтобы закончить эту серию, следующая часть будет викториной, проверяющей то, что вы уже изучили. Приготовься!