SlideShare a Scribd company logo
Walkthrough
Curriculum Outline
5 units comprising 14 lessons
● Unit 1 : Getting Started
● Unit 2 : User Experience
● Unit 3 : Background Tasks
● Unit 4 : Data
● Unit 5 : Polish and Publish
Getting Started
Create Your First Android Apps
Views, Layout, and Resources
Resource That Help You Learn
● Official Android documentation
● Image Asset Studio
● Android Monitor page
● Official Android blog
● Android Developers blog
● Google I/O Codelabs
● Stack Overflow
● Android vocabulary
● Google Developer Training website
Activities and Intents
Debugging Apps
● All code has bugs
● Android Studio logging
● Android Studio debugger
● Working with breakpoints
● Changing variables
● Stepping through code
Testing Your Apps
● Find and fix issues early
● Less costly
● Takes less effort
● Costs to fix bugs
increases with time
$1 Specification Design Code QA Release
$10
$100
$1000
Cost to Fix
Discovery Time
Catch bugs
early!
Using The Android Support Library
● What are the Android support libraries?
● Features
● Selected Libraries
● Setting up and using support libraries
User Experience
User Input Control
1. Button
2. Text field
3. Seek bar
4. Checkboxes
5. Radio buttons
6. Toggle
7. Spinner
Menus
1. App bar with options menu
2. Contextual menu
3. Contextual action bar
4. Popup menu
Screen Navigation
● Back navigation
● Hierarchical navigation
○ Up navigation
○ Descendant navigation
○ Navigation drawer for descendant navigation
○ Lists and carousels for descendant navigation
RecyclerView
Scrollable container for large data sets
Efficient
uses and reuses limited number of
views
Updates changing data fast
RecyclerView
Drawables, Styles, and Themes
● Drawables
● Creating image assets
● Styles
● Themes
Material Design
Material Design has guidelines on the use and implementation of
Android components
● Bottom Navigation
● Buttons
● Cards
● Chips
● Data Tables
● Dialogs
● Dividers
● Sliders
● Snackbar
● Toasts
● Steppers
● Subheaders
● Text Fields
● Toolbars
Resources for Adaptive Layout
Layouts that look good on different
screen sizes, orientations,
and devices
Testing The User Interfaces
● Testing Methods
● Automated Testing
● Using Espresso
● Testing Environment and Setup
● Creating Espresso Tests
● Espresso Test Examples
● Recording Tests
Background Task
AsyncTask & AsyncTaskLoader
Main Thread (UI Thread)
Worker Thread
doInBackground()
onPostExecute()
LoaderManager
AsyncTaskLoader AsyncTask WorkToDo
Request
Work
Receive
Result
Activity
Connect to the Internet
1. Add permissions to Android Manifest
2. Check Network Connection
3. Create Worker Thread
4. Implement background task
a. Create URI
b. Make HTTP Connection
c. Connect and GET Data
5. Process results
a. Parse Results
Broadcast Receivers
● Broadcast intents
● Broadcast receivers
● Implementing broadcast receivers
● Custom broadcasts
● Security
● Local broadcasts
Services
A Service is an application component that can perform long-
running operations in the background and does not provide a
user interface
Notifications
Message displayed to user outside regular app UI
■ Small icon
■ Title
■ Detail text
Alarm Manager
● Not an actual alarm clock
● Schedules something to happen at a set time
● Fire intents at set times or intervals
● Goes off once or recurring
● Can be based on a real-time clock or elapsed time
● App does not need to run for alarm to be active
Job Scheduler
● Used for intelligent scheduling of background tasks
● Based on conditions, not a time schedule
● Much more efficient than AlarmManager
● Batches tasks together to minimize battery drain
● API 21+ (no support library)
Data
Storing Data
● Shared Preferences—Private primitive data in key-value pairs
● Internal Storage—Private data on device memory
● External Storage—Public data on device or external storage
● SQLite Databases—Structured data in a private database
● Content Providers—Store privately and make available publicly
Shared Preference
● Read and write small amounts of primitive data as key/value
pairs to a file on the device storage
● SharedPreference class provides APIs for reading, writing, and
managing this data
● Save data in onPause()
restore in onCreate()
Setting UI
SQLite
● Store data in tables of rows and columns (spreadsheet…)
● Field = intersection of a row and column
● Fields contain data, references to other fields, or references to
other tables
● Rows are identified by unique IDs
● Column names are unique per table
Content Provider
Activity / Adapter
ContentProvider
Data
ContentResolver
1. Activity/Adapter uses
ContentResolver to query
ContentProvider
2. ContentProvider gets data
3. ContentResolver returns data as
Cursor
4. Activity/Adapter uses data
Loaders
● Special purpose classes that manage loading data
asynchronously in the background
● Introduced in Android 3.0
● Uses AsyncTask
Polish and Publish
Permissions, Performances, and Security
Firebase and Admob
Publish!
Publish on Google Play
● Make an APK
● Upload to Google Play
● Run alpha and beta tests
● Publish!
Android developer fundamentals training overview Part II

More Related Content

Similar to Android developer fundamentals training overview Part II

IDEA 10.3 Launch Webinar
IDEA 10.3 Launch WebinarIDEA 10.3 Launch Webinar
IDEA 10.3 Launch WebinarCaseWare IDEA
 
Introduction to Android Development and Security
Introduction to Android Development and SecurityIntroduction to Android Development and Security
Introduction to Android Development and SecurityKelwin Yang
 
Moodle Development Best Pracitces
Moodle Development Best PracitcesMoodle Development Best Pracitces
Moodle Development Best PracitcesJustin Filip
 
The Professional Programmer
The Professional ProgrammerThe Professional Programmer
The Professional ProgrammerDave Cross
 
Android Lollipop: The developer's perspective
Android Lollipop: The developer's perspectiveAndroid Lollipop: The developer's perspective
Android Lollipop: The developer's perspectiveSebastian Vieira
 
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
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneursRodrigo Gil
 
Android Application Development Online Training.pdf
Android Application Development Online Training.pdfAndroid Application Development Online Training.pdf
Android Application Development Online Training.pdfSpiritsoftsTraining
 
Android Jump Start
Android Jump StartAndroid Jump Start
Android Jump StartConFoo
 
10 ways to improve your Android app performance
10 ways to improve your Android app performance10 ways to improve your Android app performance
10 ways to improve your Android app performanceBoris Farber
 
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
 
App_Engine_PPT..........................
App_Engine_PPT..........................App_Engine_PPT..........................
App_Engine_PPT..........................HassamShahid2
 
Android development - the basics, FI MUNI, 2012
Android development - the basics, FI MUNI, 2012Android development - the basics, FI MUNI, 2012
Android development - the basics, FI MUNI, 2012Tomáš Kypta
 
Using Search API, Search API Solr and Facets in Drupal 8
Using Search API, Search API Solr and Facets in Drupal 8Using Search API, Search API Solr and Facets in Drupal 8
Using Search API, Search API Solr and Facets in Drupal 8Websolutions Agency
 
Android App Development - 01 Introduction
Android App Development - 01 IntroductionAndroid App Development - 01 Introduction
Android App Development - 01 IntroductionDiego Grancini
 
Innovation Generation - The Mobile Meetup: Android Best Practices
Innovation Generation - The Mobile Meetup: Android Best PracticesInnovation Generation - The Mobile Meetup: Android Best Practices
Innovation Generation - The Mobile Meetup: Android Best PracticesSolstice Mobile Argentina
 

Similar to Android developer fundamentals training overview Part II (20)

IDEA 10.3 Launch Webinar
IDEA 10.3 Launch WebinarIDEA 10.3 Launch Webinar
IDEA 10.3 Launch Webinar
 
Introduction to Android Development and Security
Introduction to Android Development and SecurityIntroduction to Android Development and Security
Introduction to Android Development and Security
 
Moodle Development Best Pracitces
Moodle Development Best PracitcesMoodle Development Best Pracitces
Moodle Development Best Pracitces
 
The Professional Programmer
The Professional ProgrammerThe Professional Programmer
The Professional Programmer
 
Android Lollipop: The developer's perspective
Android Lollipop: The developer's perspectiveAndroid Lollipop: The developer's perspective
Android Lollipop: The developer's perspective
 
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
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneurs
 
Django Documentation
Django DocumentationDjango Documentation
Django Documentation
 
Android Application Development Online Training.pdf
Android Application Development Online Training.pdfAndroid Application Development Online Training.pdf
Android Application Development Online Training.pdf
 
Android Jump Start
Android Jump StartAndroid Jump Start
Android Jump Start
 
10 ways to improve your Android app performance
10 ways to improve your Android app performance10 ways to improve your Android app performance
10 ways to improve your Android app performance
 
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
 
App_Engine_PPT..........................
App_Engine_PPT..........................App_Engine_PPT..........................
App_Engine_PPT..........................
 
App_Engine_PPT.ppt
App_Engine_PPT.pptApp_Engine_PPT.ppt
App_Engine_PPT.ppt
 
Android development - the basics, FI MUNI, 2012
Android development - the basics, FI MUNI, 2012Android development - the basics, FI MUNI, 2012
Android development - the basics, FI MUNI, 2012
 
Using Search API, Search API Solr and Facets in Drupal 8
Using Search API, Search API Solr and Facets in Drupal 8Using Search API, Search API Solr and Facets in Drupal 8
Using Search API, Search API Solr and Facets in Drupal 8
 
Android App Development - 01 Introduction
Android App Development - 01 IntroductionAndroid App Development - 01 Introduction
Android App Development - 01 Introduction
 
Innovation Generation - The Mobile Meetup: Android Best Practices
Innovation Generation - The Mobile Meetup: Android Best PracticesInnovation Generation - The Mobile Meetup: Android Best Practices
Innovation Generation - The Mobile Meetup: Android Best Practices
 
App_Engine_PPT.ppt
App_Engine_PPT.pptApp_Engine_PPT.ppt
App_Engine_PPT.ppt
 
App_Engine_PPT.ppt
App_Engine_PPT.pptApp_Engine_PPT.ppt
App_Engine_PPT.ppt
 

More from Yoza Aprilio

IoT Platform with MQTT and Websocket
IoT Platform with MQTT and WebsocketIoT Platform with MQTT and Websocket
IoT Platform with MQTT and WebsocketYoza Aprilio
 
Pembuatan Aplikasi Multiplatform dengan Xamarin Forms
Pembuatan Aplikasi Multiplatform dengan Xamarin FormsPembuatan Aplikasi Multiplatform dengan Xamarin Forms
Pembuatan Aplikasi Multiplatform dengan Xamarin FormsYoza Aprilio
 
Build Virtual Customer Service using IBM Watson
Build Virtual Customer Service using IBM WatsonBuild Virtual Customer Service using IBM Watson
Build Virtual Customer Service using IBM WatsonYoza Aprilio
 
Image Recognition service using IBM Watson made easy
Image Recognition service using IBM Watson made easyImage Recognition service using IBM Watson made easy
Image Recognition service using IBM Watson made easyYoza Aprilio
 
IoT Industry in Indonesia
IoT Industry in Indonesia IoT Industry in Indonesia
IoT Industry in Indonesia Yoza Aprilio
 
Membuat Hello World Pada Tizen
Membuat Hello World Pada TizenMembuat Hello World Pada Tizen
Membuat Hello World Pada TizenYoza Aprilio
 
Introduction to Depedency Injection in Android
Introduction to Depedency Injection in AndroidIntroduction to Depedency Injection in Android
Introduction to Depedency Injection in AndroidYoza Aprilio
 
Memulai Pengembangan Game dengan Mudah
Memulai Pengembangan Game dengan MudahMemulai Pengembangan Game dengan Mudah
Memulai Pengembangan Game dengan MudahYoza Aprilio
 
Fast-track tips for Web Developer
Fast-track tips for Web DeveloperFast-track tips for Web Developer
Fast-track tips for Web DeveloperYoza Aprilio
 
Firebase Cloud Functions
Firebase Cloud FunctionsFirebase Cloud Functions
Firebase Cloud FunctionsYoza Aprilio
 
Beginner's Guide to React & Redux Development
Beginner's Guide to React & Redux DevelopmentBeginner's Guide to React & Redux Development
Beginner's Guide to React & Redux DevelopmentYoza Aprilio
 
Internet of Things 101
Internet of Things 101Internet of Things 101
Internet of Things 101Yoza Aprilio
 
IoT and Machine Learning
IoT and Machine LearningIoT and Machine Learning
IoT and Machine LearningYoza Aprilio
 
Tantangan Produk IoT di Indonesia
Tantangan Produk IoT  di IndonesiaTantangan Produk IoT  di Indonesia
Tantangan Produk IoT di IndonesiaYoza Aprilio
 
Design, Launch and Fundraising
Design, Launch  and FundraisingDesign, Launch  and Fundraising
Design, Launch and FundraisingYoza Aprilio
 
Product Development in Startup Environment : Build The Right Thing and Build ...
Product Development in Startup Environment : Build The Right Thing and Build ...Product Development in Startup Environment : Build The Right Thing and Build ...
Product Development in Startup Environment : Build The Right Thing and Build ...Yoza Aprilio
 
Agile Development over Distributed Teams
Agile Development over Distributed TeamsAgile Development over Distributed Teams
Agile Development over Distributed TeamsYoza Aprilio
 
Resep Memanfaatkan Hidden Resources
Resep Memanfaatkan Hidden ResourcesResep Memanfaatkan Hidden Resources
Resep Memanfaatkan Hidden ResourcesYoza Aprilio
 
Seni Membangun Startup
Seni Membangun Startup  Seni Membangun Startup
Seni Membangun Startup Yoza Aprilio
 

More from Yoza Aprilio (20)

IoT Platform with MQTT and Websocket
IoT Platform with MQTT and WebsocketIoT Platform with MQTT and Websocket
IoT Platform with MQTT and Websocket
 
Pembuatan Aplikasi Multiplatform dengan Xamarin Forms
Pembuatan Aplikasi Multiplatform dengan Xamarin FormsPembuatan Aplikasi Multiplatform dengan Xamarin Forms
Pembuatan Aplikasi Multiplatform dengan Xamarin Forms
 
Build Virtual Customer Service using IBM Watson
Build Virtual Customer Service using IBM WatsonBuild Virtual Customer Service using IBM Watson
Build Virtual Customer Service using IBM Watson
 
Image Recognition service using IBM Watson made easy
Image Recognition service using IBM Watson made easyImage Recognition service using IBM Watson made easy
Image Recognition service using IBM Watson made easy
 
IoT Industry in Indonesia
IoT Industry in Indonesia IoT Industry in Indonesia
IoT Industry in Indonesia
 
Game Tizen Unity
Game Tizen Unity Game Tizen Unity
Game Tizen Unity
 
Membuat Hello World Pada Tizen
Membuat Hello World Pada TizenMembuat Hello World Pada Tizen
Membuat Hello World Pada Tizen
 
Introduction to Depedency Injection in Android
Introduction to Depedency Injection in AndroidIntroduction to Depedency Injection in Android
Introduction to Depedency Injection in Android
 
Memulai Pengembangan Game dengan Mudah
Memulai Pengembangan Game dengan MudahMemulai Pengembangan Game dengan Mudah
Memulai Pengembangan Game dengan Mudah
 
Fast-track tips for Web Developer
Fast-track tips for Web DeveloperFast-track tips for Web Developer
Fast-track tips for Web Developer
 
Firebase Cloud Functions
Firebase Cloud FunctionsFirebase Cloud Functions
Firebase Cloud Functions
 
Beginner's Guide to React & Redux Development
Beginner's Guide to React & Redux DevelopmentBeginner's Guide to React & Redux Development
Beginner's Guide to React & Redux Development
 
Internet of Things 101
Internet of Things 101Internet of Things 101
Internet of Things 101
 
IoT and Machine Learning
IoT and Machine LearningIoT and Machine Learning
IoT and Machine Learning
 
Tantangan Produk IoT di Indonesia
Tantangan Produk IoT  di IndonesiaTantangan Produk IoT  di Indonesia
Tantangan Produk IoT di Indonesia
 
Design, Launch and Fundraising
Design, Launch  and FundraisingDesign, Launch  and Fundraising
Design, Launch and Fundraising
 
Product Development in Startup Environment : Build The Right Thing and Build ...
Product Development in Startup Environment : Build The Right Thing and Build ...Product Development in Startup Environment : Build The Right Thing and Build ...
Product Development in Startup Environment : Build The Right Thing and Build ...
 
Agile Development over Distributed Teams
Agile Development over Distributed TeamsAgile Development over Distributed Teams
Agile Development over Distributed Teams
 
Resep Memanfaatkan Hidden Resources
Resep Memanfaatkan Hidden ResourcesResep Memanfaatkan Hidden Resources
Resep Memanfaatkan Hidden Resources
 
Seni Membangun Startup
Seni Membangun Startup  Seni Membangun Startup
Seni Membangun Startup
 

Recently uploaded

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasiemaillard
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfTamralipta Mahavidyalaya
 
The geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideasThe geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideasGeoBlogs
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfVivekanand Anglo Vedic Academy
 
NLC-2024-Orientation-for-RO-SDO (1).pptx
NLC-2024-Orientation-for-RO-SDO (1).pptxNLC-2024-Orientation-for-RO-SDO (1).pptx
NLC-2024-Orientation-for-RO-SDO (1).pptxssuserbdd3e8
 
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptxMARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptxbennyroshan06
 
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdfDanh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdfQucHHunhnh
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXMIRIAMSALINAS13
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationDelapenabediema
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...Jisc
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345beazzy04
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfjoachimlavalley1
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
 
Accounting and finance exit exam 2016 E.C.pdf
Accounting and finance exit exam 2016 E.C.pdfAccounting and finance exit exam 2016 E.C.pdf
Accounting and finance exit exam 2016 E.C.pdfYibeltalNibretu
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsCol Mukteshwar Prasad
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxJisc
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismDeeptiGupta154
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...Nguyen Thanh Tu Collection
 
UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...
UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...
UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...Sayali Powar
 

Recently uploaded (20)

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
The geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideasThe geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideas
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdf
 
NLC-2024-Orientation-for-RO-SDO (1).pptx
NLC-2024-Orientation-for-RO-SDO (1).pptxNLC-2024-Orientation-for-RO-SDO (1).pptx
NLC-2024-Orientation-for-RO-SDO (1).pptx
 
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptxMARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
 
Introduction to Quality Improvement Essentials
Introduction to Quality Improvement EssentialsIntroduction to Quality Improvement Essentials
Introduction to Quality Improvement Essentials
 
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdfDanh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
Accounting and finance exit exam 2016 E.C.pdf
Accounting and finance exit exam 2016 E.C.pdfAccounting and finance exit exam 2016 E.C.pdf
Accounting and finance exit exam 2016 E.C.pdf
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative Thoughts
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
 
UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...
UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...
UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...
 

Android developer fundamentals training overview Part II

  • 2. Curriculum Outline 5 units comprising 14 lessons ● Unit 1 : Getting Started ● Unit 2 : User Experience ● Unit 3 : Background Tasks ● Unit 4 : Data ● Unit 5 : Polish and Publish
  • 4. Create Your First Android Apps
  • 5. Views, Layout, and Resources
  • 6. Resource That Help You Learn ● Official Android documentation ● Image Asset Studio ● Android Monitor page ● Official Android blog ● Android Developers blog ● Google I/O Codelabs ● Stack Overflow ● Android vocabulary ● Google Developer Training website
  • 8. Debugging Apps ● All code has bugs ● Android Studio logging ● Android Studio debugger ● Working with breakpoints ● Changing variables ● Stepping through code
  • 9. Testing Your Apps ● Find and fix issues early ● Less costly ● Takes less effort ● Costs to fix bugs increases with time $1 Specification Design Code QA Release $10 $100 $1000 Cost to Fix Discovery Time Catch bugs early!
  • 10. Using The Android Support Library ● What are the Android support libraries? ● Features ● Selected Libraries ● Setting up and using support libraries
  • 12. User Input Control 1. Button 2. Text field 3. Seek bar 4. Checkboxes 5. Radio buttons 6. Toggle 7. Spinner
  • 13. Menus 1. App bar with options menu 2. Contextual menu 3. Contextual action bar 4. Popup menu
  • 14. Screen Navigation ● Back navigation ● Hierarchical navigation ○ Up navigation ○ Descendant navigation ○ Navigation drawer for descendant navigation ○ Lists and carousels for descendant navigation
  • 15. RecyclerView Scrollable container for large data sets Efficient uses and reuses limited number of views Updates changing data fast RecyclerView
  • 16. Drawables, Styles, and Themes ● Drawables ● Creating image assets ● Styles ● Themes
  • 17. Material Design Material Design has guidelines on the use and implementation of Android components ● Bottom Navigation ● Buttons ● Cards ● Chips ● Data Tables ● Dialogs ● Dividers ● Sliders ● Snackbar ● Toasts ● Steppers ● Subheaders ● Text Fields ● Toolbars
  • 18. Resources for Adaptive Layout Layouts that look good on different screen sizes, orientations, and devices
  • 19. Testing The User Interfaces ● Testing Methods ● Automated Testing ● Using Espresso ● Testing Environment and Setup ● Creating Espresso Tests ● Espresso Test Examples ● Recording Tests
  • 21. AsyncTask & AsyncTaskLoader Main Thread (UI Thread) Worker Thread doInBackground() onPostExecute() LoaderManager AsyncTaskLoader AsyncTask WorkToDo Request Work Receive Result Activity
  • 22. Connect to the Internet 1. Add permissions to Android Manifest 2. Check Network Connection 3. Create Worker Thread 4. Implement background task a. Create URI b. Make HTTP Connection c. Connect and GET Data 5. Process results a. Parse Results
  • 23. Broadcast Receivers ● Broadcast intents ● Broadcast receivers ● Implementing broadcast receivers ● Custom broadcasts ● Security ● Local broadcasts
  • 24. Services A Service is an application component that can perform long- running operations in the background and does not provide a user interface
  • 25. Notifications Message displayed to user outside regular app UI ■ Small icon ■ Title ■ Detail text
  • 26. Alarm Manager ● Not an actual alarm clock ● Schedules something to happen at a set time ● Fire intents at set times or intervals ● Goes off once or recurring ● Can be based on a real-time clock or elapsed time ● App does not need to run for alarm to be active
  • 27. Job Scheduler ● Used for intelligent scheduling of background tasks ● Based on conditions, not a time schedule ● Much more efficient than AlarmManager ● Batches tasks together to minimize battery drain ● API 21+ (no support library)
  • 28. Data
  • 29. Storing Data ● Shared Preferences—Private primitive data in key-value pairs ● Internal Storage—Private data on device memory ● External Storage—Public data on device or external storage ● SQLite Databases—Structured data in a private database ● Content Providers—Store privately and make available publicly
  • 30. Shared Preference ● Read and write small amounts of primitive data as key/value pairs to a file on the device storage ● SharedPreference class provides APIs for reading, writing, and managing this data ● Save data in onPause() restore in onCreate()
  • 32. SQLite ● Store data in tables of rows and columns (spreadsheet…) ● Field = intersection of a row and column ● Fields contain data, references to other fields, or references to other tables ● Rows are identified by unique IDs ● Column names are unique per table
  • 33. Content Provider Activity / Adapter ContentProvider Data ContentResolver 1. Activity/Adapter uses ContentResolver to query ContentProvider 2. ContentProvider gets data 3. ContentResolver returns data as Cursor 4. Activity/Adapter uses data
  • 34. Loaders ● Special purpose classes that manage loading data asynchronously in the background ● Introduced in Android 3.0 ● Uses AsyncTask
  • 38. Publish! Publish on Google Play ● Make an APK ● Upload to Google Play ● Run alpha and beta tests ● Publish!

Editor's Notes

  1. Any questions?