SlideShare a Scribd company logo
1 of 66
Download to read offline
EESTEC Competition for AndroidTM
WELCOME
TO THE FIRST SESSION OF
ECA Android Basics Online Seminar
Introduction
Host:
Angelos Karatsidis - ECA Main Coordinator
Speaker:
Goran Djonovic - Android Developer
EESTEC Competition for Android
- 504 Idea Submissions...
- 413 Teams…
- 717 Individuals…
- 54 countries…
- 6 continents!
EESTEC Online Seminar
- Project organized by EESTEC International
- Integrates the training goal of ECA
- Part 1: “Intro to Android Basics”
- Topics tailored to your needs
- Next session: Sunday, 11th January
SPEAKER INTRODUCTION
Goran Djonovic - Software Engineer
Execom: www.execom.eu
Twitter: @gdjonovic – fastest way to ask question and get answer
Email: djonovic.g@gmail.com
LinkedIn: http://www.linkedin.com/in/gdjonovic
Slide share: http://www.slideshare.net/gorandjonovic
Git hub: https://github.com/gdjonovic
Blog: http://gdjonovic.me
I did this before...
I do this a lot...
Let’s APP the world!
Questions ?
AGENDA
- How to start
- What is android all about
- Impact of mobile
- It’s (NOT) all about the code
- Android basics
- Good app ideas
Before we start
- Link to slides will be provided with
recording of this talk
- We use crowdcast
-
Google it out
How to start learning
Books (ain't nobody got time for that right? :))
Effective Java by Joshua Bloch
Android Programming: Pushing the Limits by Erik Hellman
http://developer.android.com/index.html
coursera.org
udemy.com
youtube.com
edx.org
/ 11
Android Architecture
/ 11
How start development
● Install java
● Download eclipse ADT or Android Studio
● Unlock developer options (if you have device)
● Start making some apps!
http://developer.android.com/sdk/index.html
It’s not just about mobile
What is mobile development
Wiki says: “Mobile application development is the process by which
application software is developed for low-power handheld devices, such as
personal digital assistants, enterprise digital assistants or mobile phones”
WHAT DO YOU THINK?
/ 11
The fastest technology adoption in
history!!!
/ 16
Source : http://www.moweble.com/career-opportunities-in-mobile-apps-development.html
PCs Vs. Smartphones
Source: http://www.businessinsider.com/smartphones-versus-pcs-2013-8
You want to build some cool app
What course should you take?
•Introduction to Psychology
•Introduction to Business
•Introduction to Android/iPhone/Windows Phone
•Introduction to Marketing
•Introduction to Design
All of the above ☺
3 Principles of Marketing
•Principle of Customer Value
•Principle of Differentiation
•Principle of Segmentation, Targeting, and
Positioning
Question: What is fair value?
Understand your users (Psychology)
•User groups
•Backgrounds
•Context
•Way of interaction
•Needs
Make your app look nice (Design)
•Colors
•UI elements
•Blend with OS
•Attract user attention
•….
Operational Excellence
(Android programming)
This is what you as a developer need to provide
•Make the app fast and easy to use
•Save power
•Protect data and the users
•No bugs
•Keep it simple
•Don’t be evil :)
DESIGNING FOR
ANDROID
What about all those
different devices out there?
What is fragmentation you ask ☺
•The Blessing
•The Curse
•Let’s look at the study done by OpenSignalMaps.
Over 6 months they've been logging the new devices that download
OpenSignalMaps. They've looked at model, brand, API level (i.e. the
version of Android) and screen size…
…. And what did they find out
/ 24
3997 distinct devices!!!
/ 24
What about resolutions?
/ 24
Start with 240x320px
/ 24
Then we have 320x480px
/ 24
400x800px
/ 24
And then 480x854px
/ 24
Also common 720x1280px
/ 24
And at the and 1080x1920px Full-HD
/ 24
Minimum Vs. Maximum
/ 24
Vs.
27 time more pixels
Where to start
•Current flagship model
•Most common resolution
•Start with small
… It depends
/ 24
Density independent pixel DIP
/ 24
Density Buckets
/ 24
Tap target
/ 24
Icon size
/ 24
Scale independent pixel - SIP
/ 24
Designing UI and Designing Interaction
•Go to http://developer.android.com/design/index.html
•Make important things fast
•If it looks the same, it should act the same
•Only show what I need when I need it
/ 24
Material Design
ANDROID BASICS
Android concepts
•Activity – visual user interface focused on a single thing a user can do
•Service – no visual interface – they run in the background
•Broadcast receiver – receive and react to broadcast announcements
•Content provider – allow data exchange between applications
•Intent
•Manifest
48
Applications
•Written in Java
•Each application runs in its own process
•Each process has its own separate VM
•Each application is assigned a unique Linux user ID – by default files of
that application are only visible to that application (can be explicitly
exported)
49
50
Activities
•Basic component of most applications
•Most applications have several activities that start each other as needed
•Each is implemented as a subclass of the base Activity class
Understanding
the lifecycle
51
What about those fragments?
http://developer.android.com/guide/components/fragments.html
53
Activities – The View
•Each activity has a default window to draw in (although it may prompt
for dialogs or notifications)
•The content of the window is a view or a group of views (derived from
View or ViewGroup)
•Example of views: buttons, text fields, scroll bars, menu items, check
boxes, etc.
•View(Group) made visible via Activity.setContentView() method.
54
Services
•Does not have a visual interface
•Runs in the background indefinitely
•Examples
• Network Downloads
• Playing Music
• TCP/UDP Server
•You can bind to a an existing service and control its operation
55
Broadcast Receivers
•Receive and react to broadcast announcements
•Extend the class BroadcastReceiver
•Examples of broadcasts:
• Low battery, power connected, shutdown, timezone changed, etc.
• Other applications can initiate broadcasts
56
Content Providers
•A content provider presents data to external applications
•Makes some of the application data available to other applications
•It’s the only way to transfer data between applications in Android (no
shared files, shared memory, pipes, etc.)
•Extends the class ContentProvider;
•Other applications use a ContentResolver object to access the data
provided via a ContentProvider
57
Intents
•An intent is an Intent object with a message content.
•Activities, services and broadcast receivers are started by
intents. ContentProviders are started by ContentResolvers
58
Shutting down components
•Activities
• Can terminate itself via finish();
• Can terminate other activities it started via finishActivity();
•Services
• Can terminate via stopSelf(); or Context.stopService();
•Content Providers
• Are only active when responding to ContentResolvers
•Broadcast Receivers
• Are only active when responding to broadcasts
59
Android Manifest
• Its main purpose in life is to declare the components to the system:
<?xml version="1.0" encoding="utf-8"?>
<manifest . . . >
<application . . . >
<activity android:name="com.example.project.FreneticActivity"
android:icon="@drawable/small_pic.png"
android:label="@string/freneticLabel"
. . . >
</activity>
. . .
</application>
</manifest>
WHAT ABOUT
IDEAS?
How do people use phones
Source: http://hbr.org/2013/01/how-people-really-use-mobile
How to get great idea
- Look around you
- Look at some global trends
- Find the problem (that you can relate to)
- Investigate/Think/Create
- Solve the problem
AGENDA
- How to start
- What is android all about
- Impact of mobile
- It’s (NOT) all about the code
- Android basics
- Good app ideas
Contact
Competition for Android
competition.eestec.net
eca-cp@eestec.net
Let’s APP the world!
Questions ?
THANK YOU ALL! :)
See you again on 11th of January 2015
HAPPY HOLIDAYS

More Related Content

Similar to Eca online-seminar-session-1.pptx

Basics of Android
Basics of Android Basics of Android
Basics of Android sabi_123
 
Android Mobile App Development basics PPT
Android Mobile App Development basics PPTAndroid Mobile App Development basics PPT
Android Mobile App Development basics PPTnithya697634
 
Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA NITIN GUPTA
 
Synapse india reviews on android application
Synapse india reviews on android applicationSynapse india reviews on android application
Synapse india reviews on android applicationsaritasingh19866
 
android development training in mumbai
android development training in mumbaiandroid development training in mumbai
android development training in mumbaifaizrashid1995
 
Synapseindia android apps application development
Synapseindia android apps application developmentSynapseindia android apps application development
Synapseindia android apps application developmentSynapseindiappsdevelopment
 
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break editionMatteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break editionDuckMa
 
Android Workshop Part 1
Android Workshop Part 1Android Workshop Part 1
Android Workshop Part 1NAILBITER
 
Android Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdfAndroid Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdfNomanKhan869872
 
C maksymchuk android
C maksymchuk androidC maksymchuk android
C maksymchuk androidsdeconf
 
Android development
Android developmentAndroid development
Android developmentmkpartners
 
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013DuckMa
 

Similar to Eca online-seminar-session-1.pptx (20)

Basics of Android
Basics of Android Basics of Android
Basics of Android
 
Android Mobile App Development basics PPT
Android Mobile App Development basics PPTAndroid Mobile App Development basics PPT
Android Mobile App Development basics PPT
 
Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA
 
Android tutorial beginner
Android tutorial beginnerAndroid tutorial beginner
Android tutorial beginner
 
Synapse india reviews on android application
Synapse india reviews on android applicationSynapse india reviews on android application
Synapse india reviews on android application
 
android development training in mumbai
android development training in mumbaiandroid development training in mumbai
android development training in mumbai
 
Synapseindia android apps application development
Synapseindia android apps application developmentSynapseindia android apps application development
Synapseindia android apps application development
 
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break editionMatteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
 
Android ppt
Android ppt Android ppt
Android ppt
 
Android Applications
Android ApplicationsAndroid Applications
Android Applications
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Android Workshop Part 1
Android Workshop Part 1Android Workshop Part 1
Android Workshop Part 1
 
Android Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdfAndroid Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdf
 
C maksymchuk android
C maksymchuk androidC maksymchuk android
C maksymchuk android
 
Android
AndroidAndroid
Android
 
Intro to android (gdays)
Intro to android (gdays)Intro to android (gdays)
Intro to android (gdays)
 
Android development first steps
Android development   first stepsAndroid development   first steps
Android development first steps
 
Fun Food
Fun FoodFun Food
Fun Food
 
Android development
Android developmentAndroid development
Android development
 
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
 

More from Goran Djonovic

Teaching kids programming
Teaching kids programmingTeaching kids programming
Teaching kids programmingGoran Djonovic
 
Project a day 2 introduction to android studio
Project a day 2   introduction to android studioProject a day 2   introduction to android studio
Project a day 2 introduction to android studioGoran Djonovic
 
Project a day 2 android application fundamentals
Project a day 2   android application fundamentalsProject a day 2   android application fundamentals
Project a day 2 android application fundamentalsGoran Djonovic
 
Project a day 1 making a great app
Project a day 1   making a great appProject a day 1   making a great app
Project a day 1 making a great appGoran Djonovic
 
Project a day 1 introduction to project a
Project a day 1   introduction to project aProject a day 1   introduction to project a
Project a day 1 introduction to project aGoran Djonovic
 
Project a day 1 introduction to android
Project a day 1   introduction to androidProject a day 1   introduction to android
Project a day 1 introduction to androidGoran Djonovic
 
Project a day 1 desinging android ui
Project a day 1   desinging android uiProject a day 1   desinging android ui
Project a day 1 desinging android uiGoran Djonovic
 
Project a day 1 career in mobile development
Project a day 1   career in mobile developmentProject a day 1   career in mobile development
Project a day 1 career in mobile developmentGoran Djonovic
 
Project a day 3 services
Project a day 3   servicesProject a day 3   services
Project a day 3 servicesGoran Djonovic
 

More from Goran Djonovic (12)

Teaching kids programming
Teaching kids programmingTeaching kids programming
Teaching kids programming
 
Project a day 4 all
Project a day 4   allProject a day 4   all
Project a day 4 all
 
Project a day 2 introduction to android studio
Project a day 2   introduction to android studioProject a day 2   introduction to android studio
Project a day 2 introduction to android studio
 
Project a day 2 android application fundamentals
Project a day 2   android application fundamentalsProject a day 2   android application fundamentals
Project a day 2 android application fundamentals
 
Project a day 1 making a great app
Project a day 1   making a great appProject a day 1   making a great app
Project a day 1 making a great app
 
Project a day 1 introduction to project a
Project a day 1   introduction to project aProject a day 1   introduction to project a
Project a day 1 introduction to project a
 
Project a day 1 introduction to android
Project a day 1   introduction to androidProject a day 1   introduction to android
Project a day 1 introduction to android
 
Project a day 1 desinging android ui
Project a day 1   desinging android uiProject a day 1   desinging android ui
Project a day 1 desinging android ui
 
Project a day 1 career in mobile development
Project a day 1   career in mobile developmentProject a day 1   career in mobile development
Project a day 1 career in mobile development
 
Project a day 3 services
Project a day 3   servicesProject a day 3   services
Project a day 3 services
 
Stc ftn-wp7-intro
Stc ftn-wp7-introStc ftn-wp7-intro
Stc ftn-wp7-intro
 
Flatland
FlatlandFlatland
Flatland
 

Recently uploaded

%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsBert Jan Schrijver
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durbanmasabamasaba
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...masabamasaba
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfayushiqss
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...Nitya salvi
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 

Recently uploaded (20)

%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 

Eca online-seminar-session-1.pptx

  • 1.
  • 2. EESTEC Competition for AndroidTM WELCOME TO THE FIRST SESSION OF ECA Android Basics Online Seminar
  • 3. Introduction Host: Angelos Karatsidis - ECA Main Coordinator Speaker: Goran Djonovic - Android Developer
  • 4. EESTEC Competition for Android - 504 Idea Submissions... - 413 Teams… - 717 Individuals… - 54 countries… - 6 continents!
  • 5. EESTEC Online Seminar - Project organized by EESTEC International - Integrates the training goal of ECA - Part 1: “Intro to Android Basics” - Topics tailored to your needs - Next session: Sunday, 11th January
  • 6. SPEAKER INTRODUCTION Goran Djonovic - Software Engineer Execom: www.execom.eu Twitter: @gdjonovic – fastest way to ask question and get answer Email: djonovic.g@gmail.com LinkedIn: http://www.linkedin.com/in/gdjonovic Slide share: http://www.slideshare.net/gorandjonovic Git hub: https://github.com/gdjonovic Blog: http://gdjonovic.me
  • 7. I did this before...
  • 8. I do this a lot...
  • 9. Let’s APP the world! Questions ?
  • 10.
  • 11. AGENDA - How to start - What is android all about - Impact of mobile - It’s (NOT) all about the code - Android basics - Good app ideas
  • 12. Before we start - Link to slides will be provided with recording of this talk - We use crowdcast -
  • 14. How to start learning Books (ain't nobody got time for that right? :)) Effective Java by Joshua Bloch Android Programming: Pushing the Limits by Erik Hellman http://developer.android.com/index.html coursera.org udemy.com youtube.com edx.org / 11
  • 16. How start development ● Install java ● Download eclipse ADT or Android Studio ● Unlock developer options (if you have device) ● Start making some apps!
  • 18. It’s not just about mobile
  • 19. What is mobile development Wiki says: “Mobile application development is the process by which application software is developed for low-power handheld devices, such as personal digital assistants, enterprise digital assistants or mobile phones” WHAT DO YOU THINK? / 11
  • 20. The fastest technology adoption in history!!! / 16 Source : http://www.moweble.com/career-opportunities-in-mobile-apps-development.html
  • 21. PCs Vs. Smartphones Source: http://www.businessinsider.com/smartphones-versus-pcs-2013-8
  • 22. You want to build some cool app What course should you take? •Introduction to Psychology •Introduction to Business •Introduction to Android/iPhone/Windows Phone •Introduction to Marketing •Introduction to Design All of the above ☺
  • 23. 3 Principles of Marketing •Principle of Customer Value •Principle of Differentiation •Principle of Segmentation, Targeting, and Positioning Question: What is fair value?
  • 24. Understand your users (Psychology) •User groups •Backgrounds •Context •Way of interaction •Needs
  • 25. Make your app look nice (Design) •Colors •UI elements •Blend with OS •Attract user attention •….
  • 26. Operational Excellence (Android programming) This is what you as a developer need to provide •Make the app fast and easy to use •Save power •Protect data and the users •No bugs •Keep it simple •Don’t be evil :)
  • 28. What about all those different devices out there?
  • 29. What is fragmentation you ask ☺ •The Blessing •The Curse •Let’s look at the study done by OpenSignalMaps. Over 6 months they've been logging the new devices that download OpenSignalMaps. They've looked at model, brand, API level (i.e. the version of Android) and screen size… …. And what did they find out / 24
  • 33. Then we have 320x480px / 24
  • 37. And at the and 1080x1920px Full-HD / 24
  • 38. Minimum Vs. Maximum / 24 Vs. 27 time more pixels
  • 39. Where to start •Current flagship model •Most common resolution •Start with small … It depends / 24
  • 45. Designing UI and Designing Interaction •Go to http://developer.android.com/design/index.html •Make important things fast •If it looks the same, it should act the same •Only show what I need when I need it / 24
  • 48. Android concepts •Activity – visual user interface focused on a single thing a user can do •Service – no visual interface – they run in the background •Broadcast receiver – receive and react to broadcast announcements •Content provider – allow data exchange between applications •Intent •Manifest 48
  • 49. Applications •Written in Java •Each application runs in its own process •Each process has its own separate VM •Each application is assigned a unique Linux user ID – by default files of that application are only visible to that application (can be explicitly exported) 49
  • 50. 50 Activities •Basic component of most applications •Most applications have several activities that start each other as needed •Each is implemented as a subclass of the base Activity class
  • 52. What about those fragments? http://developer.android.com/guide/components/fragments.html
  • 53. 53 Activities – The View •Each activity has a default window to draw in (although it may prompt for dialogs or notifications) •The content of the window is a view or a group of views (derived from View or ViewGroup) •Example of views: buttons, text fields, scroll bars, menu items, check boxes, etc. •View(Group) made visible via Activity.setContentView() method.
  • 54. 54 Services •Does not have a visual interface •Runs in the background indefinitely •Examples • Network Downloads • Playing Music • TCP/UDP Server •You can bind to a an existing service and control its operation
  • 55. 55 Broadcast Receivers •Receive and react to broadcast announcements •Extend the class BroadcastReceiver •Examples of broadcasts: • Low battery, power connected, shutdown, timezone changed, etc. • Other applications can initiate broadcasts
  • 56. 56 Content Providers •A content provider presents data to external applications •Makes some of the application data available to other applications •It’s the only way to transfer data between applications in Android (no shared files, shared memory, pipes, etc.) •Extends the class ContentProvider; •Other applications use a ContentResolver object to access the data provided via a ContentProvider
  • 57. 57 Intents •An intent is an Intent object with a message content. •Activities, services and broadcast receivers are started by intents. ContentProviders are started by ContentResolvers
  • 58. 58 Shutting down components •Activities • Can terminate itself via finish(); • Can terminate other activities it started via finishActivity(); •Services • Can terminate via stopSelf(); or Context.stopService(); •Content Providers • Are only active when responding to ContentResolvers •Broadcast Receivers • Are only active when responding to broadcasts
  • 59. 59 Android Manifest • Its main purpose in life is to declare the components to the system: <?xml version="1.0" encoding="utf-8"?> <manifest . . . > <application . . . > <activity android:name="com.example.project.FreneticActivity" android:icon="@drawable/small_pic.png" android:label="@string/freneticLabel" . . . > </activity> . . . </application> </manifest>
  • 61. How do people use phones Source: http://hbr.org/2013/01/how-people-really-use-mobile
  • 62. How to get great idea - Look around you - Look at some global trends - Find the problem (that you can relate to) - Investigate/Think/Create - Solve the problem
  • 63. AGENDA - How to start - What is android all about - Impact of mobile - It’s (NOT) all about the code - Android basics - Good app ideas
  • 65. Let’s APP the world! Questions ?
  • 66. THANK YOU ALL! :) See you again on 11th of January 2015 HAPPY HOLIDAYS