Digital Library

Android Programming for Beginners Learn Android, Kotlin Jetpack from scratch and Turbocharge progress with AI (John Horton)(Z-Library)

John Horton

Android Programming for Beginners Learn Android, Kotlin Jetpack from scratch and Turbocharge progress with AI (John Horton)(Z-Library)

Author John Horton

移动

Modern Android development has evolved rapidly, with Kotlin and Jetpack Compose becoming the standard tools for building powerful mobile applications. Android Programming for Beginners provides a practical introduction for readers with little or no coding experience. Rather than overwhelming you with theory, the book teaches concepts gradually through hands-on experimentation and small, focused apps that reinforce core programming fundamentals. You will begin by learning Kotlin essentials including variables, loops, functions, lambdas, collections, and object-oriented programming before moving into Android Studio and Jetpack Compose. As your skills grow, you will create interactive projects ranging from UI layouts and games to multimedia and database-driven applications. Along the way, you will explore Android development techniques such as state management, navigation, Material Design, Room databases, Canvas drawing, and responsive layouts. To help future-proof your workflow, each chapter also includes optional AI-assisted programming exercises that show how modern coding tools can support experimentation, accelerate development, and deepen understanding. By the end of the book, you will have built a portfolio of Android apps and gained the confidence to continue toward advanced mobile development projects independently.

Format PDF
Size 14.3 MB
15
Views
0
Downloads
0.00
Total Donations

Text Preview (First 20 pages)

Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Page 1
Kotlin Fundamentals Jetpack Compose Android Studio Build 30+ Apps Build a game Android Programming for Beginners John Horton Learn Android, Kotlin & Jetpack from scratch and Turbocharge progress with AI A n d ro id P ro g ra m m in g fo r B eg in n ers J o h n H o rto n • Install and configure Android Studio for Android development • Build Android apps with Kotlin and Jetpack Compose • Understand variables, loops, functions, and Kotlin syntax • Create interactive apps with touch, sound, and graphics • Work with collections, lambdas, and scope functions • Build multi-screen apps with navigation and Room databases • Develop a game while mastering Kotlin OOP concepts • Learn how to (optionally) use AI to speed up learning and development WHAT YOU WILL LEARN Modern Android development has evolved rapidly, with Kotlin and Jetpack Compose becoming the standard tools for building powerful mobile applications. Android Programming for Beginners provides a practical introduction for readers with litt le or no coding experience. Rather than overwhelming you with theory, the book teaches concepts gradually through hands-on experimentation and small, focused apps that reinforce core programming fundamentals. You will begin by learning Kotlin essentials including variables, loops, functions, lambdas, collections, and object-oriented programming before moving into Android Studio and Jetpack Compose. As your skills grow, you will create interactive projects ranging from UI layouts and games to multimedia and database- driven applications. Along the way, you will explore Android development techniques such as state management, navigation, Material Design, Room databases, Canvas drawing, and responsive layouts. To help future-proof your workfl ow, each chapter also includes optional AI-assisted programming exercises that show how modern coding tools can support experimentation, accelerate development, and deepen understanding. By the end of the book, you will have built a portfolio of Android apps and gained the confi dence to continue toward advanced mobile development projects independently. 4 T H E D I T I O N Android Programming for Beginners www.packtpub.com Get a free PDF of this book packtpub.com/unlock/9781806698431
Page 2
Android Programming for Beginners Fourth Edition Learn Android, Kotlin & Jetpack from scratch and Turbocharge progress with AI John Horton
Page 3
Android Programming for Beginners Fourth Edition Copyright © 2026 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. Portfolio Director: Ashwin Nair Relationship Lead: Sohini Ghosh Project Manager: Ruvika Rao Content Engineer: Nisha Cleetus Technical Editor: Rohit Singh Copy Editor: Nisha Cleetus Indexer: Rekha Nair Proofreader: Nisha Cleetus Production Designer: Jyoti Kadam Growth Lead: Sayantani Saha First published: December 2015 Second edition: October 2018 Third edition: April 2021 Fourth edition: July 2026 Production reference: 1170726 Published by Packt Publishing Ltd. Grosvenor House 11 St Paul's Square Birmingham B3 1RB, UK. ISBN 978-1-80669-843-1 www.packtpub.com
Page 4
Contributors About the author John Horton is a writer and programmer from England and you can see more of his work at Game Code School on the Web.
Page 5
About the reviewers Tetiana Synytsyna is a Senior Android Engineer with 6+ years of experience building scalable mobile applications using Kotlin, Jetpack Compose, and modern Android architecture patterns. She specializes in large-scale streaming and real-time systems, performance optimization, and UI architecture for complex products. Throughout her career, she has led technical initiatives, driven architectural decisions, and collaborated across teams to deliver reliable, high-quality mobile experiences. Passionate about Android performance, developer experience, and sharing practical engineering knowledge through writing, mentoring, and community involvement. Maxim Kachinkin is an Android Tech Lead with 15+ years in software development and 13+ years in Android. He leads mobile engineering for products used by millions of people across 20+ countries, focusing on scalable architecture, delivery efficiency, CI/CD, testing, and team growth. Maxim is also active in Android education as the head and author of professional Android courses. He is the Program Director of an Android conference, regularly speaks at major tech events, including Droidcon, and is an IEEE Senior Member. He writes about Android development on ProAndroidDev, Better Programming, Habr, and HackerNoon, and enjoys helping engineers grow while building reliable products. Santiago Mattiauda is a Software Technical Lead at Mercado Libre and Mobile development specialist with over a decade of experience. With extensive expertise in Android, iOS, and Kotlin Multiplatform (KMP), he focuses on technical excellence, designing sustainable solutions, and clean code. He is an active community member and the author of the books KMP for Mobile Native Developer and CMP for Mobile Native Developers, written to guide native developers in adopting multiplatform technologies. Driven by continuous learning and collaborative work, he participates in this project by providing his technical vision to foster the growth of industry professionals.
Page 6
Table of Contents Preface xix Free benefits with your book ............................................................................................... xxxii Part 1: Kotlin & Jetpack Compose Basics 1 Chapter 1: Installing Android Studio & Building an App 3 Technical requirements ............................................................................................................. 4 Installing Android Studio, Kotlin, and the device emulator ...................................................... 5 Building our first app ............................................................................................................... 11 Previewing our first app ........................................................................................................... 13 Improving your development environment ............................................................................. 15 Using the AVD and our first app .............................................................................................. 16 The Code • 18 GitHub and downloading the code • 22 Summary ................................................................................................................................ 23 FAQ ......................................................................................................................................... 24 Chapter 2: Building More Apps: Comments, Logging, Lifecycle & Interactivity 27 Technical requirements ........................................................................................................... 28 Using code comments ............................................................................................................. 28 Printing text and data ............................................................................................................. 30 Creating the logging demo app • 32 **The structure of the demo app** (and most apps in this book) ........................................... 33 Coding the logging demo app • 37 The Android lifecycle ............................................................................................................... 42 Android Lifecycle Demo app • 45 Enter Your Name demo app ..................................................................................................... 48 Summary ................................................................................................................................ 52 FAQ ......................................................................................................................................... 52
Page 7
Chapter 3: Variables, Types, & Operators 55 Technical requirements ........................................................................................................... 56 Mutable Vs Immutable ............................................................................................................ 56 Introducing Types ................................................................................................................... 56 The types demo app • 59 Mathematical Operators ......................................................................................................... 61 More advanced operators • 62 More Kotlin numeric types ...................................................................................................... 65 Unsigned types • 66 Type inference • 67 Default types • 67 Learning String & Char ........................................................................................................... 70 String templates • 72 Escape sequences • 73 Raw Strings • 74 Char • 74 Understanding Boolean types ................................................................................................. 75 We need to talk about val and constness ................................................................................. 75 Converting between types ....................................................................................................... 77 Summary ................................................................................................................................ 79 FAQ ......................................................................................................................................... 79 Chapter 4: Controlling the Flow of Your Program with if and else 81 Technical requirements ........................................................................................................... 82 if and else ................................................................................................................................ 82 Conditional operators ............................................................................................................. 84 Using if and else with conditional operators • 85 Testing for equality with == • 85 Testing for inequality with != • 85 Testing for greater or lesser values with > and < • 86 Shorthand with if and else • 88 Logical operators ..................................................................................................................... 89 Using if and else with logical operators • 90 Using the AND operator • 90 Table of Contents vi
Page 8
Using the AND operator with multiple conditions • 91 Using the OR operator • 91 Using the NOT operator • 92 Using if and else with conditional expressions ........................................................................ 93 Assigning the value of a conditional expression to a Boolean • 93 Using conditional expressions for tidy flow • 94 Building a control flow demo app ........................................................................................... 95 Explaining the control flow demo code • 97 Summary .............................................................................................................................. 100 FAQ ....................................................................................................................................... 100 Chapter 5: Ranges & When 103 Technical requirements ......................................................................................................... 104 Ranges ................................................................................................................................... 104 The in operator • 104 The downTo function • 105 The until function • 105 LazyColumn .......................................................................................................................... 107 Ranges demo app with LazyColumn • 108 Explaining the Ranges Demo App • 111 When statements ................................................................................................................... 112 The when demo app • 116 Explaining the When Demo App code • 118 Summary .............................................................................................................................. 120 FAQ ........................................................................................................................................ 121 Chapter 6: Iteration 123 Technical requirements ......................................................................................................... 124 while loops ............................................................................................................................ 124 do-while loops ...................................................................................................................... 126 For loops (and revisiting Ranges) ........................................................................................... 127 Controlling loops with break, continue, and label ................................................................ 129 Break • 129 Continue • 130 Labels • 131 vii Table of Contents
Page 9
Repeat .................................................................................................................................... 132 Iteration demo app ................................................................................................................. 133 Optional AI Exercise: Guess the Output (Loops Challenge) ................................................... 138 Summary ............................................................................................................................... 139 FAQ ........................................................................................................................................ 139 Chapter 7: Functions 141 Technical requirements .......................................................................................................... 141 Simple functions .................................................................................................................... 142 Composable functions ........................................................................................................... 147 Functions demo app .............................................................................................................. 148 Vibe coding improvements to the Function Basics app .......................................................... 153 More function basics .............................................................................................................. 155 TODO in functions • 155 Default/optional parameters • 156 Single expression syntax and the return keyword • 156 Named function arguments • 157 Function overloading • 158 Summary ............................................................................................................................... 159 FAQ ....................................................................................................................................... 160 Chapter 8: Jetpack, Composable Functions & Revisiting Hello World 163 Technical requirements ......................................................................................................... 164 Jetpack: the Compose compiler, runtime & functions ........................................................... 164 Basic Jetpack .......................................................................................................................... 167 Step 1: A "Real" Hello World • 167 Step 2: A "Real" Hello World • 170 Step 3: A "Real" Hello World • 171 Step 4: A "Real" Hello World • 173 Scaffold • 175 Step 5: A "Real" Hello World • 175 Step 6: A "Real" Hello World • 178 Step 7: A "Real" Hello World • 178 The syntax of the Greeting function ...................................................................................... 180 Table of Contents viii
Page 10
The syntax of the Greeting call .............................................................................................. 182 Generating images for teaching using AI ............................................................................... 184 Summary ............................................................................................................................... 187 FAQ ....................................................................................................................................... 188 Chapter 9: @Preview and Remember 189 Technical requirements ......................................................................................................... 189 Material Design ..................................................................................................................... 190 Exploring @Preview ............................................................................................................. 190 Button (and a bit more Text) • 191 Image • 202 How does Android Remember ............................................................................................... 204 Building a Remember Button demo app ................................................................................ 206 Improving the code • 209 AI code generation experiment ............................................................................................. 210 Summary ............................................................................................................................... 212 FAQ ........................................................................................................................................ 212 Part 2: Data Structures, Kotlin Fundamentals & More Advanced UIs 213 Chapter 10: Handling Data with a List & Inputting Data with a TextField 215 Technical requirements ......................................................................................................... 216 What is a List? ....................................................................................................................... 216 We can put anything in a List • 220 Reading the contents of a List ................................................................................................ 221 Accessing data in a List .......................................................................................................... 222 Accessing a List more safely • 224 Revisiting more ways to add and remove from a List • 226 More ways to modify a List • 228 Loops with List ..................................................................................................................... 230 List Demo App ....................................................................................................................... 233 TextField-to-list app ............................................................................................................. 235 Summary .............................................................................................................................. 241 FAQs ...................................................................................................................................... 242 ix Table of Contents
Page 11
Chapter 11: Handling Data with Set 245 Technical requirements ......................................................................................................... 246 Basic sets ............................................................................................................................... 246 Adding and removing from sets • 247 Testing the contents of sets • 251 Reading the contents of a set • 251 More set-related functions • 252 More on set ordering and an introduction to interfaces ........................................................ 254 Set Demo app ........................................................................................................................ 254 Summary .............................................................................................................................. 260 FAQ ....................................................................................................................................... 260 Chapter 12: Handling Data with Map 261 Technical requirements ......................................................................................................... 261 Basic maps ............................................................................................................................ 262 Adding data to a map • 263 Removing data • 265 Accessing data in a map • 266 Map demo app: Building a price list ...................................................................................... 268 Explaining the price list code • 273 Interactive, AI-scored Kotlin, collections test ........................................................................ 279 Summary .............................................................................................................................. 281 FAQ ....................................................................................................................................... 281 Chapter 13: Lambdas 283 Technical requirements ......................................................................................................... 283 All about Lambdas ................................................................................................................ 283 What is a lambda, and why do we use them? • 284 Coding a basic lambda .......................................................................................................... 285 Mutability and lambdas • 287 Passing lambdas around in our code ..................................................................................... 288 More lambda syntax .............................................................................................................. 292 Lambdas and scope ............................................................................................................... 295 The it parameter ................................................................................................................... 297 Table of Contents x
Page 12
Nesting Lambdas ................................................................................................................... 299 Using the it parameter in nested lambdas • 299 Adding a cumulative hint mode to AI-generated tests .......................................................... 300 Summary .............................................................................................................................. 301 FAQ ....................................................................................................................................... 301 Chapter 14: Kotlin, Java & Nullable 303 Technical requirements ......................................................................................................... 304 What is Null? ......................................................................................................................... 304 The Java Null problem ........................................................................................................... 304 The Kotlin Nullable type ....................................................................................................... 305 Using Nullable Types ............................................................................................................. 307 The Elvis Operator • 307 A simple if statement • 308 Using let and run to do a Safe Call • 309 Not Null Assertion • 310 Functions and Nullable .......................................................................................................... 311 Nullable Demo App ................................................................................................................ 313 A professional example of handling null ................................................................................ 317 AI Adaptive Difficulty quiz ..................................................................................................... 319 Summary .............................................................................................................................. 320 FAQ ........................................................................................................................................ 321 Chapter 15: Scope Functions & Advanced Collections 323 Technical requirements ......................................................................................................... 324 What are scope functions? .................................................................................................... 324 apply • 325 let • 330 run • 331 with • 332 also • 333 takeIf • 333 Advanced Collections & lambdas .......................................................................................... 335 Using the filter collection function (with the it parameter) • 335 Using the this parameter with lambdas, a list, and apply • 336 xi Table of Contents
Page 13
Using toSet • 337 Using toList • 337 Chaining lambdas with lists and filter • 338 Shuffled • 339 AI mixed format quiz ............................................................................................................. 339 Summary .............................................................................................................................. 340 FAQ ........................................................................................................................................ 341 Chapter 16: Advanced Layouts: FAB, Box, Card & Chip 343 Technical requirements ......................................................................................................... 343 FAB Demo app (and Divider) ................................................................................................. 343 A Profile card using Box and Card Layout .............................................................................. 347 Understanding the Profile card (using Box) code • 350 The Card section of the code • 351 The Text section of the code • 352 The Image section of the code • 353 Chip Layout ........................................................................................................................... 354 Understanding the chip layout code • 357 The FilterChip section • 357 The selectedOption section • 359 Vibe coding some changes to a demo app .............................................................................. 359 Summary .............................................................................................................................. 363 FAQ ....................................................................................................................................... 363 Chapter 17: Regular Expressions & The Calculator app 365 Technical requirements ......................................................................................................... 366 Regular Expressions .............................................................................................................. 366 Calculator app ....................................................................................................................... 370 Explaining the Calculator code ............................................................................................. 376 Vibe coding improvements to the calculator app .................................................................. 378 Summary .............................................................................................................................. 383 FAQ ....................................................................................................................................... 383 Table of Contents xii
Page 14
Part 3: Object-Oriented Programming & Building More Advanced Apps 385 Chapter 18: An Introduction to Object-Oriented Programming 387 Technical requirements ......................................................................................................... 388 Encapsulation ....................................................................................................................... 388 Polymorphism ....................................................................................................................... 389 Inheritance ........................................................................................................................... 389 Why is it like this? • 389 Class recap • 390 Coding a class ........................................................................................................................ 390 Properties & initialization ..................................................................................................... 392 Getters and Setters ................................................................................................................ 397 Getters with var properties • 397 Getters with val properties • 399 Custom Setters • 401 The improved Track class ...................................................................................................... 402 Android MediaPlayer ............................................................................................................ 402 Playing a sound file (and classes) demo app ......................................................................... 404 What can we do with objects of our classes? ........................................................................ 408 Summary ............................................................................................................................. 409 FAQ ....................................................................................................................................... 410 Chapter 19: Class Functions, Constructors & Visibility Modifiers 413 Technical requirements .......................................................................................................... 413 Class Functions ...................................................................................................................... 413 Constructors .......................................................................................................................... 415 Primary constructors • 416 Secondary constructors • 418 We need to talk about this • 419 Using the Meeting class • 419 Init blocks • 420 Visibility modifiers ................................................................................................................. 421 Public • 422 xiii Table of Contents
Page 15
Private • 422 Protected • 426 Internal • 426 Visibility modifiers summary • 427 Building a piano (and classes) demo app ............................................................................... 427 Summary .............................................................................................................................. 435 FAQ ....................................................................................................................................... 435 Chapter 20: Inheritance, Polymorphism & Abstract Classes 437 Inheritance ........................................................................................................................... 437 Using inheritance with open classes • 439 Basic inheritance examples • 439 Overriding functions • 441 Why Inheritance ................................................................................................................... 444 Polymorphism ....................................................................................................................... 444 Abstract classes and functions .............................................................................................. 446 Referential equality and inequality ....................................................................................... 447 Summary .............................................................................................................................. 449 FAQ ....................................................................................................................................... 450 Chapter 21: App Navigation, Data classes, & Starting the Multi- Screen App 451 Technical requirements ......................................................................................................... 452 NavController ....................................................................................................................... 452 Data classes ........................................................................................................................... 454 Introducing Celeb Book ......................................................................................................... 457 Building Celeb Book .............................................................................................................. 459 Coding the Contact class • 461 Coding the ContactViewModel • 461 Coding the Contact List screen • 463 Coding the Edit Contact screen • 466 Coding the MainActivity class • 470 Running the Celeb Book app .................................................................................................. 471 Summary .............................................................................................................................. 472 FAQ ....................................................................................................................................... 472 Table of Contents xiv
Page 16
Chapter 22: Interfaces, Companion objects, Databases, Git & Finishing the Multi-Screen App 473 Technical requirements ......................................................................................................... 474 MVVM ................................................................................................................................... 474 Companion objects ............................................................................................................... 476 Interfaces .............................................................................................................................. 477 Room .................................................................................................................................... 480 Choosing how to build the project ........................................................................................ 481 Git, Android Studio, and GitHub ........................................................................................... 482 Creating the project with Git • 482 Building it step by step • 484 Coding CelebBookDatabase.kt • 486 Coding ContactDao.kt • 487 Updating Contact.kt • 488 Updating ContactViewModel.kt • 489 Updating the MainActivity code • 491 Summary .............................................................................................................................. 492 FAQ ....................................................................................................................................... 493 Chapter 23: Drawing Graphics with Canvas 495 Technical requirements ......................................................................................................... 495 Understanding Bitmap and Canvas ....................................................................................... 495 Canvas, Bitmap, Paint, and ImageView • 496 Basic drawing code tutorial (before demo) ........................................................................... 497 Preparing the instances of the required classes • 497 Initializing the objects • 497 Setting the Activity content • 498 The Canvas Demo app ........................................................................................................... 499 More details for drawing with Android ................................................................................. 503 The Android coordinate system • 503 Creating bitmap graphics with the Bitmap class • 505 Manipulating bitmaps • 506 What is a bitmap? • 506 The Matrix class • 507 xv Table of Contents
Page 17
Inverting a bitmap to face the opposite direction • 507 Rotating the bitmap to face up and down • 509 The Bitmap manipulation demo app ..................................................................................... 510 Vibe coding a Canvas demo .................................................................................................... 514 Summary ............................................................................................................................... 516 FAQ ........................................................................................................................................ 516 Chapter 24: Enums, Random Numbers & Starting the Space Shooter Game 517 Enums ................................................................................................................................... 518 Random numbers ................................................................................................................... 521 The Space Shooter game ....................................................................................................... 522 Starting the Space Shooter game • 524 Coding the Laser class • 524 Coding the Alien class • 526 Coding the Player class • 530 Summary .............................................................................................................................. 532 FAQ ....................................................................................................................................... 533 Chapter 25: Threads & Finishing the Space Shooter Game 535 Technical requirements ......................................................................................................... 535 Understanding the game loop ............................................................................................... 536 Understanding threads ......................................................................................................... 538 Coding the SpaceShooterView class ...................................................................................... 542 Coding the variables • 543 Coding the prepareAliens function • 545 Coding the run function • 546 Coding the update function • 547 Coding the draw function • 550 Coding the pause function • 553 Coding the resume function • 554 Coding the onTouchEvent function • 554 Coding the MainActivity class ............................................................................................... 556 Summary .............................................................................................................................. 559 FAQ ....................................................................................................................................... 559 Table of Contents xvi
Page 18
Part 4: Vibe Coding & Learning with AI 561 Chapter 26: Vibe Coding for Beginners 563 Technical requirements ......................................................................................................... 564 What is vibe coding, and why should I do it .......................................................................... 564 What are agents? • 565 MCP • 565 I love real coding, so why should I vibe code? ........................................................................ 566 Installing AI in Android Studio .............................................................................................. 568 Vibe coding improvements to the Space Shooter game .......................................................... 571 If you get errors ..................................................................................................................... 575 Understanding the generated code ....................................................................................... 578 Starting and planning a new project ..................................................................................... 581 Using Git and other precautions ............................................................................................ 586 Keeping control of the project and improving the codebase .................................................. 593 When Your AI is Going Rogue ................................................................................................ 595 Context Engineering: Preventing Forgetfulness, How to Remember Lots, and When to Give Up • 595 Experiment and Keep Learning ............................................................................................. 597 Using AI to Teach You • 597 Keeping Up with AI News • 597 Expanding Your Skills Beyond Android and Kotlin • 598 Focusing on the Selection of Non-AI Tools That Are Right for You • 598 Summary .............................................................................................................................. 598 FAQ ....................................................................................................................................... 599 Chapter 27: Coding & Learning Jetpack with AI 601 Technical requirements ......................................................................................................... 602 Introducing the Dashboard app ............................................................................................ 602 Vibe coding a Top and bottom app bar .................................................................................. 602 Understanding the top and bottom app bar and explaining the code using AI ...................... 605 Extending the app to build a dashboard ................................................................................ 607 Summary ............................................................................................................................. 609 FAQ ...................................................................................................................................... 609 xvii Table of Contents
Page 19
Chapter 28: Coding & Learning Kotlin with AI 611 Technical requirements .......................................................................................................... 611 Recursive functions ................................................................................................................ 611 A bad example of recursion .................................................................................................... 613 Using AI to explore advanced recursion .................................................................................. 615 Advanced Recursion demo with Compose ............................................................................. 616 Vibe coding improvements to the recursion demo app .......................................................... 619 Coroutines demo app ............................................................................................................ 620 Improving the demo app using Vibe coding .......................................................................... 622 Summary .............................................................................................................................. 625 FAQ ....................................................................................................................................... 625 Chapter 29: Unlock the Code Bundle and the PDF Version 627 Unlock this book's free benefits in three easy steps ............................................................... 628 Other Books You May Enjoy 632 Index 635 Table of Contents xviii
Page 20
Preface Welcome to Android Programming for Beginners, Fourth Edition. What follows is a whirlwind tour and introduction to Android development, the most modern tools available to us, and what we will learn in this book. Who this book is for Whether you have never programmed before, never used Kotlin, or never built an Android app, I have designed this book for you. If you have programming experience—perhaps in Java—or have built Android apps but are new to Kotlin or Jetpack Compose, you'll find plenty of tailored guidance here as well. Android What's so great about Android? Some would say one of the best things is Google's support, but let's just be more specific: Google's money is what makes Android what it is. All the features and tools we will talk about are entirely because of or made significantly better because of Google's investment. Of course, the best thing about Android could also be argued as the worst thing. Despite this, Android is still way more open than its competitors. There are multiple non-Google app stores, and you can distribute a package containing a fully working Android app from your own website or Bittorrent, or you can opt for the highly controlled but potentially extremely lucrative official app outlet, the Play Store. So whether you want to be an open source digital nomad spreading the latest censorship resistant cryptography solutions, you want to make a fast buck off of the 2.5 billion users who frequent the Play Store or you want to embark on a career working for one of the many big corporations through to small startup companies, Android in my view is and always has been the best choice. Another plus for Android is that there are so many more devices to choose from. Cheap and practical, shiny technological marvels that fold, to gloriously slim and tactile tablets. These devices are deeply personal to their users. As a developer, you have the power to interact with your users in ways that mere movie, book, game, and music creators cannot. In fact, your apps can include any or all of these media.
The above is a preview of the first 20 pages. Register to read the complete e-book.

Support Author

0.00
Total Amount (¥)
0
Donation Count
Please enter an amount Minimum ¥1

You will be redirected to Alipay to complete payment, then return here.

Recommended for You

Loading recommended books...
Failed to load, please try again later
Back to List