- Уроки
- Урок 1. Введение.
- Урок 2. Установка Android Studio
- Урок 3. Создание AVD. Первое приложение. Структура Android-проекта.
- Урок 4. Компоненты экрана и их свойства
- Урок 5. Layout-файл в Activity. XML представление. Смена ориентации экрана.
- Урок 6. Виды Layouts. Ключевые отличия и свойства.
- Android Development Tutorial. Часть 1/?
- 1. Разработка под Android
- The 12 Best Android Tutorials for First-Time App Developers
- Building Your First App
- Android Development – Tutorial
- Video Tutorials Series
- An Android Tutorial/Book
- Game Development Series
- Better User Interfaces with the Android Action Bar
- Learning to Parse XML Data in Your Android App
- Android 101 for iOS Developers
- Scheduling Background Tasks in Android
- Android Adventures – Getting Started With Android Studio
- Localizing Android Apps
- Getting Started with Android Library Projects
- Conclusion
Уроки
Урок 1. Введение.
Это урок-введение. Здесь мы пока ничего кодить не будем, я распишу причины, которые побудили меня создать этот сайт.
Урок 2. Установка Android Studio
Для того, чтобы писать программы — нужна среда разработки. В этом уроке мы подробно рассмотрим, как установить и настроить эту среду разработки.
Я буду описывать установку применимо к операционной системе Windows 7.
Урок 3. Создание AVD. Первое приложение. Структура Android-проекта.
Для того, чтобы тестировать приложения, нам понадобится Android Virtual Device (AVD). Это эмулятор Android-смартфона, на который мы сможем устанавливать созданные нами приложения, и запускать их там. Давайте его создадим.
Урок 4. Компоненты экрана и их свойства
Давайте посмотрим, как в Андроид приложениях формируется то, что мы видим на экране.
Урок 5. Layout-файл в Activity. XML представление. Смена ориентации экрана.
На прошлом уроке мы выяснили, что Activity читает layout-файл и отображает то, что в нем сконфигурировано. Теперь выясним, откуда Activity знает, какой именно layout-файл читать.
Урок 6. Виды Layouts. Ключевые отличия и свойства.
Расположение View-элементов на экране зависит от ViewGroup (Layout), в которой они находятся. В этом уроке мы рассмотрим основные виды Layout.
LinearLayout – отображает View-элементы в виде одной строки (если он Horizontal) или одного столбца (если он Vertical). Я использовал это на прошлом уроке, когда демонстрировал использование layout-файлов при смене ориентации.
TableLayout – отображает элементы в виде таблицы, по строкам и столбцам.
RelativeLayout – для каждого элемента настраивается его положение относительно других элементов.
AbsoluteLayout – для каждого элемента указывается явная позиция на экране в системе координат (x,y)
Источник
Android Development Tutorial. Часть 1/?
Ларс Вогель — евангелист Eclipse.
Под катом Вы обнаружите перевод его статьи, которая описывает процесс создания Android-приложений с помощью Eclipse. Используется Eclipse 3.6, Java 1.6 и Android 2.3 (Gingerbread).
Часть 2
1. Разработка под Android
1.1. Операционная система Android
Android — операционная система, основанная на Linux с интерфейсом программирования Java. Это предоставляет нам такие инструменты, как компилятор, дебаггер и эмулятор устройства, а также его (Андроида) собственную виртуальную машину Java (Dalvik Virtual Machine — DVM). Android создан альянсом Open Handset Alliance, возглавляемым компанией Google.
Android использует специальную виртуальную машину, так званую Dalvik Virtual Machine. Dalvik использует свой, особенный байткод. Следовательно, Вы не можете запускать стандартный байткод Java на Android. Android предоставляет инструмент «dx», который позволяет конвертировать файлы Java Class в файлы «dex» (Dalvik Executable). Android-приложения пакуются в файлы .apk (Android Package) программой «aapt» (Android Asset Packaging Tool) Для упрощения разработки Google предоставляет Android Development Tools (ADT) для Eclipse. ADT выполняет автоматическое преобразование из файлов Java Class в файлы dex, и создает apk во время развертывания.
Android поддерживает 2D и 3D графику, используя библиотеки OpenGL, а также хранение данных в базе данных SQLite.
Каждое Android-приложение запускается в своем собственном процессе и под своим собственным userid, который автоматически генерируется Android-ом во время развертывания. Поэтому приложение изолировано от других запущенных приложений, и неправильно работающее приложение не может беспрепятственно навредить другим Android-приложениям.
1.2. Основные компоненты Android
Android-приложения состоят из следующих частей:
- Activity/Деятельность (далее Активити) — представляет собой схему представления Android-приложений. Например, экран, который видит пользователь. Android-приложение может иметь несколько активити и может переключаться между ними во время выполнения приложения.
- Views/Виды — Пользовательский интерфейс активити, создаваемый виджетами классов, наследуемых от «android.view.View». Схема views управляется через «android.view.ViewGroups».
- Services/Службы — выполняет фоновые задачи без предоставления пользовательского интерфейса. Они могут уведомлять пользователя через систему уведомлений Android.
- Content Provider/Контент-провайдеры — предоставляет данные приложениям, с помощью контент-провайдера Ваше приложение может обмениваться данными с другими приложениями. Android содержит базу данных SQLite, которая может быть контент-провайдером
- Intents/Намерения (далее Интенты) — асинхронные сообщения, которые позволяют приложению запросить функции из других служб или активити. Приложение может делать прямые интенты службе или активити (явное намерение) или запросить у Android зарегистрированные службы и приложения для интента (неявное намерение). Для примера, приложение может запросить через интент контакт из приложения контактов (телефонной/записной книги) аппарата. Приложение регистрирует само себя в интентах через IntentFilter. Интенты — мощный концепт, позволяющий создавать слабосвязанные приложения.
- Broadcast Receiver/Широковещательный приемник (далее просто Приемник) — принимает системные сообщения и неявные интенты, может использоваться для реагирования на изменение состояния системы. Приложение может регистрироваться как приемник определенных событий и может быть запущено, если такое событие произойдет.
Другими частями Android являются виджеты, или живые папки (Live Folders), или живые обои (Live Wallpapers). Живые папки отображают источник любых данных на «рабочем столе» без запуска соответствующих приложений.
1.3. Безопасность и разрешения
Android определяет конкретные разрешения для определенных задач. К примеру, если приложение хочет получить доступ в Интернет, оно должно определить в своем файле конфигурации, что оно хотело бы получить соответствующие разрешения. Во время установки Android-приложения пользователю показывается экран, на котором ему нужно дать приложению требуемые разрешения.
1.4. AndroidManifest.xml
Android-приложения описываются файлом «AndroidManifest.xml». В этих файлах должны быть объявлены все активити, службы, приемники и контент-провайдеры приложения. Также он должен содержать требуемые приложением разрешения. Например, если приложению требуется доступ к сети, то это должно быть определено здесь. «AndroidManifest.xml» можно рассматривать, как описание для развертывания Android-приложения.
Атрибут «package» — базовый пакет для следующих элементов Java. Он также обязан быть уникальным, т.к. Android Marketplace только единожды принимает заявку на каждый «package». Следовательно, хорошей привычкой будет использование Вашего обратного доменного имени как «package», для избежания конфликтов с другими разработчиками.
«android:versionName» и «android:versionCode» определяют версию Вашего приложения. «versionName» — то, что видит пользователь и может быть любой строкой. «versionCode» должен быть целым, и Android Market использует это для определения, предоставили ли Вы новую версию, чтобы запустить обновления на устройствах, на которых установлено Ваше приложение. Как правило. начинается с 1 и увеличивается на единицу, если Вы выпускаете новую версию приложения.
«activity» определяет активити, в этом примере указывает на класс «de.vogella.android.temperature.Convert». Для этого класса зарегистрирован фильтр интентов, определяющий, что это активити запускается при запуске приложения (действие android:name=«android.intent.action.MAIN»). Определение категории (категория android:name=«android.intent.category.LAUNCHER» ) определяет, что это приложение добавлено в директорию приложений на Android-устройстве. Значения со знаком @ ссылаются на файлы ресурсов, которые содержат актуальные значения. Это упрощает работу с разными ресурсами, такими как строки, цвета, иконки, для разных устройств и упрощает перевод приложений.
Часть «uses-sdk» из «AndroidManifest.xml» определяет минимальную версию SDK, на котором можно запускать Ваше приложение. Это предотвращает установку Вашего приложения на устройства с более старой версией SDK.
1.5. R.java, Resources и Assets
Каталог «gen» в Android-проекте содержит генерированные значения. «R.java» — генерированный класс, который содержит ссылки на ресурсы из папки «res» проекта. Эти ресурсы содержатся в директории «res» и могут быть значениями, меню, схемами, иконками или рисунками, или анимациями. Например, ресурсом могут быть рисунок или XML-файлы, содержащие определенные строки.
Если Вы создаете новые ресурсы, то соответствующие ссылки будут автоматически созданы в «R.java». Ссылки являются статическими значениями типа int (целочисленными константами), система Android предоставляет методы доступа к соответствующим ресурсам. Например, для доступа к строке с идентификатором ссылки «R.string.yourString» используйте метод getString(R.string.yourString)); Пожалуйста, не пробуйте изменять «R.java» в ручную.
Тогда как каталог „res“ хранит структурированные значения, известные платформе Android, каталог „assets“ может быть использован для хранения любых данных. В Java Вы можете получить доступ к этим данным через AssetsManager и метод getAssets().
1.6. Активити и Макеты (layout)
Пользовательский интерфейс для деятельности (Activity) определяется с помощью макетов. Во время исполнения макеты — экземпляры «android.view.ViewGroups». Макет определяет элементы пользовательского интерфейса, их свойства и расположение. Элементы UI основываются на классе «android.view.View». ViewGroup — подкласс View. Макеты может содержать компоненты UI (Views/Виды) или другие макеты (ViewGroups). Вам не следует делать большую вложенность дочерних элементов во ViewGroups, так как это влияет на производительность.
Макет может быть определен с помощью Java-кода или с помощью XML. Как правило, используйте Java-код для генерирования макета, если не знаете про содержимое заранее. Например, если Ваш макет зависит от содержимого, которое Вы читаете из интернета.
Макеты, основанные на XML определяются с помощью файла ресурсов в папке «/res/layout». Этот файл определяет группу видов (см. пункт 1.2), виды, их отношения и атрибуты для отдельных макетов. Если элемент UI требует доступа с помощью Java-кода, дайте элементу UI уникальный идентификатор (id) с помощью атрибута «android:id». Для того, чтобы назначить новый идентификатор элементу UI, используйте конструкцию «@+id/yourvalue». Условно это создаст и назначит новый id «yourvalue» соответствующему элементу UI. Позже, в Java-коде Вы можете получить доступ к этим элементам UI с помощью метода findViewById(R.id.yourvalue).
Определение макетов через XML обычно предпочтительней, поскольку отделяет программной логику от определения макетов и позволяет легче определять разные ресурсы макетов, для разных устройств. Можно также смешивать оба подхода.
Источник
The 12 Best Android Tutorials for First-Time App Developers
This article was updated in January 2017.
Learn more about the official Android IDE with our screencasts A Tour of the Official Android IDE – Android Studio screencast.
When there is so much information and you are a first-time Android developer, it’s easy to get confused about where to start. To make it easy for you and with no illusions that this list of Android tutorials is the best or complete, here are 12 Android tutorials to start with.
Not all the tutorials and their content are strictly beginner beginner focussed. Some of them start out for beginners and then delve into more advanced topics. So if you can’t follow everything in every single tutorial, don’t get desperate or frustrated.
If you encounter a hurdle, just spend more time with the tutorial, reading it a couple of times if necessary. If you are still not on friendly terms with it, there is no drama – just move forward and revisit it later.
Building Your First App
Naturally, we start the list with a tutorial from Google, the creators of Android. The вЂBuilding Your First App†tutorial starts from the very beginning and it’s suitable for absolute beginners. If you have no programming knowledge whatsoever, don’t expect to be able to handle the tutorial but if you have some programming background, it’s easy.
The tutorial has several вЂBest Practice’ sections at the end. This is good because all the important content about the topic in one place and you just have to read it.
Android Development – Tutorial
The reason this tutorial is near the top is that it’s very up-to-date (based on Android 7.0, the latest Android version as of today).
This tutorial has more topics and information than the tutorial from Google, so if you are looking for an in-depth tutorial, this is one the.
It’s not an easy or quick tutorial. If you want to get the most from it, you will need quite a lot of time to read it from start to finish. It can be a great source if you need to consult a given topic in detail.
Video Tutorials Series
I find video tutorials less useful (except when they teach design, animation, or any other visual topic) but for many people they are the preferred way of learning. If you belong to this group, you will love this series of video tutorials.
It’s a comprehensive series of video tutorials ranging from under 5 to 15 minutes in length. Similarly to the previous two tutorials, this series covers everything from absolute beginner level to advanced topics. It’s not uptodate but I couldn’t find a decent video tutorial about a more recent Android version.
An Android Tutorial/Book
It might be old-school, but for me the best way to get a complete idea about something is by reading a book about it. In a book, everything is organized logically, pages are numbered and keep their layout and there is enough text to explain the and code/graphics. The first two tutorials in this list are book-like but if you want something more authentic you could print them. Even better, a pdf tutorial, like this one, is a much better option. Similarly to the previous resource, this one might not be very up to date but it does cover the major principles of Android programming.
This is one more general tutorial that covers Android development from beginner level to advanced.
Game Development Series
If you have some knowledge about Android but you want to delve into games development, this series of video tutorials is a great start. The series starts with the very basics of Android (and Eclipse) but my personal feeling is that if you are a total stranger to Android, the journey will be too hard. Again, this tutorial isn’t about the latest Android version but it does give a solid foundation about Android programming and I couldn’t find a more current one.
From what I saw, the series mentions general Android as well, not only game development. If you don’t know Android basics, my advice is to first read some of the general Android tutorials and then move to specialized topics, such as game development.
Better User Interfaces with the Android Action Bar
After you have had enough of general Android tutorials, let’s move to tutorials for common tasks. For some of these topics you can find information in the general tutorials as well but if you want more detail, this is for you. The first tutorial is about how to build Better User Interfaces with the Android Action Bar.
In this tutorial you will learn how to set up the action bar, how to add actions, how to split, hide, and overlay it, as well as how to add navigation. You will also learn about action bar interactivity, such as how to handle clicks on its items and to use action views.
Learning to Parse XML Data in Your Android App
While you could write Android applications that do not involve any data input, often you will need external data. In such cases you need to know how to handle this data. XML can help you a lot and this is why I’ve included a tutorial on how to Parse XML Data in Your Android App.
This tutorial leads you step by step in the world of XML parsing. It also helps you create a parser that will look like the one shown in the next screenshot.
Android 101 for iOS Developers
With the huge popularity of Android, even die-hard iOS developers are likely to consider switching or at least expanding to it. If you are an iOS developer, you are lucky because you are not new to mobile development as a whole. Of course, you could read the general Android tutorials I listed earlier but especially for you, here is a better tutorial. Unfortunately, some of the info in this tutorial might be outdated but with the rapid development of mobile programming technologies this is inevitable. You might want to check a more recent tutorial on the same topic but it isn’t as detailed as the first one.
This tutorial is great because it summarizes the differences between iOS development and Android development, thus making the change easier for you. You might need separate reading on some of the points it mentions but it’s a great tutorial without being overly detailed.
Scheduling Background Tasks in Android
This topic is a bit advanced but since it’s not too difficult and it’s useful, it makes sense to include it on the list. The вЂBackground tasks in Android†tutorial discusses the types of alarms in Android and how to set them.
Android Adventures – Getting Started With Android Studio
I don’t think Android Studio is the most popular method to develop Android apps but since it (supposedly) makes Android development easier, here is a tutorial about Android Studio.
Even if you already use other Android development tools and you wouldn’t change them, it still makes sense to read what Android studio can offer.
The tutorial is a pretty detailed one – it starts with how to install Android Studio, how to create a new project, how to add functionality to it, how to run it, etc. The tutorial isn’t hard to read but if you have no prior Android knowledge, you might not be able to understand everything.
Localizing Android Apps
Android applications are popular all over the world. Your users speak different human languages, which means if you want to reach them, you need to think about localizing your Android apps. This tutorial explains it all.
Getting Started with Android Library Projects
At some point in your Android development career you will get tired of having to re-invent the wheel all the time and you will appreciate the advantages of reusable code. If you are already there, you will certainly want to know more about reusable code. In this case this tutorial will help you get started as quickly as possible.
The вЂGetting Started with Android Library Projects’ tutorial is a bit longer because it’s a three-part series. The first part warms you up with some basic concepts, while the other two delve into more detail about how and when to use Android Library Projects.
Conclusion
I can’t promise that after reading all the tutorials on this list you will become a top Android developer but they are a great start.
Most of these tutorials are for beginners but I am sure that even experienced Android developers will have something new to learn, or find better ways of doing a task they’ve been doing for ages. So, if you have a spare minute, check the tutorials, learn something new and let us know your favorite tutorials.
Learn more about the official Android IDE with our screencasts A Tour of the Official Android IDE – Android Studio screencast.
Источник