Muutke küpsiste eelistusi

E-raamat: Pro Android with Kotlin: Developing Modern Mobile Apps with Kotlin and Jetpack

  • Formaat: EPUB+DRM
  • Ilmumisaeg: 23-Dec-2022
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781484287453
  • Formaat - EPUB+DRM
  • Hind: 67,91 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: EPUB+DRM
  • Ilmumisaeg: 23-Dec-2022
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781484287453

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Intermediate to Advanced

Develop Android apps with Kotlin to create more elegant programs than the Java equivalent. This revised book covers the various aspects of a modern Android app that professionals are expected to encounter. You'll use the latest Kotlin APIs as made available in most recent versions of the Android SDK. 

There are chapters dealing with all the important aspects of the Android platform, including GUI design, file- and data-handling, coping with phone calls, multimedia apps, interaction with location and mapping services, monetizing apps, and much more. Jetpack will also be covered. It is a suite of libraries to help developers follow best practices, reduce boilerplate code, and write code that works consistently across Android versions and devices.

Pro Android with Kotlin, Second Edition is an invaluable source for developers wanting to build real-world, state-of-the-art Android apps for modern Android devices using the Kotlin programming language and its APIs as available in the modern Android SDK.  After reading this book, you'll come away with the skills and techniques to build modern Android apps that you can sell on Google Play. Free source code is available on this book's Github page as well. 

What You Will Learn
  • Integrate activities, such as intents, services, notifications and more, into your Android apps
  • Build UIs in Android using layouts, widgets, lists, menus, and action bars
  • Deal with data in your Android apps using data persistence and cloud access
  • Design for different Android devices
  • Create multimedia apps in Android
  • Secure, deploy, and monetize your Android apps

Who This Book Is For
Professional Android app developers.
About the Author xvii
About the Technical Reviewer xix
Preface xxi
Introduction xxiii
Chapter 1 System
1(6)
The Android Operating System
1(2)
The Development System
3(4)
Android Studio
3(1)
Virtual Devices
4(2)
The SDK
6(1)
Chapter 2 Application
7(6)
Tasks
9(1)
The Application Manifest
10(3)
Chapter 3 Activities
13(18)
Declaring Activities
14(2)
Starting Activities
16(1)
Activities and Tasks
17(1)
Activities Returning Data
18(2)
Intent Filters
20(5)
Intent Action
21(1)
Intent Category
21(1)
Intent Data
22(1)
Intent Extra Data
23(1)
Intent Flags
23(1)
System Intent Filters
24(1)
Activities Lifecycle
25(3)
Preserving State in Activities
28(3)
Chapter 4 Services
31(20)
Foreground Services
32(1)
Background Services
33(1)
Declaring Services
33(4)
Service Classes
37(1)
Starting Services
38(1)
Binding to Services
39(5)
Data Sent by Services
44(3)
Service Subclasses
47(1)
Services Lifecycle
48(1)
More Service Characteristics
49(2)
Chapter 5 Broadcasts
51(20)
Explicit Broadcasts
51(5)
Explicit Local Broadcasts
52(2)
Explicit Remote Broadcasts
54(1)
Explicit Broadcasts Sent to Other Apps
55(1)
Implicit Broadcasts
56(9)
Intent Filter Matching
57(3)
Active or On-Hold Listening
60(1)
Sending Implicit Broadcasts
61(1)
Receiving Implicit Broadcasts
62(1)
Listening to System Broadcasts
63(2)
Adding Security to Broadcasts
65(4)
Securing Explicit Broadcasts
65(2)
Securing Implicit Broadcasts
67(2)
Sending Broadcasts from the Command Line
69(1)
Random Notes on Broadcasts
70(1)
Chapter 6 Content Providers
71(56)
The Content Provider Framework
71(1)
Providing Content
72(24)
Initializing the Provider
73(1)
Querying Data
73(3)
Modifying Content
76(2)
Finishing the ContentProvider Class
78(1)
Registering the Content Provider
78(5)
Designing Content URIs
83(1)
Building a Content Interface Contract
84(3)
A Cursor Class Basing on AbstractCursor and Co
87(3)
A Cursor Class Basing on the Cursor Interface
90(1)
Dispatching URIs Inside the Provider Code
90(1)
Providing Content Files
91(3)
Informing Listeners of Data Changes
94(1)
Extending a Content Provider
95(1)
Client Access Consistency by URI Canonicalization
96(1)
Consuming Content
96(18)
Using the Content Resolver
97(2)
Accessing System Content Providers
99(14)
Batch-Accessing Content Data
113(1)
Securing Content
114(3)
Providing Content for the Search Framework
117(1)
Documents Provider
117(10)
Chapter 7 Permissions
127(18)
Permission Types
128(1)
Defining Permissions
129(1)
Using Permissions
130(5)
Acquiring Permissions
135(3)
System-Managed Permission Requests
138(2)
Acquiring Special Permissions
140(2)
Feature Requirements and Permissions
142(2)
Permission Handling Using a Terminal
144(1)
Chapter 8 APIs
145(112)
Databases
145(18)
Configuring Your Environment for Room
146(1)
Room Architecture
146(1)
The Database
147(1)
Entities
147(2)
Relationships
149(2)
Nested Objects
151(1)
Using Indexes
152(1)
Data Access: DAOs
153(3)
Observable Queries
156(3)
Database Clients
159(2)
Transactions
161(1)
Migrating Databases
161(2)
Scheduling
163(10)
JobScheduler
165(4)
AlarmManager
169(4)
Notifications
173(16)
Creating and Showing Notifications
176(2)
Adding Direct Reply
178(4)
Notification Progress Bar
182(1)
Expandable Notifications
183(1)
Rectifying Activity Navigation
183(1)
Grouping Notifications
184(2)
Notification Channels
186(2)
Notification Badges
188(1)
Contacts
189(22)
Contacts Framework Internals
189(1)
Reading Contacts
190(11)
Writing Contacts
201(6)
Using Contacts System Activities
207(1)
Using Quick Contact Badges
208(3)
Search Framework
211(14)
The Searchable Configuration
211(1)
The Searchable Activity
212(1)
The Search Dialog
213(2)
The Search Widget
215(2)
Search Suggestions
217(8)
Location and Maps
225(13)
Last Known Location
226(3)
Tracking Position Updates
229(3)
Geocoding
232(4)
Using ADB to Fetch Location Information
236(1)
Maps
236(2)
Preferences
238(19)
Chapter 9 User Interface
257(106)
Background Tasks
257(6)
Java Concurrency
258(1)
The AsyncTask Class
259(1)
Handlers
259(1)
Loaders
260(1)
Coroutines
260(1)
Loading Data in ViewModels
261(2)
Supporting Multiple Devices
263(4)
Screen Sizes
264(1)
Pixel Densities
265(1)
Declare Restricted Screen Support
265(1)
Detect Device Capabilities
266(1)
Programmatic Ul Design
267(11)
Adding Views Manually
268(2)
Using Jetpack Compose Builders
270(8)
Adapters and List Controls
278(4)
Styles and Themes
282(2)
Fonts in XML
284(2)
2D Animation
286(9)
Auto-animating Layouts
287(1)
Animated Bitmaps
287(1)
Property Animation
288(2)
View Property Animator
290(1)
Spring Physics
290(1)
Transitions
291(1)
Start an Activity Using Transitions
292(2)
Animation in Jetpack Compose
294(1)
Fast Graphics OpenGL ES
295(42)
Showing an OpenGL Surface in Your Activity
296(1)
Creating a Custom OpenGL View Element
297(2)
A Triangle with a Vertex Buffer
299(3)
A Quad with a Vertex Buffer and an Index Buffer
302(5)
Creating and Using a Renderer
307(2)
Projection
309(14)
Motion
323(1)
Light
324(3)
Textures
327(8)
User Input
335(2)
Fast Graphics with Vulkan
337(1)
UI Design with Movable Items
337(1)
Menus and Action Bars
338(5)
Options Menu
339(1)
Context Menu
340(2)
Contextual Action Mode
342(1)
Popup Menus
342(1)
Progress Bars
343(1)
Working with Fragments
344(4)
Creating Fragments
345(1)
Handling Fragments from Activities
346(1)
Communicating with Fragments
347(1)
App Widgets
348(4)
Drag-and-Drop
352(6)
Defining Drag Data
353(1)
Defining a Drag Shadow
353(1)
Starting a Drag
354(1)
Listening to Drag Events
355(3)
Multitouch
358(1)
Picture-in-Picture Mode
359(1)
Text-to-Speech
360(3)
Chapter 10 Firebase
363(4)
Firebase Cloud Storage
363(1)
Firebase Cloud Messaging
364(3)
Chapter 11 Development
367(30)
Writing Reusable Libraries in Kotlin
367(5)
Starting a Library Module
368(1)
Creating the Library
368(1)
Testing the Library
369(1)
Using the Library
370(1)
Publishing the Library
371(1)
Advanced Listeners Using Kotlin
372(2)
Multithreading
374(2)
Compatibility Libraries
376(2)
Kotlin Best Practices
378(14)
Functional Programming
379(2)
Top-Level Functions and Data
381(1)
Class Extensions
382(2)
Named Arguments
384(1)
Scoping Functions
385(1)
Nullability
386(1)
Data Classes
387(1)
Destructuring
388(1)
Multiline String Literals
389(1)
Inner Functions and Classes
389(1)
String Interpolation
390(1)
Qualified "this"
390(1)
Delegation
391(1)
Renamed Imports
392(1)
Kotlin on JavaScript
392(5)
Creating a JavaScript Module
392(3)
Using the JavaScript Module
395(2)
Chapter 12 Building
397(16)
Build-Related Files
397(1)
Module Configuration
398(4)
Module Common Configuration
402(1)
Module Build Variants
403(7)
Build Types
403(2)
Product Flavors
405(2)
Source Sets
407(3)
Running a Build from the Console
410(1)
Signing
411(2)
Chapter 13 Communication
413(50)
ResultReceiver Classes
413(2)
Communication with Back Ends
415(9)
Communication with HttpsURLConnection
416(3)
Networking with Volley
419(3)
Setting Up a Test Server
422(2)
Android and NFC
424(13)
Talking to NFC Tags
425(2)
Peer-to-Peer NFC Data Exchange
427(1)
NFC Card Emulation
428(9)
Android and Bluetooth
437(26)
A Bluetooth RfComm Server
438(3)
An Android RfComm Client
441(22)
Chapter 14 Hardware
463(118)
Programming with Wearables
463(38)
Wearables Development
464(2)
Wearables App User Interface
466(1)
Wearables Faces
467(1)
Adding Face Complications
468(17)
Providing Complication Data
485(4)
Notifications on Wearables
489(3)
Controlling App Visibility on Wearables
492(1)
Authentication in Wear
493(1)
Voice Capabilities in Wear
493(4)
Speakers on Wearables
497(1)
Location in Wear
498(1)
Data Communication in Wear
498(3)
Programming with Android TV
501(15)
Android TV Use Cases
501(1)
Starting an Android TV Studio Project
502(1)
Android TV Hardware Features
503(1)
UI Development for Android TV
503(2)
Recommendation Channels for Content Search
505(4)
A Recommendation Row for Content Search
509(5)
Android TV Content Search
514(1)
Android TV Games
515(1)
Android TV Channels
516(1)
Programming with Android Auto and Automotive OS
516(1)
Playing and Recording Sound
516(9)
Short Sound Snippets
517(3)
Playing Media
520(4)
Recording Audio
524(1)
Using the Camera
525(43)
Taking a Picture
525(5)
Recording a Video
530(2)
Writing Your Own Camera App
532(36)
Android and NFC
568(1)
Android and Bluetooth
568(1)
Android Sensors
568(5)
Retrieving Sensor Capabilities
569(1)
Listening to Sensor Events
569(4)
Interacting with Phone Calls
573(6)
Monitoring Phone State Changes
573(5)
Initiate a Dialing Process
578(1)
Create a Phone Call Custom UI
579(1)
Fingerprint Authentication
579(2)
Chapter 15 Testing
581(18)
Unit Tests
582(8)
Standard Unit Tests
582(1)
Unit Tests with a Stubbed Android Framework
583(1)
Unit Tests with a Simulated Android Framework
584(1)
Unit Tests with Mocking
585(5)
Integration Tests
590(8)
Testing Services
591(1)
Testing Intent Services
592(3)
Testing Content Providers
595(1)
Testing Broadcast Receivers
596(2)
User Interface Tests
598(1)
Chapter 16 Troubleshooting
599(10)
Logging
599(3)
Debugging
602(1)
Performance Monitoring
603(2)
Memory Usage Monitoring
605(4)
Chapter 17 Distributing Apps
609(4)
Android App Bundle
609(1)
Your Own App Store
609(1)
The Google Play Store
610(3)
Chapter 18 Instant Apps
613(2)
Developing Instant Apps
613(2)
Chapter 19 CLI
615(10)
The SDK Tools
615(3)
The SDK Build Tools
618(4)
The SDK Platform Tools
622(3)
Appendix: Text Companion 625(214)
Index 839
Peter Späth graduated in 2002 as a physicist and soon afterward became an IT consultant, mainly for Java related projects. In 2016 he decided to concentrate on writing books on various subjects, with a primary focus on software development. With a wealth of experience in Java-related languages, the release of Kotlin for building Android Apps made him enthusiastic about writing books for Kotlin development in the Android environment.