1 option
Android Studio Giraffe Essentials - Kotlin Edition : Developing Android Apps Using Android Studio 2022.3.1 and Kotlin / Neil Smyth.
- Format:
- Book
- Author/Creator:
- Smyth, Neil, author.
- Language:
- English
- Subjects (All):
- Android (Electronic resource).
- Physical Description:
- 1 online resource (849 pages)
- Edition:
- First edition.
- Place of Publication:
- [Place of publication not identified] : Payload Media, Inc., [2023]
- Summary:
- Fully updated for Android Studio Giraffe, Android Jetpack and the modern architectural guidelines and components, the goal of this book is to teach the skills necessary to develop Android-based applications using the Kotlin programming language.
- Contents:
- Intro
- 1. Introduction
- 1.1 Downloading the Code Samples
- 1.2 Feedback
- 1.3 Errata
- 2. Setting up an Android Studio Development Environment
- 2.1 System requirements
- 2.2 Downloading the Android Studio package
- 2.3 Installing Android Studio
- 2.3.1 Installation on Windows
- 2.3.2 Installation on macOS
- 2.3.3 Installation on Linux
- 2.4 The Android Studio setup wizard
- 2.5 Installing additional Android SDK packages
- 2.6 Installing the Android SDK Command-line Tools
- 2.6.1 Windows 8.1
- 2.6.2 Windows 10
- 2.6.3 Windows 11
- 2.6.4 Linux
- 2.6.5 macOS
- 2.7 Android Studio memory management
- 2.8 Updating Android Studio and the SDK
- 2.9 Summary
- 3. Creating an Example Android App in Android Studio
- 3.1 About the Project
- 3.2 Creating a New Android Project
- 3.3 Creating an Activity
- 3.4 Defining the Project and SDK Settings
- 3.5 Enabling the New Android Studio UI
- 3.6 Modifying the Example Application
- 3.7 Modifying the User Interface
- 3.8 Reviewing the Layout and Resource Files
- 3.9 Adding Interaction
- 3.10 Summary
- 4. Creating an Android Virtual Device (AVD) in Android Studio
- 4.1 About Android Virtual Devices
- 4.2 Starting the Emulator
- 4.3 Running the Application in the AVD
- 4.4 Running on Multiple Devices
- 4.5 Stopping a Running Application
- 4.6 Supporting Dark Theme
- 4.7 Running the Emulator in a Separate Window
- 4.8 Enabling the Device Frame
- 4.9 Summary
- 5. Using and Configuring the Android Studio AVD Emulator
- 5.1 The Emulator Environment
- 5.2 Emulator Toolbar Options
- 5.3 Working in Zoom Mode
- 5.4 Resizing the Emulator Window
- 5.5 Extended Control Options
- 5.5.1 Location
- 5.5.2 Displays
- 5.5.3 Cellular
- 5.5.4 Battery
- 5.5.5 Camera
- 5.5.6 Phone
- 5.5.7 Directional Pad
- 5.5.8 Microphone
- 5.5.9 Fingerprint
- 5.5.10 Virtual Sensors.
- 5.5.11 Snapshots
- 5.5.12 Record and Playback
- 5.5.13 Google Play
- 5.5.14 Settings
- 5.5.15 Help
- 5.6 Working with Snapshots
- 5.7 Configuring Fingerprint Emulation
- 5.8 The Emulator in Tool Window Mode
- 5.9 Creating a Resizable Emulator
- 5.10 Summary
- 6. A Tour of the Android Studio User Interface
- 6.1 The Welcome Screen
- 6.2 The Menu Bar
- 6.3 The Main Window
- 6.4 The Tool Windows
- 6.5 The Tool Window Menus
- 6.6 Android Studio Keyboard Shortcuts
- 6.7 Switcher and Recent Files Navigation
- 6.8 Changing the Android Studio Theme
- 6.9 Summary
- 7. Testing Android Studio Apps on a Physical Android Device
- 7.1 An Overview of the Android Debug Bridge (ADB)
- 7.2 Enabling USB Debugging ADB on Android Devices
- 7.2.1 macOS ADB Configuration
- 7.2.2 Windows ADB Configuration
- 7.2.3 Linux adb Configuration
- 7.3 Resolving USB Connection Issues
- 7.4 Enabling Wireless Debugging on Android Devices
- 7.5 Testing the adb Connection
- 7.6 Device Mirroring
- 7.7 Summary
- 8. The Basics of the Android Studio Code Editor
- 8.1 The Android Studio Editor
- 8.2 Splitting the Editor Window
- 8.3 Code Completion
- 8.4 Statement Completion
- 8.5 Parameter Information
- 8.6 Parameter Name Hints
- 8.7 Code Generation
- 8.8 Code Folding
- 8.9 Quick Documentation Lookup
- 8.10 Code Reformatting
- 8.11 Finding Sample Code
- 8.12 Live Templates
- 8.13 Summary
- 9. An Overview of the Android Architecture
- 9.1 The Android Software Stack
- 9.2 The Linux Kernel
- 9.3 Android Runtime - ART
- 9.4 Android Libraries
- 9.4.1 C/C++ Libraries
- 9.5 Application Framework
- 9.6 Applications
- 9.7 Summary
- 10. The Anatomy of an Android App
- 10.1 Android Activities
- 10.2 Android Fragments
- 10.3 Android Intents
- 10.4 Broadcast Intents
- 10.5 Broadcast Receivers
- 10.6 Android Services
- 10.7 Content Providers.
- 10.8 The Application Manifest
- 10.9 Application Resources
- 10.10 Application Context
- 10.11 Summary
- 11. An Introduction to Kotlin
- 11.1 What is Kotlin?
- 11.2 Kotlin and Java
- 11.3 Converting from Java to Kotlin
- 11.4 Kotlin and Android Studio
- 11.5 Experimenting with Kotlin
- 11.6 Semi-colons in Kotlin
- 11.7 Summary
- 12. Kotlin Data Types, Variables, and Nullability
- 12.1 Kotlin Data Types
- 12.1.1 Integer Data Types
- 12.1.2 Floating-Point Data Types
- 12.1.3 Boolean Data Type
- 12.1.4 Character Data Type
- 12.1.5 String Data Type
- 12.1.6 Escape Sequences
- 12.2 Mutable Variables
- 12.3 Immutable Variables
- 12.4 Declaring Mutable and Immutable Variables
- 12.5 Data Types are Objects
- 12.6 Type Annotations and Type Inference
- 12.7 Nullable Type
- 12.8 The Safe Call Operator
- 12.9 Not-Null Assertion
- 12.10 Nullable Types and the let Function
- 12.11 Late Initialization (lateinit)
- 12.12 The Elvis Operator
- 12.13 Type Casting and Type Checking
- 12.14 Summary
- 13. Kotlin Operators and Expressions
- 13.1 Expression Syntax in Kotlin
- 13.2 The Basic Assignment Operator
- 13.3 Kotlin Arithmetic Operators
- 13.4 Augmented Assignment Operators
- 13.5 Increment and Decrement Operators
- 13.6 Equality Operators
- 13.7 Boolean Logical Operators
- 13.8 Range Operator
- 13.9 Bitwise Operators
- 13.9.1 Bitwise Inversion
- 13.9.2 Bitwise AND
- 13.9.3 Bitwise OR
- 13.9.4 Bitwise XOR
- 13.9.5 Bitwise Left Shift
- 13.9.6 Bitwise Right Shift
- 13.10 Summary
- 14. Kotlin Control Flow
- 14.1 Looping Control flow
- 14.1.1 The Kotlin for-in Statement
- 14.1.2 The while Loop
- 14.1.3 The do ... while loop
- 14.1.4 Breaking from Loops
- 14.1.5 The continue Statement
- 14.1.6 Break and Continue Labels
- 14.2 Conditional Control Flow
- 14.2.1 Using the if Expressions.
- 14.2.2 Using if ... else … Expressions
- 14.2.3 Using if ... else if ... Expressions
- 14.2.4 Using the when Statement
- 14.3 Summary
- 15. An Overview of Kotlin Functions and Lambdas
- 15.1 What is a Function?
- 15.2 How to Declare a Kotlin Function
- 15.3 Calling a Kotlin Function
- 15.4 Single Expression Functions
- 15.5 Local Functions
- 15.6 Handling Return Values
- 15.7 Declaring Default Function Parameters
- 15.8 Variable Number of Function Parameters
- 15.9 Lambda Expressions
- 15.10 Higher-order Functions
- 15.11 Summary
- 16. The Basics of Object Oriented Programming in Kotlin
- 16.1 What is an Object?
- 16.2 What is a Class?
- 16.3 Declaring a Kotlin Class
- 16.4 Adding Properties to a Class
- 16.5 Defining Methods
- 16.6 Declaring and Initializing a Class Instance
- 16.7 Primary and Secondary Constructors
- 16.8 Initializer Blocks
- 16.9 Calling Methods and Accessing Properties
- 16.10 Custom Accessors
- 16.11 Nested and Inner Classes
- 16.12 Companion Objects
- 16.13 Summary
- 17. An Introduction to Kotlin Inheritance and Subclassing
- 17.1 Inheritance, Classes and Subclasses
- 17.2 Subclassing Syntax
- 17.3 A Kotlin Inheritance Example
- 17.4 Extending the Functionality of a Subclass
- 17.5 Overriding Inherited Methods
- 17.6 Adding a Custom Secondary Constructor
- 17.7 Using the SavingsAccount Class
- 17.8 Summary
- 18. An Overview of Android View Binding
- 18.1 Find View by Id
- 18.2 View Binding
- 18.3 Converting the AndroidSample project
- 18.4 Enabling View Binding
- 18.5 Using View Binding
- 18.6 Choosing an Option
- 18.7 View Binding in the Book Examples
- 18.8 Migrating a Project to View Binding
- 18.9 Summary
- 19. Understanding Android Application and Activity Lifecycles
- 19.1 Android Applications and Resource Management
- 19.2 Android Process States.
- 19.2.1 Foreground Process
- 19.2.2 Visible Process
- 19.2.3 Service Process
- 19.2.4 Background Process
- 19.2.5 Empty Process
- 19.3 Inter-Process Dependencies
- 19.4 The Activity Lifecycle
- 19.5 The Activity Stack
- 19.6 Activity States
- 19.7 Configuration Changes
- 19.8 Handling State Change
- 19.9 Summary
- 20. Handling Android Activity State Changes
- 20.1 New vs. Old Lifecycle Techniques
- 20.2 The Activity and Fragment Classes
- 20.3 Dynamic State vs. Persistent State
- 20.4 The Android Lifecycle Methods
- 20.5 Lifetimes
- 20.6 Foldable Devices and Multi-Resume
- 20.7 Disabling Configuration Change Restarts
- 20.8 Lifecycle Method Limitations
- 20.9 Summary
- 21. Android Activity State Changes by Example
- 21.1 Creating the State Change Example Project
- 21.2 Designing the User Interface
- 21.3 Overriding the Activity Lifecycle Methods
- 21.4 Filtering the Logcat Panel
- 21.5 Running the Application
- 21.6 Experimenting with the Activity
- 21.7 Summary
- 22. Saving and Restoring the State of an Android Activity
- 22.1 Saving Dynamic State
- 22.2 Default Saving of User Interface State
- 22.3 The Bundle Class
- 22.4 Saving the State
- 22.5 Restoring the State
- 22.6 Testing the Application
- 22.7 Summary
- 23. Understanding Android Views, View Groups and Layouts
- 23.1 Designing for Different Android Devices
- 23.2 Views and View Groups
- 23.3 Android Layout Managers
- 23.4 The View Hierarchy
- 23.5 Creating User Interfaces
- 23.6 Summary
- 24. A Guide to the Android Studio Layout Editor Tool
- 24.1 Basic vs. Empty Views Activity Templates
- 24.2 The Android Studio Layout Editor
- 24.3 Design Mode
- 24.4 The Palette
- 24.5 Design Mode and Layout Views
- 24.6 Night Mode
- 24.7 Code Mode
- 24.8 Split Mode
- 24.9 Setting Attributes
- 24.10 Transforms
- 24.11 Tools Visibility Toggles.
- 24.12 Converting Views.
- Notes:
- Includes index.
- Description based on print version record.
- Other Format:
- Print version: Smyth, Neil Android Studio Giraffe Essentials - Kotlin Edition
- ISBN:
- 9781951442767
- 1951442768
- OCLC:
- 1394119345
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.