ISBN 978-5-4498-1297-1
Создано в интеллектуальной издательской системе Ridero
ВВЕДЕНИЕ
Разработка мобильных приложений сегодня – неотъемлемая часть работы любого предприятия в сфере IT. Стоит отметить, что для того, чтобы начать разрабатывать приложения для платформы Android необходимо оплатить единоразовый взнос – на 2019 год 50$. Что по сравнению с аналогичной разработкой приложений для платформы Apple в два раза меньше и его нет необходимости оплачивать ежегодно. Хотя опыт показывает, что приложения размещаемые в App Store проходят более тщательную проверку, нежели приложения размещаемые в Google Play.
Лаборатория которой руководил автор на протяжении 5 лет занималась разработкой различных приложений для самых популярных за последнее пятилетие операционных систем носимых устройств – Android, IOS, Windows Phone. Сегодня платформа Android насчитывает многомиллионную аудиторию и располагает одним из самых удобных и эргономичных способов для авторов (будь то песни, книги или приложения) для монетизации своих творений при этом не неся затрат на тиражирование, продажу, экспозицию и другие накладные расходы.
Данная книга посвящена разработке приложений именно под платформу от Android и является третьей в цикле.
У читателя предполагается опыт программирования на объектно-ориентированном языке, желательно опыт на Java.
Основы Java
1 Типы данных
Элементарные типы данных и переменные
Java предоставляет множество элементарных типов данных. Под каждый тип данных выделяется строго фиксированное количество бит, определенное в официальной документации. Еще одним отличием Java от других языков является тот факт что все типы данных содержат бит выделенный под знак и избавится от него нельзя. В таблице представлены параметры всех типов данных.
Переменная – это область памяти, выделенная для хранения какого-либо значения.
Литералы
Литералами называют константные значения, представленные в явном виде. Например:
int i = 5; // 5-литерал
Для каждого литерала выделяется отдельная область памяти. Разберем сколько именно памяти выделяется под тот или иной тип литерала.
В случае если мы представили литерал в целочисленном виде, то для него выделяется 32 бита, а сам литерал имеет тип int. Но в случае если переменной меньшего размера присваивается целое число, оно автоматически конвертируется в значение той переменной.
Символьный литерал имеет тип char и обозначается в одинарных кавычках:
char ch = «h’; // символьный литерал
все дробные числа изначально имеют тип double. Если попробовать присвоить дробное число переменной типа float, то это вызовет ошибку. Простой способ присвоить число переменной float – это конце числа подставить символ F:
float f = 2.0F;// переменная типа float
Так же в Java присутствуют булевы тип. Литералы этого типа имеют всего два значения: true и false. В случае присвоения другого значения булевой переменной, компилятор выдаст ошибку.
2 Класс, объект, метод
Введение в ООП
Java является объектно-ориентированным языком программирования. Определяющими понятиями данной парадигмы программирования можно назвать класс и объект.
Класс – это тип данных определяемый разработчиком.
Объект – это экземпляр класса. Давайте разберем более подробно, что это значит.
В классе мы задаем поведение и все необходимые параметры (переменные, объекты других классов) и поведение (методы и конструкторы) объекта данного класса. При создании и инициализации объекта выделяется необходимый объем памяти, ровно столько сколько было прописано в классе, так же объекты вынуждены подчиняться поведениям, описанных в классе.
Приведу пример: допустим нам необходимо реализовать класс учебной группы. В качестве параметров можно принять количество студентов (может выступать переменная int numberStud), наименование группы (например объект класса String name), так же необходимо указать какие именно студенты будут входит в состав группы (можно сделать массив объектов класса студентов, который в свою очередь тоже имеют свои параметры и свое поведение). в процессе существования группа может: поменять имя, поменять количество студентов, прекратить свое существование и другое. Это и называется поведение объекта. В процессе написания программы программист всячески совершает над объектами различные действия. Все эти действия необходимо прописать в нашем классе, иначе они попросту не смогут выполняться.
Еще одними из определяющими понятиями в ООП (не только в Java) являются: полиморфизм, наследование и инкапсуляция. Это своего рода принципы (свойства) на которых построена парадигма ООП, именно на них она и базируется.
Наследование
В рамках