1 option
Android Programming for Beginners : Learn Android, Kotlin and Jetpack from Scratch and Turbocharge Progress with AI.
- Format:
- Book
- Author/Creator:
- Horton, John.
- Language:
- English
- Subjects (All):
- Kotlin (Computer program language).
- Programming languages (Electronic computers).
- Physical Description:
- 1 online resource (676 pages)
- Edition:
- 1st ed.
- Place of Publication:
- Birmingham : Packt Publishing, Limited, 2026.
- Summary:
- Learn Android app development from scratch with Kotlin and Jetpack Compose.Build 35+ hands-on apps, games, and database projects while mastering modern Android Studio workflows and Kotlin fundamentals.
- Contents:
- Intro
- Android Programming for Beginners
- Fourth Edition
- Learn Android, Kotlin &
- Jetpack from scratch and Turbocharge progress with AI
- Contributors
- About the author
- About the reviewers
- Table of Contents
- Preface
- Who this book is for
- Android
- Android Studio
- Kotlin &
- Jetpack (and Java)
- This is going to be easier than with Java, right?
- This book and AI
- The "lazy coder" myth
- The crux of the AI coverage in this book
- What this book covers
- To get the most out of this book
- Download the example code files
- Get the code bundle
- Download the color images
- Conventions used
- Get in touch
- Free benefits with your book
- How to unlock
- Share your thoughts
- Part 1
- Jetpack Compose Basics
- 1
- Installing Android Studio &
- Building an App
- Technical requirements
- Installing Android Studio, Kotlin, and the device emulator
- Building our first app
- Previewing our first app
- Improving your development environment
- Using the AVD and our first app
- The Code
- GitHub and downloading the code
- Summary
- FAQ
- 2
- Building More Apps: Comments, Logging, Lifecycle &
- Interactivity
- Using code comments
- Printing text and data
- Creating the logging demo app
- **The structure of the demo app** (and most apps in this book)
- Coding the logging demo app
- The Android lifecycle
- Android Lifecycle Demo app
- Enter Your Name demo app
- 3
- Variables, Types, &
- Operators
- Mutable Vs Immutable
- Introducing Types
- The types demo app
- Mathematical Operators
- More advanced operators
- More Kotlin numeric types
- Unsigned types
- Type inference
- Default types
- Learning String &
- Char
- String templates.
- Escape sequences
- Raw Strings
- Understanding Boolean types
- We need to talk about val and constness
- Converting between types
- 4
- Controlling the Flow of Your Program with if and else
- if and else
- Conditional operators
- Using if and else with conditional operators
- Testing for equality with ==
- Testing for inequality with !=
- Testing for greater or lesser values with >
- and <
- Shorthand with if and else
- Logical operators
- Using if and else with logical operators
- Using the AND operator
- Using the AND operator with multiple conditions
- Using the OR operator
- Using the NOT operator
- Using if and else with conditional expressions
- Assigning the value of a conditional expression to a Boolean
- Using conditional expressions for tidy flow
- Building a control flow demo app
- Explaining the control flow demo code
- 5
- Ranges &
- When
- Ranges
- The in operator
- The downTo function
- The until function
- LazyColumn
- Ranges demo app with LazyColumn
- Explaining the Ranges Demo App
- When statements
- The when demo app
- Explaining the When Demo App code
- 6
- Iteration
- while loops
- do-while loops
- For loops (and revisiting Ranges)
- Controlling loops with break, continue, and label
- Break
- Continue
- Labels
- Repeat
- Iteration demo app
- Optional AI Exercise: Guess the Output (Loops Challenge)
- 7
- Functions
- Simple functions
- Composable functions
- Functions demo app
- Vibe coding improvements to the Function Basics app
- More function basics
- TODO in functions
- Default/optional parameters
- Single expression syntax and the return keyword
- Named function arguments.
- Function overloading
- 8
- Jetpack, Composable Functions &
- Revisiting Hello World
- Jetpack: the Compose compiler, runtime &
- functions
- Basic Jetpack
- Step 1: A "Real" Hello World
- Step 2: A "Real" Hello World
- Step 3: A "Real" Hello World
- Step 4: A "Real" Hello World
- Scaffold
- Step 5: A "Real" Hello World
- Step 6: A "Real" Hello World
- Step 7: A "Real" Hello World
- The syntax of the Greeting function
- The syntax of the Greeting call
- Generating images for teaching using AI
- 9
- @Preview and Remember
- Material Design
- Exploring @Preview
- Button (and a bit more Text)
- Image
- How does Android Remember
- Building a Remember Button demo app
- Improving the code
- AI code generation experiment
- Part 2
- Data Structures, Kotlin Fundamentals &
- More Advanced UIs
- 10
- Handling Data with a List &
- Inputting Data with a TextField
- What is a List?
- We can put anything in a List
- Reading the contents of a List
- Accessing data in a List
- Accessing a List more safely
- Revisiting more ways to add and remove from a List
- More ways to modify a List
- Loops with List
- List Demo App
- TextField-to-list app
- FAQs
- 11
- Handling Data with Set
- Basic sets
- Adding and removing from sets
- Testing the contents of sets
- Reading the contents of a set
- More set-related functions
- More on set ordering and an introduction to interfaces
- Set Demo app
- 12
- Handling Data with Map
- Basic maps
- Adding data to a map
- Removing data
- Accessing data in a map
- Map demo app: Building a price list
- Explaining the price list code.
- Interactive, AI-scored Kotlin, collections test
- 13
- Lambdas
- All about Lambdas
- What is a lambda, and why do we use them?
- Coding a basic lambda
- Mutability and lambdas
- Passing lambdas around in our code
- More lambda syntax
- Lambdas and scope
- The it parameter
- Nesting Lambdas
- Using the it parameter in nested lambdas
- Adding a cumulative hint mode to AI-generated tests
- 14
- Kotlin, Java &
- Nullable
- What is Null?
- The Java Null problem
- The Kotlin Nullable type
- Using Nullable Types
- The Elvis Operator
- A simple if statement
- Using let and run to do a Safe Call
- Not Null Assertion
- Functions and Nullable
- Nullable Demo App
- A professional example of handling null
- AI Adaptive Difficulty quiz
- 15
- Scope Functions &
- Advanced Collections
- What are scope functions?
- apply
- let
- run
- with
- also
- takeIf
- Advanced Collections &
- lambdas
- Using the filter collection function (with the it parameter)
- Using the this parameter with lambdas, a list, and apply
- Using toSet
- Using toList
- Chaining lambdas with lists and filter
- Shuffled
- AI mixed format quiz
- 16
- Advanced Layouts: FAB, Box, Card &
- Chip
- FAB Demo app (and Divider)
- A Profile card using Box and Card Layout
- Understanding the Profile card (using Box) code
- The Card section of the code
- The Text section of the code
- The Image section of the code
- Chip Layout
- Understanding the chip layout code
- The FilterChip section
- The selectedOption section
- Vibe coding some changes to a demo app
- 17
- Regular Expressions &
- The Calculator app
- Technical requirements.
- Regular Expressions
- Calculator app
- Explaining the Calculator code
- Vibe coding improvements to the calculator app
- Part 3
- Object-Oriented Programming &
- Building More Advanced Apps
- 18
- An Introduction to Object-Oriented Programming
- Encapsulation
- Polymorphism
- Inheritance
- Why is it like this?
- Class recap
- Coding a class
- Properties &
- initialization
- Getters and Setters
- Getters with var properties
- Getters with val properties
- Custom Setters
- The improved Track class
- Android MediaPlayer
- Playing a sound file (and classes) demo app
- What can we do with objects of our classes?
- 19
- Class Functions, Constructors &
- Visibility Modifiers
- Class Functions
- Constructors
- Primary constructors
- Secondary constructors
- We need to talk about this
- Using the Meeting class
- Init blocks
- Visibility modifiers
- Public
- Private
- Protected
- Internal
- Visibility modifiers summary
- Building a piano (and classes) demo app
- 20
- Inheritance, Polymorphism &
- Abstract Classes
- Using inheritance with open classes
- Basic inheritance examples
- Overriding functions
- Why Inheritance
- Abstract classes and functions
- Referential equality and inequality
- 21
- App Navigation, Data classes, &
- Starting the Multi-Screen App
- NavController
- Data classes
- Introducing Celeb Book
- Building Celeb Book
- Coding the Contact class
- Coding the ContactViewModel
- Coding the Contact List screen
- Coding the Edit Contact screen
- Coding the MainActivity class
- Running the Celeb Book app
- 22
- Interfaces, Companion objects, Databases, Git &.
- Finishing the Multi-Screen App.
- Notes:
- Description based on publisher supplied metadata and other sources.
- Part of the metadata in this record was created by AI, based on the text of the resource.
- Other Format:
- Print version: Horton, John Android Programming for Beginners
- ISBN:
- 9781806698424
- OCLC:
- 1607918606
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.