Приложения, которые что-то делают. Урок 5

Содержание

Слайд 2

CatOrDog

На этом уроке мы создадим приложение, взаимодействующее с пользователем.
В приложении CatOrDog

CatOrDog На этом уроке мы создадим приложение, взаимодействующее с пользователем. В приложении
пользователь выбирает, кто ему нравится больше: кошки или собаки.

Слайд 3

Структура приложения

Макет определяет, как будет выглядеть приложение.
Он состоит из трех компонентов

Структура приложения Макет определяет, как будет выглядеть приложение. Он состоит из трех
графического интерфейса:
раскрывающегося списка значений, в котором пользователь выбирает кто нравится больше: кошки или собаки;
кнопки, которая при нажатии возвращает подборку;
надписи для пород.

Слайд 4

Структура приложения

Файл strings.xml включает все строковые ресурсы, необходимые макету, — например, текст

Структура приложения Файл strings.xml включает все строковые ресурсы, необходимые макету, — например,
надписи на кнопке.
Активность определяет, как приложение должно взаимодействовать с пользователем. Она получает выбор пользователя, и использует его для вывода списка сортов, которые могут представлять интерес для пользователя. Для решения этой задачи используется вспомогательный класс Java.

Слайд 5

Структура приложения

Класс Java, содержащий логику приложения.
Класс включает метод, который получает выбор

Структура приложения Класс Java, содержащий логику приложения. Класс включает метод, который получает
пользователя в параметре и возвращает список пород указанного типа.
Активность вызывает метод, передает выбор пользователя и использует полученный ответ.

Слайд 6

Создадим новое приложение

03.09.20ГГ

Название презентации

Создадим новое приложение 03.09.20ГГ Название презентации

Слайд 7

Начнем с редактирования файла макета activity_main.xml

Переключитесь на текстовую версию разметки, чтобы открыть

Начнем с редактирования файла макета activity_main.xml Переключитесь на текстовую версию разметки, чтобы
редактор кода, и замените код из activity_main.xml.

Слайд 8


Мы изменили код, сгенерированный Android Studio, чтобы в нем использовался элемент .

Мы изменили код, сгенерированный Android Studio, чтобы в нем использовался элемент .

Он используется для вывода компонентов графического интерфейса рядом друг с другом, по вертикали или по горизонтали.
Если компоненты выстраиваются по вертикали, они образуют столбец, а если по горизонтали — строку.
Любые изменения, вносимые в XML-разметку макета, отражаются в визуальном редакторе Android Studio; чтобы убедиться в этом, достаточно щелкнуть на вкладке Design.

Слайд 9

Знакомство с визуальным редактором

Визуальный редактор предоставляет более наглядные средства для редактирования кода

Знакомство с визуальным редактором Визуальный редактор предоставляет более наглядные средства для редактирования
макета, нежели при редактировании разметки XML. В нем предусмотрены два разных представления макета. Одно показывает, как макет будет выглядеть на устройствах, а в другом представлении выводится эскиз структуры макета.
Слева от визуального редактора располагается палитра с компонентами графического интерфейса, которые можно перетаскивать мышью на макет.

Слайд 10

Добавление кнопки в визуальном редакторе

Добавим кнопку в макет в визуальном редакторе. Найдите

Добавление кнопки в визуальном редакторе Добавим кнопку в макет в визуальном редакторе.
в палитре компонент Button, щелкните на нем и перетащите в визуальный редактор, чтобы кнопка располагалась над надписью.
Кнопка появляется в макете.
Изменения, внесенные в визуальном редакторе, отражаются XML.

Слайд 11

В мире Android кнопка нажимается пользователем, чтобы инициировать какое-либо действие. Элемент обладает
обладает свойствами, управляющими размером и внешним видом кнопки. Эти свойства существуют не только у кнопок — они есть и у других компонентов графического интерфейса.
Тот факт, что кнопки и надписи имеют так много общих свойств, вполне логичен — оба компонента наследуют от одного класса Android View.

Слайд 12

Внесем изменения в код XML

Раскрывающийся список значений в системе Android. Компонент предназначен

Внесем изменения в код XML Раскрывающийся список значений в системе Android. Компонент
для выбора одного значения из представленного набора.

Свойству id кнопки задается значение «find_CatOrDog». Оно будет использовано позднее.

Ширина кнопки изменяется по ширине содержимого.

Кнопка выравнивается по центру макета по горизонтали, и ей назначаются поля.

Свойству id надписи задается значение «porody»

Надпись выравнивается по центру макета по горизонтали, и ей назначаются поля.

Слайд 13

Визуальный редактор

После внесения изменений в XML макета перейдите в визуальный редактор. Вместо

Визуальный редактор После внесения изменений в XML макета перейдите в визуальный редактор.
макета с кнопкой и расположенной под ней надписью должен отображаться макет с раскрывающимся списком, кнопкой и надписью, выровненными по центру в один столбец.
Над кнопкой располагается раскрывающийся список spinner. Если коснуться его, на экране появляется набор значений, из которого пользователь выбирает одно значение.

Слайд 14

Поместите текс в файл strings.xml (используйте лампочку)

Лучше разместить текстовые значения в файле

Поместите текс в файл strings.xml (используйте лампочку) Лучше разместить текстовые значения в
строковых ресурсов с именем strings.xml.
Выделение текстовых значений в strings.xml существенно упрощает интернационализацию приложений.
Вместо того чтобы изменять жестко запрограммированные текстовые значения в множестве разных файлов, достаточно заменить файл strings.xml его локализованной версией.
Такой подход также упрощает глобальные изменения в тексте в масштабах всего приложения, так как для этого достаточно отредактировать всего один файл. Если вам понадобится изменить текст в приложении, для этого следует изменить файл strings.xml.

Файл strings.xml

Слайд 15

Добавление значений в список

На данный момент макет включает раскрывающийся список, но в

Добавление значений в список На данный момент макет включает раскрывающийся список, но
этом списке нет никаких данных. Чтобы список приносил пользу, в нем должен отображаться список значений. Пользователь выбирает в этом списке то значение, которое ему нужно.
Список значений для раскрывающегося списка определяется практически так же, как мы определим текст на кнопке и надписи: нужно создать для него ресурс. До сих пор в файле strings.xml определялись одиночные строковые значения. Все, что нам нужно, — это определить массив строковых значений и передать ссылку на него раскрывающемуся списку.

В файл strings.xml добавляется элемент stringarray. Он определяет массив строк с именем beer_colors, состоящий из четырех значений

Для обращения к массиву строк в макете используется синтаксис, сходный с синтаксисом получения строкового значения.

Слайд 16

Меняем список

Поменять значение в выпадающем списке

Сменим имя массива.

Меняем список Поменять значение в выпадающем списке Сменим имя массива.

Слайд 17

Как заставить кнопку вызвать метод

Чтобы щелчок на кнопке приводил к вызову метода

Как заставить кнопку вызвать метод Чтобы щелчок на кнопке приводил к вызову
активности,
необходимо внести изменения в двух файлах:
Изменения в файле макета activity_main.xml.
Необходимо указать, какой метод активности должен вызываться при щелчке на кнопке.
Изменения в файле активности MainActivity.java.
Необходимо написать метод, который будет вызываться при щелчке.

Слайд 18

onClick и метод, вызываемый при щелчке

Чтобы сообщить Android, какой метод должен вызываться

onClick и метод, вызываемый при щелчке Чтобы сообщить Android, какой метод должен
при щелчке на
кнопке, достаточно всего одной строки разметки XML. Все, что для того нужно — добавить атрибут android:onClick в элемент

Слайд 19

MainActivity.java

Дописываем строки в import, нам это пригодится
Создаем новый class «CatOrDogExpert»
Воспользуемся лампочкой

Дописываем

Создаем класс

MainActivity.java Дописываем строки в import, нам это пригодится Создаем новый class «CatOrDogExpert»

Слайд 20

onCreate().

Этот код — все, что необходимо для создания простейшей активности. Как видите,

onCreate(). Этот код — все, что необходимо для создания простейшей активности. Как
в нем создается класс, который расширяет класс android.app.Activity и реализует метод onCreate().
Все активности (не только эта) должны расширять класс Activity или один из его субклассов. Класс Activity содержит набор методов, которые превращают обычный класс Java в полноценную активность Android. Все активности также должны реализовать метод onCreate().
Метод onCreate() вызывается при создании объекта активности и используется для настройки основных параметров — например, выбора макета, с которым связывается активность. Это делается при помощи метода setContentView(). В приведенном примере вызов setContentView(R.layout. activity_main) сообщает Android, что эта активность использует макет activity_main.
Ранее мы добавили атрибут onClick к кнопке в макете и присвоили ему значение ClickCatOrDog. Теперь нужно добавить этот метод в активность, чтобы он вызывался при нажатии кнопки. Таким образом, активность будет реагировать на нажатия пользователем кнопки в интерфейсе.

Слайд 21

Построение вспомогательного класса Java

Переписываем код со слайда в вспомогательный класс CatOrDogExpert.java
ArrayList - автоматически

Построение вспомогательного класса Java Переписываем код со слайда в вспомогательный класс CatOrDogExpert.java
расширяемый массив. 
Работать с ArrayList просто: вставить строку можно методом add().
В Java сравнение объектов производится с помощью метода equals() класса Object. Этот метод сравнивает содержимое объектов и выводит значение типа boolean. Значение true - если содержимое эквивалентно, и false — если нет.

Слайд 22

MainActivity.java

Переписываем код со слайда в MainActivity.java

MainActivity.java Переписываем код со слайда в MainActivity.java

Слайд 23

findViewById()

Необходимо сначала получить ссылки на оба компонента графического интерфейса в макете

findViewById() Необходимо сначала получить ссылки на оба компонента графического интерфейса в макете
— раскрывающийся список и надпись. С помощью этих ссылок мы сможем получить значение, выбранное в списке и вывести текст в надписи.
Метод findViewById() получает идентификатор компонента в виде параметра и возвращает объект View. Далее остается привести возвращаемое значение к правильному типу компонента (например, TextView или Button).

Слайд 24

Класс StringBuilder, методы append() и setText

Класс StringBuilder представляет расширяемые и доступные для

Класс StringBuilder, методы append() и setText Класс StringBuilder представляет расширяемые и доступные
изменений последовательности символов, позволяя вставлять символы и подстроки в существующую строку и в любом месте. Данный класс гораздо экономичнее в плане потребления памяти и настоятельно рекомендуется к использованию.
Метод append() — обновляет значение объекта, который вызвал метод.
В Java append() возвращает обновленные объекты StringBuilder
Метод setText — содержимое String отображается в надписи
Имя файла: Приложения,-которые-что-то-делают.-Урок-5.pptx
Количество просмотров: 42
Количество скачиваний: 0