If you can't read please download the document
Upload
todd-burgess
View
53
Download
1
Embed Size (px)
Citation preview
hack klout
Todd Burgess
Todd Burgess Media
[email protected]: @tburgess57Github: toddburgessmediaIntroduction to Android Developmenthttps://bit.ly/podcamp2017Android
Introduction to Android Development
How many use Android devices?
How many people have software development experience?
Any Java people? Android developers?
IOS developers?
Web people?
Want to get into mobile development?
Are in the wrong room?
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidAbout MeComputing and Information Science degree from University of Guelph
Did Java enterprise apps in Silicon Valley for 1.5 years
Migrated to Android platform 2 years ago
Several Apps on Google PlayWhats Your ScoreTech DiveEaves Street
Adoptathon Manager and Store Corodinator with Toronto Cat Rescue
Kenny and Spencer
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidCakes by Todd
IntroducingAndroid
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidAndroid IntroductionIn the BeginningMobile operating system first released in 2008
Based on the Linux operating system
API Version 1
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidAndroid 2017Current Android Release is Nougat
Over 1 billion devices in the World are currently running Android
Android now runs on phones, tablets, watches, cars and televisions
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidAndroid NougatAPI 25
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidAndroid on Tablets
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidAndroid Wear
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidAndroid Auto
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidAndroid TV
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidAndroid Things
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidAndroid Marketshare
https://www.statista.com/statistics/263445/global-smartphone-sales-by-operating-system-since-2009/
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidAndroid Versions (according to Wikipedia)
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidAndroid Version Breakdown (January 2017)Source: Wikipedia
30.7% of all devices are 2 years old (Marshmellow)
21.9% of devices are 4 years old (KitKat)
32.9% Lollipop is 3 years old
85.5% of all devices 2 4 years old
76% of iOS devices are iOS 10
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidUnderstanding the Version FragmentationAndroid is popular in emerging markets
Emerging market Android devices are use older technology
Android devices are not upgraded for a variety of reasons
Upgrading Android devices is a complicated process
Introduction to Android Developmenthttps://bit.ly/podcamp2017Android
IntroductionToAndroidApps
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidWhat is a Mobile ApplicationSource: Techopedia
A mobile application, most commonly referred to as an app, is a type of application software designed to run on a mobile device, such as a smartphone or tablet computer. Mobile applications frequently serve to provide users with similar services to those accessed on PCs. Apps are generally small, individual software units with limited function.
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidAdvantages of a Mobile Device for AppsUbitiquy
Availability
Data Consumption over Production
Sensor Information (ie accelertometers, light sensors, device orientation)
Location Information
Notifications
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidIntroduction to the Android Operating System
Android SDKYour AppBottom two layers will disappear with black box
Middle layer will be replaced with Android SDK
Top layer will become Your App
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidAndroid App Development OptionsNatives apps written with the Java programming language
Other options include C, C++, Kotlin
Apps written in Java are referred to as native apps
Other forms of app development include cross platform development (React Native, Ionic, Xamarin, Unity)
Progressive web apps
Mobile Web sites
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidAdvantages of Native App DevelopmentTake advantge of all Android features
Reduced memory
Increased speed (Perf matters!!)
Users appreciate native experience
Can function off-line
Greater control of the user experience
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidPutting an App TogetherDevelopment EnvironmentAndroid Studio (Linux, macOS, Windows)Java Programming Language
User ExperienceMaterial Design
Testing EnvironmentAndroid Virtual Devices and Real Devices
DeploymentGoogle PlayCustom Applications
Material Design
Material Design Examples
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidMaterial Design RationaleMaterial Design is Googles best practices for Android app design
Material Design CoversColour Palettes
Icons
Margins and Borders
Typography
Elevations
Animations
Adhering to Material Design is important to get the app promoted by Google
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidIntroduction to JavaJava is an open source programming languge developed by Sun and maintained by Oracle
Object Oriented
Current version is 1.8 but most Android apps use 1.7
Java is found in enterprise applications, Android Studio and Android
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidHello World in Java
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidJava vs Java on Android
WritingAndroidCode
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidAndroid Studio
ActivityServiceContentProviderBroadcastReceiver
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidFour Pieces of an Android AppActivityThe user facing part of an app
Can be thought of as the screens users interact with
Broadcast ReceiverHandles events
Can be app generated or system events
ServiceRuns in the background
Can perform tasks (Intents) outside of the application
Content ProviderExposes app data to other applications
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidPodcast Android App
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidIntroduction to MainActivityThe first activity of an Android app is referred to as the MainActivity
Activities have two basic components:
Java class file that extends Activity or AppCompatActivity
XML Layout file
Introduction to Android Developmenthttps://bit.ly/podcamp2017Androidactivity_main.xml
Red Box is coming
Introduction to Android Developmenthttps://bit.ly/podcamp2017Androidactivity_main.xml in Layout Editor
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidMainActivity.java
5 red boxes to go through
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidAndroidManifest.xmlDescribing our App to Android
2 red boxes to go through
Learning More About Android
Android Developershttps://developer.android.com/index.html
Material Design for Androidhttps://developer.android.com/design/material/index.html
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidGoogle Resources
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidPodcastsFragmentedCovers a wide range of subjects regarding Android and Java
Android Developers BackstageGoogle podcast that deep dives into all things Android and coding
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidUdacityFree courses by Google About Android
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidCaster.ioShort Tutorials on Android Topics
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidWords of Wisdom on Android TutorialsAndroid tools and best practises are changing every year so when seeking out answers pay special attention to the date it was written
Introduction to Android Developmenthttps://bit.ly/podcamp2017AndroidMeetupsToronto Android Developershttps://www.meetup.com/ToAndroidDev/
Toronto Java User Grouphttps://www.meetup.com/Toronto-Java-Users-Group/
Mobile Growth Meetuphttps://www.meetup.com/Mobile-Growth-Toronto/
Thanks for Listening
Happy Coding&Good Luck