SlideShare a Scribd company logo
ANTONIS KALIPETIS - MOBILE LEAD, SOURCELAIR
AKALIPETIS@SOURCELAIR.COM, @AKALIPETIS

ANDROID WORKSHOP 1
W H AT T H E S E
WORKSHOPS ARE
NOT FOR
• Being a pro in two weeks
!

• Learning without trying
!

• Knowing everything out

there
W H AT W E A R E G O I N G T O L E A R N

• General knowledge of the platform
• Simple application creation
• Learn how to search
GOOGLE IS YOUR FRIEND
A N D S TA C K O V E R F L O W T O O !
AGENDA
• Intro to OOP and Java
• Intro to the Android Platform
• Setting up Android Studio
• Running a simple application
• Creating a simple layout
OBJECT ORIENTED PROGRAMMING

WHY U ROCK SO HARD?
• Code decoupling, enforces code reusability
• Associates data structures with their related methods
• Makes real-world object representation easier
L E T ’ S S A Y I T ’ S A B L U E P R I N T, I T ’ S A W A Y T O R E P R E S E N T D A TA

A CLASS
C E R TA I N D A TA R E P R E S E N TA T I O N , I N M E M O R Y !

OBJECT
CLASS
EXTENSION

• Classes can extend other

classes
• They inherit their

attributes and methods
• Can extend only one

class
public class Car {
public int maxSpeed;
public int currentSpeed;

!

public void accelerate(int speed) {
int tmpSpeed = currentSpeed + speed;
if (tmpSpeed < maxSpeed) {
currentSpeed = tmpSpeed;
} else {
currentSpeed = maxSpeed;
}
}

}

!

public class Truck extends Car {
public int trailers;
public int maxTrailers;

!

}

public void addTrailer() {
if (trailers < maxTrailers) {
trailers++;
}
}
F U N C T I O N A L I T Y PA C K S - A C T I O N D E S C R I P T I O N S

I N T E R FA C E S
public class Car {
// …
}
!

public interface MilitaryUnit {
abstract void startShooting();
}
!

public class MilitaryCar extends Car implements
MilitaryUnit {
@Override
public void startShooting() {
System.out.println("Bang, Bang!");
}
}
SOME OOP LANGUAGES
• C++
• Ruby
• Python
• C#
• VB.NET
• ...And, wait for it...
LET’S DIVE INTO…

J AVA !
J AVA
AT A G L A N C E

C-like syntax
Created in Sun Microsystems
Now acquired by Oracle
public class HelloWorldJava {
public static void main(String[] args) {
System.out.prinln("Hello, World!”);
}
}
G R E AT T H I N G S A B O U T J A V A

• Garbage collector, (almost) good bye memory leaks!
• Shit happens, except exceptions!
• Platform independent, runs on JVM, (or maybe

Dalvik!)
“Have a break, have a KitKat.”
– K I T K AT
EXPLORING THE WORLD OF

ANDROID
W H AT I S
ANDROID
Complete software stack
Operating System
Middleware
Key Applications
Open Source
Developed by the Open
Handset Alliance
Fastest growing market
Platform with the most
devices activations
ANDROID

BOTTOMS UP
ACTIVITY

• Creates a window, so that

the user can interact with
the app
• Can communicate with the

system
• Controls the hierarchy of

the user interface
ACTIVITY
LIFECYCLE

• Save state
• Know when in foreground
• Know when it is possible to

be garbage collected by
the system
L E T ’ S S TA R T O U R …
FIRST APP!
WHAT CAN I PLAY WITH?

C R E AT E S O M E M O R E V I E W S , E V E N
T R Y T O D Y N A M I C A L LY C H A N G E
THEM USING A BUTTON!

More Related Content

PPTX
Quiestion 4
PPT
Celiac disease
PDF
EESTEC Android Workshop 2
PPT
Circle matthew hrishi
PDF
EESTEC Android Workshops - 103 The Internet and JSON
PDF
EESTEC Android Workshop 4
PPT
Square veda & amy
PPT
Square veda & amy
Quiestion 4
Celiac disease
EESTEC Android Workshop 2
Circle matthew hrishi
EESTEC Android Workshops - 103 The Internet and JSON
EESTEC Android Workshop 4
Square veda & amy
Square veda & amy

Viewers also liked (9)

PDF
EESTEC Android Workshops - Recap
PPT
Circle
PPT
Rectangle by jessie and payton
PPTX
buscador
PPT
Celiac disease
PDF
Account Planning Portfolio (Draft) - Jason Potteiger
PDF
EESTEC Android Workshops - 101 Java, OOP and Introduction to Android
PDF
EESTEC Android Workshop 3
PPTX
The Persian Gulf War
EESTEC Android Workshops - Recap
Circle
Rectangle by jessie and payton
buscador
Celiac disease
Account Planning Portfolio (Draft) - Jason Potteiger
EESTEC Android Workshops - 101 Java, OOP and Introduction to Android
EESTEC Android Workshop 3
The Persian Gulf War
Ad

Similar to EESTEC Android Workshop 1 (20)

PPT
Level 1
PDF
Programming Android Zigurd Mednieks Laird Dornin Blake Meike
PPTX
Performance #5 cpu and battery
PDF
Blake Nakamura Masumi Programming Android 2nd Edition Mednieks Zigurd
PPT
androidPramming.ppt
PPTX
Kotlin Basics & Introduction to Jetpack Compose.pptx
PDF
Programming Android Java Programming for the New Generation of Mobile Devices...
PDF
Programming Android Java Programming for the New Generation of Mobile Devices...
PPTX
Android Overview (Karlsruhe VKSI)
PDF
Programming Android Java Programming for the New Generation of Mobile Devices...
PDF
Android Programming For Developers John Horton Helder Vasconcelos
PDF
Programming Android Java Programming for the New Generation of Mobile Devices...
PDF
Java How To Program Early Objects Eleventh Edition Deitel Harvey M Deitel
PDF
Android Made Simple
PDF
Mobile app
PDF
Android Application Development.pdf
PPTX
Android Study Jams - Session 2
PPTX
Android quick talk
PDF
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
PDF
Android app development SEO Expert Bangladesh LTD.pdf
Level 1
Programming Android Zigurd Mednieks Laird Dornin Blake Meike
Performance #5 cpu and battery
Blake Nakamura Masumi Programming Android 2nd Edition Mednieks Zigurd
androidPramming.ppt
Kotlin Basics & Introduction to Jetpack Compose.pptx
Programming Android Java Programming for the New Generation of Mobile Devices...
Programming Android Java Programming for the New Generation of Mobile Devices...
Android Overview (Karlsruhe VKSI)
Programming Android Java Programming for the New Generation of Mobile Devices...
Android Programming For Developers John Horton Helder Vasconcelos
Programming Android Java Programming for the New Generation of Mobile Devices...
Java How To Program Early Objects Eleventh Edition Deitel Harvey M Deitel
Android Made Simple
Mobile app
Android Application Development.pdf
Android Study Jams - Session 2
Android quick talk
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
Android app development SEO Expert Bangladesh LTD.pdf
Ad

Recently uploaded (20)

PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
STKI Israel Market Study 2025 version august
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
August Patch Tuesday
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
CloudStack 4.21: First Look Webinar slides
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
Five Habits of High-Impact Board Members
PPT
What is a Computer? Input Devices /output devices
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
Architecture types and enterprise applications.pdf
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PPTX
observCloud-Native Containerability and monitoring.pptx
Assigned Numbers - 2025 - Bluetooth® Document
STKI Israel Market Study 2025 version august
Hindi spoken digit analysis for native and non-native speakers
A comparative study of natural language inference in Swahili using monolingua...
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
sustainability-14-14877-v2.pddhzftheheeeee
August Patch Tuesday
Zenith AI: Advanced Artificial Intelligence
WOOl fibre morphology and structure.pdf for textiles
Developing a website for English-speaking practice to English as a foreign la...
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
CloudStack 4.21: First Look Webinar slides
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
NewMind AI Weekly Chronicles – August ’25 Week III
Five Habits of High-Impact Board Members
What is a Computer? Input Devices /output devices
Enhancing emotion recognition model for a student engagement use case through...
Architecture types and enterprise applications.pdf
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
observCloud-Native Containerability and monitoring.pptx

EESTEC Android Workshop 1

  • 1. ANTONIS KALIPETIS - MOBILE LEAD, SOURCELAIR AKALIPETIS@SOURCELAIR.COM, @AKALIPETIS ANDROID WORKSHOP 1
  • 2. W H AT T H E S E WORKSHOPS ARE NOT FOR • Being a pro in two weeks ! • Learning without trying ! • Knowing everything out there
  • 3. W H AT W E A R E G O I N G T O L E A R N • General knowledge of the platform • Simple application creation • Learn how to search
  • 4. GOOGLE IS YOUR FRIEND A N D S TA C K O V E R F L O W T O O !
  • 5. AGENDA • Intro to OOP and Java • Intro to the Android Platform • Setting up Android Studio • Running a simple application • Creating a simple layout
  • 7. • Code decoupling, enforces code reusability • Associates data structures with their related methods • Makes real-world object representation easier
  • 8. L E T ’ S S A Y I T ’ S A B L U E P R I N T, I T ’ S A W A Y T O R E P R E S E N T D A TA A CLASS
  • 9. C E R TA I N D A TA R E P R E S E N TA T I O N , I N M E M O R Y ! OBJECT
  • 10. CLASS EXTENSION • Classes can extend other classes • They inherit their attributes and methods • Can extend only one class
  • 11. public class Car { public int maxSpeed; public int currentSpeed; ! public void accelerate(int speed) { int tmpSpeed = currentSpeed + speed; if (tmpSpeed < maxSpeed) { currentSpeed = tmpSpeed; } else { currentSpeed = maxSpeed; } } } ! public class Truck extends Car { public int trailers; public int maxTrailers; ! } public void addTrailer() { if (trailers < maxTrailers) { trailers++; } }
  • 12. F U N C T I O N A L I T Y PA C K S - A C T I O N D E S C R I P T I O N S I N T E R FA C E S
  • 13. public class Car { // … } ! public interface MilitaryUnit { abstract void startShooting(); } ! public class MilitaryCar extends Car implements MilitaryUnit { @Override public void startShooting() { System.out.println("Bang, Bang!"); } }
  • 14. SOME OOP LANGUAGES • C++ • Ruby • Python • C# • VB.NET • ...And, wait for it...
  • 16. J AVA AT A G L A N C E C-like syntax Created in Sun Microsystems Now acquired by Oracle
  • 17. public class HelloWorldJava { public static void main(String[] args) { System.out.prinln("Hello, World!”); } }
  • 18. G R E AT T H I N G S A B O U T J A V A • Garbage collector, (almost) good bye memory leaks! • Shit happens, except exceptions! • Platform independent, runs on JVM, (or maybe Dalvik!)
  • 19. “Have a break, have a KitKat.” – K I T K AT
  • 20. EXPLORING THE WORLD OF ANDROID
  • 21. W H AT I S ANDROID Complete software stack Operating System Middleware Key Applications Open Source Developed by the Open Handset Alliance Fastest growing market Platform with the most devices activations
  • 23. ACTIVITY • Creates a window, so that the user can interact with the app • Can communicate with the system • Controls the hierarchy of the user interface
  • 24. ACTIVITY LIFECYCLE • Save state • Know when in foreground • Know when it is possible to be garbage collected by the system
  • 25. L E T ’ S S TA R T O U R … FIRST APP!
  • 26. WHAT CAN I PLAY WITH? C R E AT E S O M E M O R E V I E W S , E V E N T R Y T O D Y N A M I C A L LY C H A N G E THEM USING A BUTTON!