This document outlines the schedule and content for an Android study jam session on programming basics. The session will cover Kotlin classes and inheritance, creating Android layouts in XML, calculating tips in an app, changing app themes and icons, and allow time for questions. Participants will learn to design user interfaces, access views, style apps, and make their programming skills more polished. The session is part of a new programmer track to teach core Android and Kotlin concepts.
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
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!
Notes de l'éditeur
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.
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!!
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]
That’s all we’ll cover for today -- let’s get started!
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.
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.
Subclasses can have their own properties - much like objects can have their own values
Abstract classes - not a concrete idea
Subclasses can have their own properties - much like objects can have their own values
Abstract classes - not a concrete idea
[This pathway will take about 3 hours so you can give them breaks in between.]
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.
[This pathway will take about 3 hours so you can give them breaks in between.]
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.
[This pathway will take about 3 hours so you can give them breaks in between.]
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.
[This pathway will take about 3 hours so you can give them breaks in between.]
[This pathway will take about 3 hours so you can give them breaks in between.]
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.
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)]
If you liked creating your first Android apps and want to continue learning more on your own, here are some resources.
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!