My Account Log in

1 option

Android Programming for Beginners : Learn Android, Kotlin and Jetpack from Scratch and Turbocharge Progress with AI.

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
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 &amp
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 &amp
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 &amp
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 &amp
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, &amp
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 &amp
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 &gt
and &lt
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 &amp
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 &amp
Revisiting Hello World
Jetpack: the Compose compiler, runtime &amp
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 &amp
More Advanced UIs
10
Handling Data with a List &amp
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 &amp
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 &amp
Advanced Collections
What are scope functions?
apply
let
run
with
also
takeIf
Advanced Collections &amp
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 &amp
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 &amp
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 &amp
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 &amp
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 &amp
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 &amp
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, &amp
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 &amp.
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.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account