EESTEC Android Workshop 1
-
Upload
antonis-kalipetis -
Category
Technology
-
view
387 -
download
1
description
Transcript of EESTEC Android Workshop 1
![Page 1: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/1.jpg)
A N D R O I D W O R K S H O P 1
A N T O N I S K A L I P E T I S - M O B I L E L E A D , S O U R C E L A I R A K A L I P E T I S @ S O U R C E L A I R . C O M , @ A K A L I P E T I S
![Page 2: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/2.jpg)
W H AT T H E S E W O R K S H O P S A R E N O T F O R
• Being a pro in two weeks
!
• Learning without trying
!
• Knowing everything out there
![Page 3: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/3.jpg)
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
![Page 4: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/4.jpg)
G O O G L E I S Y O U R F R I E N DA N D S TA C K O V E R F L O W T O O !
![Page 5: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/5.jpg)
A G E N D A
• Intro to OOP and Java
• Intro to the Android Platform
• Setting up Android Studio
• Running a simple application
• Creating a simple layout
![Page 6: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/6.jpg)
W H Y U R O C K S O H A R D ?O B J E C T O R I E N T E D P R O G R A M M I N G
![Page 7: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/7.jpg)
• Code decoupling, enforces code reusability
• Associates data structures with their related methods
• Makes real-world object representation easier
![Page 8: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/8.jpg)
A C L A S SL 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
![Page 9: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/9.jpg)
O B J E C TC 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 !
![Page 10: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/10.jpg)
C L A S S E X T E N S I O N
• Classes can extend other classes
• They inherit their attributes and methods
• Can extend only one class
![Page 11: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/11.jpg)
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++; } } }
![Page 12: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/12.jpg)
I N T E R FA C E SF 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
![Page 13: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/13.jpg)
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!"); } }
![Page 14: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/14.jpg)
S O M E O O P L A N G U A G E S
• C++
• Ruby
• Python
• C#
• VB.NET
• ...And, wait for it...
![Page 15: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/15.jpg)
J AVA !L E T ’ S D I V E I N T O …
![Page 16: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/16.jpg)
J AVA AT A G L A N C E
C-like syntax
Created in Sun Microsystems
Now acquired by Oracle
![Page 17: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/17.jpg)
public class HelloWorldJava { public static void main(String[] args) { System.out.prinln("Hello, World!”); } }
![Page 18: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/18.jpg)
G R E AT T H I N G S A B O U T J AVA
• Garbage collector, (almost) good bye memory leaks!
• Shit happens, except exceptions!
• Platform independent, runs on JVM, (or maybe Dalvik!)
![Page 19: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/19.jpg)
– K I T K AT
“Have a break, have a KitKat.”
![Page 20: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/20.jpg)
A N D R O I DE X P L O R I N G T H E W O R L D O F
![Page 21: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/21.jpg)
W H AT I S A N D R O I D
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
![Page 22: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/22.jpg)
B O T T O M S U PA N D R O I D
![Page 23: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/23.jpg)
A C T I V I T Y
• Creates a window, so that the user can interact with the app
• Can communicate with the system
• Controls the hierarchy of the user interface
![Page 24: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/24.jpg)
A C T I V I T Y L I F E C Y C L E
• Save state
• Know when in foreground
• Know when it is possible to be garbage collected by the system
![Page 25: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/25.jpg)
L E T ’ S S TA R T O U R … F I R S T A P P !
![Page 26: EESTEC Android Workshop 1](https://reader034.fdocuments.us/reader034/viewer/2022042614/5550c942b4c90599308b480a/html5/thumbnails/26.jpg)
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 T H E M U S I N G A B U T T O N !
W H A T C A N I P L A Y W I T H ?