SlideShare a Scribd company logo
This work is licensed under the Apache 2.0 License
Android Study Jams
New to Programming Track: Session 3
12/26/2020 | 15:00 - 18:20
This work is licensed under the Apache 2.0 License
● Basic computer literacy
● Basic math skills
● Computer & headphones
● Internet connection
● (Optional) Android device & USB cable
● Pathways 1-4, Unit 1, Track 1
Prerequisites
This work is licensed under the Apache 2.0 License
TOPIC TIME
Recap of Session 2 3:00 - 3:10
Pathway 5: Codelab 1 - Classes and inheritance in Kotlin 3:10 - 3:50
Break 3:50 - 4:00
Pathway 5: Codelab 2 - Create XML layouts for Android 4:00 - 4:15
Pathway 5: Codelab 3 - Calculate the Tip 4:15 - 4:45
Break 4:45 - 4:55
Pathway 5: Codelab 4 - Change the app theme 4:55 - 5:20
Pathway 5: Codelab 5 - Change the app icon 5:20 - 5:35
Break 5:35 - 5:45
Pathway 5: Codelab 5 - Change the app icon 5:45 - 6:05
Q&A 6:05 - 6:20
Today’s
Schedule
This work is licensed under the Apache 2.0 License
Recap from last time
What did we learn?
This work is licensed under the Apache 2.0 License
Recap Of Session 2
● Randomness in programming
● Incorporating real world entities - classes and
objects
● Designing screens with Layout Editor
● Displaying screens with Activities
● Making decisions with your programs
2 - Show 2
1 - Show 1
4 - Show 4
3 - Show 3
5 - Show 5
6 - Show 6
This work is licensed under the Apache 2.0 License
Let’s get started
This work is licensed under the Apache 2.0 License
Pathway
4
Today’s
Goal
This work is licensed under the Apache 2.0 License
Unit 2
Pathway 5
This work is licensed under the Apache 2.0 License
After Today, You’ll Be Able To
● Kotlin:
● Extend the idea of classes to further resemble real world entities
(Inheritance)
● Learn about a new data type (lateinit)
● Android:
● Design screens for your app in a different way (XML Files)
● Access views of screen from activity in a easier way (View Binding)
● Polish the UI for your app:
○ Select a theme for your app (Material Design, Themes and styles)
○ Set an icon for you app (App icons)
○ Much more!
This work is licensed under the Apache 2.0 License
Concept Overview
Pathway 5 - Part 1
This work is licensed under the Apache 2.0 License
“You look so much like your father / mother”
This work is licensed under the Apache 2.0 License
This work is licensed under the Apache 2.0 License
This work is licensed under the Apache 2.0 License
Inheritance - Extending Classes
● Classes - Useful way of representing real world entities
● Can we go further?
● Inheritance - passing down properties/features
○ Parents - Children
○ Bicycle - Mountain Bike
○ Vehicle - Car
● Subclasses can have their own properties
● Abstract Classes - rough sketch, can’t be implemented
○ Abstract Classes Classes Objects
○ Rough Sketch : Blueprint :: Abstract classes :
ClassesPathway 5
Vehicle
Automobiles Hand Pulled
RickshawCartBusCar
This work is licensed under the Apache 2.0 License
Inheritance in Android
● Kotlin - Doesn’t have to have classes
● Android - Provided in classes - UI Components,
Activities
● Any - Kotlin Superclass
Pathway 5
Views
TextView
EditTextButton
This work is licensed under the Apache 2.0 License
1.What do all die have in common?
2.Are there other examples of commonalities?
3.Are there any variations in these categories of
things?
This work is licensed under the Apache 2.0 License
Have a Question? Just ask
Unit 2, Pathway 5, Codelab 1
This work is licensed under the Apache 2.0 License
Codelab 1
Classes and Inheritance in Kotlin
This work is licensed under the Apache 2.0 License
Break
3:50 - 4:00
This work is licensed under the Apache 2.0 License
Concept Overview
Pathway 5 - Part 2
This work is licensed under the Apache 2.0 License
XML - A Programming Markup Language
● Markup language - Way of annotating documents
● Human readable
● Uses standard words - not special programming syntax
● Most used - HTML, XML
● XML documents - Follow tree structure:
○ Root -> Child -> Subchild
● Tags - Describe element
● Text - Value of element
● Attribute - special property of element
● Value - Value of attribute
Pathway 4
<?xml version="1.0" encoding="UTF-8"?>
<library>
<book type="Novel">
<title> Kidnapped </title>
<author> Robert Louis Stevenson </author>
<year> 1886 </year>
</book>
<book type="Comic">
<title> Daredevil #1 </title>
<author> Joe Kelly </author>
<year> 1964 </year>
</book>
</library>
A Basic XML File
Pathway 4
Attribute
Element
Start Tag Closing Tag
Text
Value
Declaration
This work is licensed under the Apache 2.0 License
Have a Question? Just ask
Unit 2, Pathway 5, Codelab 2
This work is licensed under the Apache 2.0 License
Codelab 2
Create XML layouts for Android
This work is licensed under the Apache 2.0 License
Concept Overview
Pathway 5 - Part 3
This work is licensed under the Apache 2.0 License
View Binding - Access Views Efficiently
● Bind all views in a layout to one object
● Refer views through that object
Pathway 4
This work is licensed under the Apache 2.0 License
Have a Question? Just ask
Unit 2, Pathway 5, Codelab 3
This work is licensed under the Apache 2.0 License
Codelab 3
Calculate the tip
This work is licensed under the Apache 2.0 License
Break
4:45 - 4:55
This work is licensed under the Apache 2.0 License
Concept Overview
Pathway 5 - Part 4
This work is licensed under the Apache 2.0 License
Styles and Themes - Beautify Your App
● Color is all around us - Digitally and Physically
● Add hint of realism to app - Material Design
● Capture textures, reflections and shadows
● Each color - 3 hexadecimal numbers (2 digits)
● Extra 1 - Represent transparency
● Style - Properties of a view (font, size, color)
● Themes - Collection of styles
● Applied over the entire app - lends uniformity
Pathway 4
This work is licensed under the Apache 2.0 License
Have a Question? Just ask
Unit 2, Pathway 5, Codelabs 4&5
This work is licensed under the Apache 2.0 License
Codelab 4
Change the app theme
This work is licensed under the Apache 2.0 License
Codelab 5
Change the app icon
This work is licensed under the Apache 2.0 License
Break
5:35 - 5:45
This work is licensed under the Apache 2.0 License
Have a Question? Just ask
Unit 2, Pathway 5, Codelab 6
This work is licensed under the Apache 2.0 License
Codelab 6
Create a more polished user experience
This work is licensed under the Apache 2.0 License
Q&A
Got A Question? Drop ‘em in Chat!
This work is licensed under the Apache 2.0 License
Stay tuned for Session 4!
This work is licensed under the Apache 2.0 License
Share what you’ve
learned with
#AndroidStudyJams
This work is licensed under the Apache 2.0 License
Learn More
This work is licensed under the Apache 2.0 License
Continue learning!
More units in the Android Basics in Kotlin Course will be released soon!
Modify your existing apps and add more features to them.
Additional resources to check out:
● Official Android Developers Site: developer.android.com
● Learn Kotlin By Example
● Kotlin Vocabulary series
● Official Android Developers Blog (for announcements)
● Android Developers Medium Blog (for more technical articles)
● Android Developers YouTube channel
● Follow @AndroidDev on Twitter
● Subscribe to the Android Developer Newsletter
This work is licensed under the Apache 2.0 License
Thank You
See you next week!

More Related Content

PPTX
DSC Android Study Jam
PDF
Google DSC Android Study Jams Session 1
PPTX
Android Study Jams - New to Programming [27th december]
PPTX
Google flutter
PPTX
Cross Platform Application Development Using Flutter
PDF
The magic of flutter
PPTX
DSC Android Study Jam
Google DSC Android Study Jams Session 1
Android Study Jams - New to Programming [27th december]
Google flutter
Cross Platform Application Development Using Flutter
The magic of flutter

What's hot (20)

PDF
Flutter overview - advantages & disadvantages for business
PDF
Let’s talk about star wars with Dialog Flow
PDF
IPhone Web Development With Grails from CodeMash 2009
PPT
Mobile Devolpment Slides
PPTX
Flutter dart assignment help
PPTX
PDF
TensorFlow - La IA detrás de Google
PPTX
PPT
T2 Web Framework
PPT
Silverlight 2 with Visual Studio 2008 and Expression Blend
PDF
Getting started with flutter
PDF
Flutter101
PPTX
Mobile Fest 2018. Enrique López Mañas. TensorFlow for Mobile Poets
PDF
Flutter vs React Native | Edureka
PDF
Flutter vs React Native 2019
PDF
Top five reasons you should prefer flutter app development
PDF
Developing Cross platform apps in flutter (Android, iOS, Web)
PPTX
Introduction to flutter's basic concepts
PPTX
Flutter festival Info session -2022
PPTX
Choose flutter
Flutter overview - advantages & disadvantages for business
Let’s talk about star wars with Dialog Flow
IPhone Web Development With Grails from CodeMash 2009
Mobile Devolpment Slides
Flutter dart assignment help
TensorFlow - La IA detrás de Google
T2 Web Framework
Silverlight 2 with Visual Studio 2008 and Expression Blend
Getting started with flutter
Flutter101
Mobile Fest 2018. Enrique López Mañas. TensorFlow for Mobile Poets
Flutter vs React Native | Edureka
Flutter vs React Native 2019
Top five reasons you should prefer flutter app development
Developing Cross platform apps in flutter (Android, iOS, Web)
Introduction to flutter's basic concepts
Flutter festival Info session -2022
Choose flutter
Ad

Similar to DSC ASEB Android Study Jams 2020: New to Programming 3 (20)

PPTX
DSC ASEB Android Study Jams 2020: New to Programming 1
PPTX
[EXTERNAL] Android Basics Sessions 1 _ 2 - Android Study Jams.pptx
PPTX
Session-1 edited.pptx
PPTX
Week 1 - Android Study Jams
PPTX
Android Study Jams - Session 1
PPTX
GDSC - IIITB: Android Study Jams - Introductory Session
PPTX
Session-1.pptx
PPTX
Android study jams
PPTX
Introduction to android study jams
PPTX
Session 1 ppt.pptx
PPTX
Android study jam session 1
PPTX
Compose Camp Slide Session 1
PPTX
Final session 1
PPTX
Prior programming experience track
PPTX
Vit bhopal android study jams 2.0 session 1
PPTX
Compose Camp: Introduction to Kotlin.pptx
PPTX
Android study jams 2021 [collab] [master]
PPTX
Android study jam iiitv kick-off sesson
PDF
Compose Camp 1.pdf
PDF
Compose Camp Session 1.pdf
DSC ASEB Android Study Jams 2020: New to Programming 1
[EXTERNAL] Android Basics Sessions 1 _ 2 - Android Study Jams.pptx
Session-1 edited.pptx
Week 1 - Android Study Jams
Android Study Jams - Session 1
GDSC - IIITB: Android Study Jams - Introductory Session
Session-1.pptx
Android study jams
Introduction to android study jams
Session 1 ppt.pptx
Android study jam session 1
Compose Camp Slide Session 1
Final session 1
Prior programming experience track
Vit bhopal android study jams 2.0 session 1
Compose Camp: Introduction to Kotlin.pptx
Android study jams 2021 [collab] [master]
Android study jam iiitv kick-off sesson
Compose Camp 1.pdf
Compose Camp Session 1.pdf
Ad

DSC ASEB Android Study Jams 2020: New to Programming 3

  • 1. This work is licensed under the Apache 2.0 License Android Study Jams New to Programming Track: Session 3 12/26/2020 | 15:00 - 18:20
  • 2. This work is licensed under the Apache 2.0 License ● Basic computer literacy ● Basic math skills ● Computer & headphones ● Internet connection ● (Optional) Android device & USB cable ● Pathways 1-4, Unit 1, Track 1 Prerequisites
  • 3. This work is licensed under the Apache 2.0 License TOPIC TIME Recap of Session 2 3:00 - 3:10 Pathway 5: Codelab 1 - Classes and inheritance in Kotlin 3:10 - 3:50 Break 3:50 - 4:00 Pathway 5: Codelab 2 - Create XML layouts for Android 4:00 - 4:15 Pathway 5: Codelab 3 - Calculate the Tip 4:15 - 4:45 Break 4:45 - 4:55 Pathway 5: Codelab 4 - Change the app theme 4:55 - 5:20 Pathway 5: Codelab 5 - Change the app icon 5:20 - 5:35 Break 5:35 - 5:45 Pathway 5: Codelab 5 - Change the app icon 5:45 - 6:05 Q&A 6:05 - 6:20 Today’s Schedule
  • 4. This work is licensed under the Apache 2.0 License Recap from last time What did we learn?
  • 5. This work is licensed under the Apache 2.0 License Recap Of Session 2 ● Randomness in programming ● Incorporating real world entities - classes and objects ● Designing screens with Layout Editor ● Displaying screens with Activities ● Making decisions with your programs 2 - Show 2 1 - Show 1 4 - Show 4 3 - Show 3 5 - Show 5 6 - Show 6
  • 6. This work is licensed under the Apache 2.0 License Let’s get started
  • 7. This work is licensed under the Apache 2.0 License Pathway 4 Today’s Goal
  • 8. This work is licensed under the Apache 2.0 License Unit 2 Pathway 5
  • 9. This work is licensed under the Apache 2.0 License After Today, You’ll Be Able To ● Kotlin: ● Extend the idea of classes to further resemble real world entities (Inheritance) ● Learn about a new data type (lateinit) ● Android: ● Design screens for your app in a different way (XML Files) ● Access views of screen from activity in a easier way (View Binding) ● Polish the UI for your app: ○ Select a theme for your app (Material Design, Themes and styles) ○ Set an icon for you app (App icons) ○ Much more!
  • 10. This work is licensed under the Apache 2.0 License Concept Overview Pathway 5 - Part 1
  • 11. This work is licensed under the Apache 2.0 License “You look so much like your father / mother”
  • 12. This work is licensed under the Apache 2.0 License
  • 13. This work is licensed under the Apache 2.0 License
  • 14. This work is licensed under the Apache 2.0 License Inheritance - Extending Classes ● Classes - Useful way of representing real world entities ● Can we go further? ● Inheritance - passing down properties/features ○ Parents - Children ○ Bicycle - Mountain Bike ○ Vehicle - Car ● Subclasses can have their own properties ● Abstract Classes - rough sketch, can’t be implemented ○ Abstract Classes Classes Objects ○ Rough Sketch : Blueprint :: Abstract classes : ClassesPathway 5 Vehicle Automobiles Hand Pulled RickshawCartBusCar
  • 15. This work is licensed under the Apache 2.0 License Inheritance in Android ● Kotlin - Doesn’t have to have classes ● Android - Provided in classes - UI Components, Activities ● Any - Kotlin Superclass Pathway 5 Views TextView EditTextButton
  • 16. This work is licensed under the Apache 2.0 License 1.What do all die have in common? 2.Are there other examples of commonalities? 3.Are there any variations in these categories of things?
  • 17. This work is licensed under the Apache 2.0 License Have a Question? Just ask Unit 2, Pathway 5, Codelab 1
  • 18. This work is licensed under the Apache 2.0 License Codelab 1 Classes and Inheritance in Kotlin
  • 19. This work is licensed under the Apache 2.0 License Break 3:50 - 4:00
  • 20. This work is licensed under the Apache 2.0 License Concept Overview Pathway 5 - Part 2
  • 21. This work is licensed under the Apache 2.0 License XML - A Programming Markup Language ● Markup language - Way of annotating documents ● Human readable ● Uses standard words - not special programming syntax ● Most used - HTML, XML ● XML documents - Follow tree structure: ○ Root -> Child -> Subchild ● Tags - Describe element ● Text - Value of element ● Attribute - special property of element ● Value - Value of attribute Pathway 4
  • 22. <?xml version="1.0" encoding="UTF-8"?> <library> <book type="Novel"> <title> Kidnapped </title> <author> Robert Louis Stevenson </author> <year> 1886 </year> </book> <book type="Comic"> <title> Daredevil #1 </title> <author> Joe Kelly </author> <year> 1964 </year> </book> </library> A Basic XML File Pathway 4 Attribute Element Start Tag Closing Tag Text Value Declaration
  • 23. This work is licensed under the Apache 2.0 License Have a Question? Just ask Unit 2, Pathway 5, Codelab 2
  • 24. This work is licensed under the Apache 2.0 License Codelab 2 Create XML layouts for Android
  • 25. This work is licensed under the Apache 2.0 License Concept Overview Pathway 5 - Part 3
  • 26. This work is licensed under the Apache 2.0 License View Binding - Access Views Efficiently ● Bind all views in a layout to one object ● Refer views through that object Pathway 4
  • 27. This work is licensed under the Apache 2.0 License Have a Question? Just ask Unit 2, Pathway 5, Codelab 3
  • 28. This work is licensed under the Apache 2.0 License Codelab 3 Calculate the tip
  • 29. This work is licensed under the Apache 2.0 License Break 4:45 - 4:55
  • 30. This work is licensed under the Apache 2.0 License Concept Overview Pathway 5 - Part 4
  • 31. This work is licensed under the Apache 2.0 License Styles and Themes - Beautify Your App ● Color is all around us - Digitally and Physically ● Add hint of realism to app - Material Design ● Capture textures, reflections and shadows ● Each color - 3 hexadecimal numbers (2 digits) ● Extra 1 - Represent transparency ● Style - Properties of a view (font, size, color) ● Themes - Collection of styles ● Applied over the entire app - lends uniformity Pathway 4
  • 32. This work is licensed under the Apache 2.0 License Have a Question? Just ask Unit 2, Pathway 5, Codelabs 4&5
  • 33. This work is licensed under the Apache 2.0 License Codelab 4 Change the app theme
  • 34. This work is licensed under the Apache 2.0 License Codelab 5 Change the app icon
  • 35. This work is licensed under the Apache 2.0 License Break 5:35 - 5:45
  • 36. This work is licensed under the Apache 2.0 License Have a Question? Just ask Unit 2, Pathway 5, Codelab 6
  • 37. This work is licensed under the Apache 2.0 License Codelab 6 Create a more polished user experience
  • 38. This work is licensed under the Apache 2.0 License Q&A Got A Question? Drop ‘em in Chat!
  • 39. This work is licensed under the Apache 2.0 License Stay tuned for Session 4!
  • 40. This work is licensed under the Apache 2.0 License Share what you’ve learned with #AndroidStudyJams
  • 41. This work is licensed under the Apache 2.0 License Learn More
  • 42. This work is licensed under the Apache 2.0 License Continue learning! More units in the Android Basics in Kotlin Course will be released soon! Modify your existing apps and add more features to them. Additional resources to check out: ● Official Android Developers Site: developer.android.com ● Learn Kotlin By Example ● Kotlin Vocabulary series ● Official Android Developers Blog (for announcements) ● Android Developers Medium Blog (for more technical articles) ● Android Developers YouTube channel ● Follow @AndroidDev on Twitter ● Subscribe to the Android Developer Newsletter
  • 43. This work is licensed under the Apache 2.0 License Thank You See you next week!

Editor's Notes

  • #3: Assuming you are in the right place, here are some the prerequisites that will be helpful for this track. Having basic computer literacy and basic math skills is recommended. You’ll also need a computer and access to the internet to take the online course. [Mention WiFi instructions if necessary.] After this short presentation, we’ll all be working independently on the course. Use headphones to play the videos, so it doesn’t disrupt others around you. It’s also helpful if you have an Android device so you can test your app. A USB cable will be needed for connecting your phone to the computer. If you don’t have an Android device, don’t worry, you can still use your computer to emulate an Android device.
  • #4: Let’s look at the schedule for this session. [Please update this schedule accordingly before your event.] First, we have a short presentation, which we’re doing right now. We’re covering some logistics and a high-level introduction to the concepts, to help you with the hands-on portion of the session later. Once I’m done talking, you’ll be able to dive into the course. You’ll be working independently on 3 pathways in the first unit of the course. This is just a suggested schedule. You can work through the pathways at your own pace and let me or any of the other facilitators know if you have questions. We’ll also have a short break in between. At the end of the session, I’ll bring everyone together and we can recap what we learned today and celebrate your progress!!
  • #5: Let’s start off by recapping what we did last time. Can you remember what you learned in Session 1? [Ask the group and create a list of everything that people recall. If people forget any of the following, be sure to remind them: How to write and run a program in Kotlin How to set up Android Studio on their computer How to start a project from a template in Android Studio How to run an Android app on the emulator (and a physical device, if applicable) Add text and images to a layout Modify attributes on a TextView or ImageView]
  • #7: That’s all we’ll cover for today -- let’s get started!
  • #9: In this session, you’ll complete Unit 1 of the Android Basics in Kotlin course by finishing Pathway 4: Add a button to an app. In this pathway, you’ll be building an interactive app called the Dice Roller app. It rolls a dice when the button is pressed and updates the screen with the result.
  • #11: Now that you’re familiar with the learning platform and how the course looks, let’s dive into some important concepts that you’ll be learning about.
  • #15: Subclasses can have their own properties - much like objects can have their own values Abstract classes - not a concrete idea
  • #16: Subclasses can have their own properties - much like objects can have their own values Abstract classes - not a concrete idea
  • #18: [This pathway will take about 3 hours so you can give them breaks in between.]
  • #21: Now that you’re familiar with the learning platform and how the course looks, let’s dive into some important concepts that you’ll be learning about.
  • #24: [This pathway will take about 3 hours so you can give them breaks in between.]
  • #26: Now that you’re familiar with the learning platform and how the course looks, let’s dive into some important concepts that you’ll be learning about.
  • #28: [This pathway will take about 3 hours so you can give them breaks in between.]
  • #31: Now that you’re familiar with the learning platform and how the course looks, let’s dive into some important concepts that you’ll be learning about.
  • #33: [This pathway will take about 3 hours so you can give them breaks in between.]
  • #37: [This pathway will take about 3 hours so you can give them breaks in between.]
  • #40: Stay tuned for our next session -- you’ll be learning more about Android and Kotlin to build an interactive app! Thank you for coming and see you soon.
  • #41: Hope you all enjoyed the game and learning to create the Dice Roller app! On social media, remember to post photos or highlights from today using #AndroidStudyJams. [Include your own developer community and chapter hashtags (i.e. #developerstudentclubs #dsccmu)]
  • #42: If you liked creating your first Android apps and want to continue learning more on your own, here are some resources.
  • #43: First, you can continue learning on your own with the Android Basics in Kotlin course. At the moment, Unit 1 is available (which you already completed), with more units being released as they become available. In the meantime, you can modify the apps we built together and learn by adding more features to them. You can use Google search or look at existing code samples and videos online for how to add additional features to your app. To stay connected, check out these additional resources, which professional developers use to stay up to date on Android. As you get into more advanced features, you will likely need to learn more programming concepts. You can check out the Learn Kotlin By Example resource for that. Thank you so much for being a part of Android Study Jams! Good luck on the beginning of your Android developer journey!