SlideShare a Scribd company logo
Noveo Summer School
Лекция 2. Аннотации,
исключения, IO, generics.
Аннотации
Аннотации – набор мета-данных, который
может быть приложен к части программного
кода.
Аннотации могут применяться к:
1. Классам
2. Методам
3. Полям
4. Конструкторам
5. Другим аннотациям
Аннотации2
Аннотации
Примеры:
• @Override
• @SuppressWarnings
• @Deprecated
Аннотации3
Аннотации
Как применить
@Override
class MyClass() {
…
}
@SuppressWarnings(value=“…”)
class MyClass() {
…
}
@SuppressWarnings(“…”)
Class MyClass() {
…
}
Тема лекции4
Annotation
@interface Security {
String id();
String username() default “Unknown”;
int count() default 1;
}
Аннотации5
Annotation
@Security(id = "uniqID", count = 10)
public class MyClass {
…
}
Аннотации6
Мета-аннотации
@Documented
@Documented
@interface Security {
…
}
Аннотации7
Мета-аннотации
@Retention
@Retention(RetentionPolicy.SOURCE)
@interface Security {
…
}
Варианты:
• RetentionPolicy.SOURCE
• RetentionPolicy.CLASS
• RetentionPolicy.RUNTIME
Аннотации8
Мета-аннотации
@Target
@Target(ElementType.TYPE)
@interface Security {
…
}
Варианты:
ElementType.ANNOTATION_TYPE
ElementType.CONSTRUCTOR
ElementType.FIELD
ElementType.TYPE
…
Аннотации9
Мета-аннотации
@Inherited
@Inherited
@interface Security {
…
}
Аннотации10
Мета-аннотации
Итого
@Documented
@Target({ElementType.TYPE,
ElementType.CONSTRUCTOR})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@interface Security {
…
}
Аннотации11
Исключения
Исключение (Exception) – событие,
нарушающее нормальное выполнение
программы. В Java любое исключение –
объект.
Примеры:
• FileNotFoundException;
• AccessDeniedException;
• NullPointerException
Исключения12
Исключения
Иерархия
Исключения13
Исключения
Try-catch-finally
public void someMethod() {
try {
FileReader reader= new FileReader(…);
} catch ( FileNotFoundException e) {
//handle exception
} finally {
//do something
}
}
Исключения14
Исключения
Multicatch(java 7)
…
} catch (FirstException | SecondException e)
{
//do something.
}
Исключения15
Исключения
Catch or specify rule
public void catchMethod() {
try {
new FileReader(…);
} catch (FileNotFoundException e) {
//Do something.
}
}
Либо
public void specifyMethod() throws FileNotFoundException {
new FileReader(…);
}
Исключения16
Исключения
Создание собственного
исключения
public class MyException extends
Exception {
//…
}
public void myMethod() throws Exception {
//….
throw new MyException();
}
Исключения17
Исключения
Chained Exception
• Throwable(String, Throwable);
• Throwable(Throwable).
• Throwable initCause(Throwable);
• Throwable getCause();
Исключения18
Java IO
Поток(stream) – это некоторая
абстракция, представляющая
последовательность данных. Input stream
используется для чтения данных, output
stream – для записи.
Java IO19
Java IO.
Типы потоков
• Байтовые потоки
– InputStream
– OutputStream
• Символьные потоки
– Reader
– Writer
Java IO20
Java IO
Пример чтения/записи
public void processFile() {
FileInputStream in = null;
FileOutputStream out = null;
try {
in = new FileInputStream(…);
out = new FileOutputStream(…);
int c;
while ((c = in.read()) != -1) {
out.write( c );
}
} catch(Exception e) {
//do something
}finally {
if (in!=null) in.close();
if (out!=null) out.close();
}
}
Java IO21
Try-with-resources
String readFirstLineFromFile(String path) throws IOException {
try (BufferedReader br = new BufferedReader(new
FileReader(path))) {
return br.readLine();
}
}
java.lang.AutoCloseable
Java IO22
Java IO
Буферизация
Байтовые потоки
In = new FileInputStream(…);
Out = new FileOutputStream(…);
BufferedInputStream input = new BufferedInputStream(in);
BufferedOutputStream output = new
BufferedOutputStream(out);
Символьные потоки
r = new FileReader(…);
w = new FileWriter(…);
BufferedReader reader = new BufferedReader( r)
BufferedWriter writer = new BufferedWriter(w);
Java IO23
Java IO
Data Streams
• DataInputStream
– readByte
– readChar
– readInt
• DataOutputStream
– writeByte
– writeChar
– writeInt
Java IO24
Java IO
Object streams
• ObjectInputStream
– readObject
• ObjectOutputStream
– writeObject
Java IO25
Java IO.
Сериализация.
public class serializationDemo implements
Serializable {
private int age;
private String login;
private transient String password;
}
Java IO26
Java IO
Сериализация
public class serializationDemo implements Serializable {
private void writeObject(ObjectOutputStream
stream) {
stream.defaultWriteObject();
…
}
private void readObject(ObjectInputStream stream)
{
stream.defaultReadObject();
…
}
} Java IO27
Generics
Обобщения (Generics) – механизм,
позволяющий параметризовать классы,
интерфейсы и отдельные методы и
улучшить возможности по проверке типов
на стадии компиляции.
Generics28
Generics
Пример
public class Box<T> {
private T value;
public T getValue() {
return value;
}
public setValue(T value) {
this.value = value;
}
}
Использование:
Box<String> box = new Box<String>();
Generics29
Generics
Ограничения типов
public class Box<T extends Number> {
private T value;
public T getValue() {
return value;
}
public setValue(T value) {
this.value = value;
}
}
Использование:
Box<Integer> intBox = new Box<Integer> (); //ok
Box<String> stringBox = new Box<String>(); //compilation error
Generics30
Generics
Параметризованные методы
public class MyClass {
public static <T extends Number> void calc (T value)
{
…
}
}
Использование:
MyClass.calc(25);
Generics31
Generics
Проблема с наследованием
Generics32
public void consumeBox(Box<Object> box) {
//do something.
}
consumeBox(new Box<Object>());//ok
consumeBox(new Box<Integer>());//error
Generics
Wildcard
public void consumeBox(Box<?> box) {
//do something.
}
consumeBox(new Box<Object>());//ok
consumeBox(new Box<Integer>());//ok
Generics33
Generics
Wildcard. Ограничения
public void consumeBox(Box<? extends Number>
box) {
//можно использовать методы Number.
box.getValue().intValue();
}
public void consumeBox(Box<? super Integer> box)
{
}
Generics34
Generics
Стирание типов
• Все параметры без ограничений
стираются до Object;
• Все параметры с ограничением
стираются до типа-ограничения;
• Добавляются операторы приведения
типа, если это необходимо;
Generics35
Generics
Стирание типов. Пример.
До стирания
public class Box<T> {
private T value;
public T getValue() {
return value;
}
public setValue(T value) {
this.value =
value;
}
}
После
public class Box {
private Object value;
public Object getValue() {
return value;
}
public setValue(Object
value){
this.value = value;
}
}
Generics36
Материалы
Исключения:
Just Java: глава 10.
IO:
Just Java: глава 17.
Generics:
Just Java: глава 15.
Материалы37
Практическое задание
https://github.com/noveogroup/university-android-
SecondJavaTask
1. Создать иерархию из трех классов вида «1 Родитель – 2
потомка»;
2. Реализовать бинарное дерево, которое сможет хранить
классы из иерархии п.1 (использовать generics) и только
их. Класс дерева должен поддерживать вставку,
удаление и итерирование элементов;
3. Реализовать собственную иерархию исключений для
бинарного дерева из п.2;
4. Реализовать сериализацию/десериализацию дерева из
файла. Кроме самого дерева, необходимо складывать в
файл количество листьев в нем (custom serialization).
Практика38
Ad

More Related Content

What's hot (12)

C++ STL & Qt. Занятие 01.
C++ STL & Qt. Занятие 01.C++ STL & Qt. Занятие 01.
C++ STL & Qt. Занятие 01.
Igor Shkulipa
 
Сетевое взаимодействие
Сетевое взаимодействиеСетевое взаимодействие
Сетевое взаимодействие
Unguryan Vitaliy
 
C++ STL & Qt. Занятие 08.
C++ STL & Qt. Занятие 08.C++ STL & Qt. Занятие 08.
C++ STL & Qt. Занятие 08.
Igor Shkulipa
 
Лекция 6. Классы 1.
Лекция 6. Классы 1.Лекция 6. Классы 1.
Лекция 6. Классы 1.
Roman Brovko
 
10. java lecture generics&collections
10. java lecture generics&collections10. java lecture generics&collections
10. java lecture generics&collections
MERA_school
 
Лекция 11. Тестирование.
Лекция 11. Тестирование.Лекция 11. Тестирование.
Лекция 11. Тестирование.
Roman Brovko
 
C++ STL & Qt. Занятие 11.
C++ STL & Qt. Занятие 11.C++ STL & Qt. Занятие 11.
C++ STL & Qt. Занятие 11.
Igor Shkulipa
 
Введение в сетевые технологии
Введение в сетевые технологииВведение в сетевые технологии
Введение в сетевые технологии
Unguryan Vitaliy
 
Лекция 8. Итераторы, генераторы и модуль itertools.
 Лекция 8. Итераторы, генераторы и модуль itertools. Лекция 8. Итераторы, генераторы и модуль itertools.
Лекция 8. Итераторы, генераторы и модуль itertools.
Roman Brovko
 
Java. Многопоточность.
Java. Многопоточность.Java. Многопоточность.
Java. Многопоточность.
Unguryan Vitaliy
 
9. java lecture library
9. java lecture library9. java lecture library
9. java lecture library
MERA_school
 
C++ STL & Qt. Занятие 01.
C++ STL & Qt. Занятие 01.C++ STL & Qt. Занятие 01.
C++ STL & Qt. Занятие 01.
Igor Shkulipa
 
Сетевое взаимодействие
Сетевое взаимодействиеСетевое взаимодействие
Сетевое взаимодействие
Unguryan Vitaliy
 
C++ STL & Qt. Занятие 08.
C++ STL & Qt. Занятие 08.C++ STL & Qt. Занятие 08.
C++ STL & Qt. Занятие 08.
Igor Shkulipa
 
Лекция 6. Классы 1.
Лекция 6. Классы 1.Лекция 6. Классы 1.
Лекция 6. Классы 1.
Roman Brovko
 
10. java lecture generics&collections
10. java lecture generics&collections10. java lecture generics&collections
10. java lecture generics&collections
MERA_school
 
Лекция 11. Тестирование.
Лекция 11. Тестирование.Лекция 11. Тестирование.
Лекция 11. Тестирование.
Roman Brovko
 
C++ STL & Qt. Занятие 11.
C++ STL & Qt. Занятие 11.C++ STL & Qt. Занятие 11.
C++ STL & Qt. Занятие 11.
Igor Shkulipa
 
Введение в сетевые технологии
Введение в сетевые технологииВведение в сетевые технологии
Введение в сетевые технологии
Unguryan Vitaliy
 
Лекция 8. Итераторы, генераторы и модуль itertools.
 Лекция 8. Итераторы, генераторы и модуль itertools. Лекция 8. Итераторы, генераторы и модуль itertools.
Лекция 8. Итераторы, генераторы и модуль itertools.
Roman Brovko
 
Java. Многопоточность.
Java. Многопоточность.Java. Многопоточность.
Java. Многопоточность.
Unguryan Vitaliy
 
9. java lecture library
9. java lecture library9. java lecture library
9. java lecture library
MERA_school
 

Viewers also liked (6)

Tatiana doronina
Tatiana doroninaTatiana doronina
Tatiana doronina
Lorian
 
Riesgos naturales en Peñalolén
Riesgos naturales en PeñalolénRiesgos naturales en Peñalolén
Riesgos naturales en Peñalolén
mafca
 
P Erika T
P Erika TP Erika T
P Erika T
ovruni
 
園林風光長卷
園林風光長卷園林風光長卷
園林風光長卷
Jaing Lai
 
Dias de verão a4
Dias de verão a4Dias de verão a4
Dias de verão a4
rgrecia
 
Africa 2 nairobi-kenya-(catherine)
Africa 2 nairobi-kenya-(catherine)Africa 2 nairobi-kenya-(catherine)
Africa 2 nairobi-kenya-(catherine)
Catherine Dewilde
 
Tatiana doronina
Tatiana doroninaTatiana doronina
Tatiana doronina
Lorian
 
Riesgos naturales en Peñalolén
Riesgos naturales en PeñalolénRiesgos naturales en Peñalolén
Riesgos naturales en Peñalolén
mafca
 
P Erika T
P Erika TP Erika T
P Erika T
ovruni
 
園林風光長卷
園林風光長卷園林風光長卷
園林風光長卷
Jaing Lai
 
Dias de verão a4
Dias de verão a4Dias de verão a4
Dias de verão a4
rgrecia
 
Africa 2 nairobi-kenya-(catherine)
Africa 2 nairobi-kenya-(catherine)Africa 2 nairobi-kenya-(catherine)
Africa 2 nairobi-kenya-(catherine)
Catherine Dewilde
 
Ad

Similar to Android - 02 - annotations, exceptions, io, generics (18)

Tricky Java Generics
Tricky Java GenericsTricky Java Generics
Tricky Java Generics
Alexander Matorin
 
Аннотации в java
Аннотации в javaАннотации в java
Аннотации в java
Unguryan Vitaliy
 
Lec 2 Java
Lec 2 JavaLec 2 Java
Lec 2 Java
itc73
 
Lec 2
Lec 2Lec 2
Lec 2
Alexander Rusin
 
курс Java 2016. занятие 03. интерфейсы, generic, исключения
курс Java 2016. занятие 03. интерфейсы, generic, исключениякурс Java 2016. занятие 03. интерфейсы, generic, исключения
курс Java 2016. занятие 03. интерфейсы, generic, исключения
7bits
 
Лекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследованиеЛекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследование
metaform
 
Step 3.1
Step 3.1Step 3.1
Step 3.1
DmitryTrushkin
 
Экспресс по Java [NoBugs WTF PRO уровень]
Экспресс по Java [NoBugs WTF PRO уровень]Экспресс по Java [NoBugs WTF PRO уровень]
Экспресс по Java [NoBugs WTF PRO уровень]
NoBugs
 
Java Core. Lecture# 1. Intro
Java Core. Lecture# 1. IntroJava Core. Lecture# 1. Intro
Java Core. Lecture# 1. Intro
Anton Moiseenko
 
Java Core. Lecture# 2. Classes & objects.
Java Core. Lecture# 2. Classes & objects.Java Core. Lecture# 2. Classes & objects.
Java Core. Lecture# 2. Classes & objects.
Anton Moiseenko
 
Java 9: what is there beyond modularization
Java 9: what is there beyond modularizationJava 9: what is there beyond modularization
Java 9: what is there beyond modularization
Ivan Krylov
 
принципы ооп и программирование классов в C#
принципы ооп и программирование классов в C#принципы ооп и программирование классов в C#
принципы ооп и программирование классов в C#
bolevik
 
Groovy presentation.
Groovy presentation.Groovy presentation.
Groovy presentation.
Infinity
 
Deep Dive C# by Sergey Teplyakov
Deep Dive  C# by Sergey TeplyakovDeep Dive  C# by Sergey Teplyakov
Deep Dive C# by Sergey Teplyakov
Alex Tumanoff
 
Java. Lecture 03. OOP and UML
Java. Lecture 03. OOP and UMLJava. Lecture 03. OOP and UML
Java. Lecture 03. OOP and UML
colriot
 
Lec 4
Lec 4Lec 4
Lec 4
Alexander Rusin
 
Programming Java - Lecture 02 - Objects - Lavrentyev Fedor
Programming Java - Lecture 02 - Objects - Lavrentyev FedorProgramming Java - Lecture 02 - Objects - Lavrentyev Fedor
Programming Java - Lecture 02 - Objects - Lavrentyev Fedor
Fedor Lavrentyev
 
Глава 2: Среда разработки NetBeans
Глава 2: Среда разработки NetBeansГлава 2: Среда разработки NetBeans
Глава 2: Среда разработки NetBeans
metaform
 
Аннотации в java
Аннотации в javaАннотации в java
Аннотации в java
Unguryan Vitaliy
 
Lec 2 Java
Lec 2 JavaLec 2 Java
Lec 2 Java
itc73
 
курс Java 2016. занятие 03. интерфейсы, generic, исключения
курс Java 2016. занятие 03. интерфейсы, generic, исключениякурс Java 2016. занятие 03. интерфейсы, generic, исключения
курс Java 2016. занятие 03. интерфейсы, generic, исключения
7bits
 
Лекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследованиеЛекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследование
metaform
 
Экспресс по Java [NoBugs WTF PRO уровень]
Экспресс по Java [NoBugs WTF PRO уровень]Экспресс по Java [NoBugs WTF PRO уровень]
Экспресс по Java [NoBugs WTF PRO уровень]
NoBugs
 
Java Core. Lecture# 1. Intro
Java Core. Lecture# 1. IntroJava Core. Lecture# 1. Intro
Java Core. Lecture# 1. Intro
Anton Moiseenko
 
Java Core. Lecture# 2. Classes & objects.
Java Core. Lecture# 2. Classes & objects.Java Core. Lecture# 2. Classes & objects.
Java Core. Lecture# 2. Classes & objects.
Anton Moiseenko
 
Java 9: what is there beyond modularization
Java 9: what is there beyond modularizationJava 9: what is there beyond modularization
Java 9: what is there beyond modularization
Ivan Krylov
 
принципы ооп и программирование классов в C#
принципы ооп и программирование классов в C#принципы ооп и программирование классов в C#
принципы ооп и программирование классов в C#
bolevik
 
Groovy presentation.
Groovy presentation.Groovy presentation.
Groovy presentation.
Infinity
 
Deep Dive C# by Sergey Teplyakov
Deep Dive  C# by Sergey TeplyakovDeep Dive  C# by Sergey Teplyakov
Deep Dive C# by Sergey Teplyakov
Alex Tumanoff
 
Java. Lecture 03. OOP and UML
Java. Lecture 03. OOP and UMLJava. Lecture 03. OOP and UML
Java. Lecture 03. OOP and UML
colriot
 
Programming Java - Lecture 02 - Objects - Lavrentyev Fedor
Programming Java - Lecture 02 - Objects - Lavrentyev FedorProgramming Java - Lecture 02 - Objects - Lavrentyev Fedor
Programming Java - Lecture 02 - Objects - Lavrentyev Fedor
Fedor Lavrentyev
 
Глава 2: Среда разработки NetBeans
Глава 2: Среда разработки NetBeansГлава 2: Среда разработки NetBeans
Глава 2: Среда разработки NetBeans
metaform
 
Ad

More from Noveo (20)

Гуманитарные специальности в IT-индустрии
Гуманитарные специальности в IT-индустрииГуманитарные специальности в IT-индустрии
Гуманитарные специальности в IT-индустрии
Noveo
 
Box model, display and position (HTML5 тема 07 - box model, display position)
Box model, display and position (HTML5 тема 07 - box model, display position)Box model, display and position (HTML5 тема 07 - box model, display position)
Box model, display and position (HTML5 тема 07 - box model, display position)
Noveo
 
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Noveo
 
Стилизация текста (HTML5 тема 05 - стилизация текста)
Стилизация текста (HTML5 тема 05 - стилизация текста)Стилизация текста (HTML5 тема 05 - стилизация текста)
Стилизация текста (HTML5 тема 05 - стилизация текста)
Noveo
 
Семантика текста (HTML5 тема 04 - семантика текста)
Семантика текста (HTML5 тема 04 - семантика текста)Семантика текста (HTML5 тема 04 - семантика текста)
Семантика текста (HTML5 тема 04 - семантика текста)
Noveo
 
Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)
Noveo
 
Структура HTML документа (HTML5 тема 01 - структура html документа)
Структура HTML документа (HTML5 тема 01 - структура html документа)Структура HTML документа (HTML5 тема 01 - структура html документа)
Структура HTML документа (HTML5 тема 01 - структура html документа)
Noveo
 
Yii2
Yii2Yii2
Yii2
Noveo
 
Сессии и авторизация
Сессии и авторизацияСессии и авторизация
Сессии и авторизация
Noveo
 
Rest
RestRest
Rest
Noveo
 
PHP basic
PHP basicPHP basic
PHP basic
Noveo
 
PHP Advanced
PHP AdvancedPHP Advanced
PHP Advanced
Noveo
 
PHP and MySQL
PHP and MySQLPHP and MySQL
PHP and MySQL
Noveo
 
MySQL
MySQLMySQL
MySQL
Noveo
 
Push Notifications (Lecture 22 – push notifications)
Push Notifications (Lecture 22 – push notifications)Push Notifications (Lecture 22 – push notifications)
Push Notifications (Lecture 22 – push notifications)
Noveo
 
RxJava+RxAndroid (Lecture 20 – rx java)
RxJava+RxAndroid (Lecture 20 – rx java)RxJava+RxAndroid (Lecture 20 – rx java)
RxJava+RxAndroid (Lecture 20 – rx java)
Noveo
 
Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)
Noveo
 
Работа с геоданными (Lecture 18 – geolocation)
Работа с геоданными (Lecture 18 – geolocation)Работа с геоданными (Lecture 18 – geolocation)
Работа с геоданными (Lecture 18 – geolocation)
Noveo
 
Animations (Lecture 17 – animations)
Animations (Lecture 17 – animations)Animations (Lecture 17 – animations)
Animations (Lecture 17 – animations)
Noveo
 
Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)
Noveo
 
Гуманитарные специальности в IT-индустрии
Гуманитарные специальности в IT-индустрииГуманитарные специальности в IT-индустрии
Гуманитарные специальности в IT-индустрии
Noveo
 
Box model, display and position (HTML5 тема 07 - box model, display position)
Box model, display and position (HTML5 тема 07 - box model, display position)Box model, display and position (HTML5 тема 07 - box model, display position)
Box model, display and position (HTML5 тема 07 - box model, display position)
Noveo
 
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Noveo
 
Стилизация текста (HTML5 тема 05 - стилизация текста)
Стилизация текста (HTML5 тема 05 - стилизация текста)Стилизация текста (HTML5 тема 05 - стилизация текста)
Стилизация текста (HTML5 тема 05 - стилизация текста)
Noveo
 
Семантика текста (HTML5 тема 04 - семантика текста)
Семантика текста (HTML5 тема 04 - семантика текста)Семантика текста (HTML5 тема 04 - семантика текста)
Семантика текста (HTML5 тема 04 - семантика текста)
Noveo
 
Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)
Noveo
 
Структура HTML документа (HTML5 тема 01 - структура html документа)
Структура HTML документа (HTML5 тема 01 - структура html документа)Структура HTML документа (HTML5 тема 01 - структура html документа)
Структура HTML документа (HTML5 тема 01 - структура html документа)
Noveo
 
Yii2
Yii2Yii2
Yii2
Noveo
 
Сессии и авторизация
Сессии и авторизацияСессии и авторизация
Сессии и авторизация
Noveo
 
Rest
RestRest
Rest
Noveo
 
PHP basic
PHP basicPHP basic
PHP basic
Noveo
 
PHP Advanced
PHP AdvancedPHP Advanced
PHP Advanced
Noveo
 
PHP and MySQL
PHP and MySQLPHP and MySQL
PHP and MySQL
Noveo
 
MySQL
MySQLMySQL
MySQL
Noveo
 
Push Notifications (Lecture 22 – push notifications)
Push Notifications (Lecture 22 – push notifications)Push Notifications (Lecture 22 – push notifications)
Push Notifications (Lecture 22 – push notifications)
Noveo
 
RxJava+RxAndroid (Lecture 20 – rx java)
RxJava+RxAndroid (Lecture 20 – rx java)RxJava+RxAndroid (Lecture 20 – rx java)
RxJava+RxAndroid (Lecture 20 – rx java)
Noveo
 
Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)
Noveo
 
Работа с геоданными (Lecture 18 – geolocation)
Работа с геоданными (Lecture 18 – geolocation)Работа с геоданными (Lecture 18 – geolocation)
Работа с геоданными (Lecture 18 – geolocation)
Noveo
 
Animations (Lecture 17 – animations)
Animations (Lecture 17 – animations)Animations (Lecture 17 – animations)
Animations (Lecture 17 – animations)
Noveo
 
Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)
Noveo
 

Android - 02 - annotations, exceptions, io, generics