万本电子书0元读

万本电子书0元读

顶部广告

Android Development with Kotlin电子书

售       价:¥

13人正在读 | 0人评论 9.8

作       者:Marcin Moskala,Igor Wojda

出  版  社:Packt Publishing

出版时间:2017-08-30

字       数:52.9万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Learn how to make Android development much faster using a variety of Kotlin features, from basics to advanced, to write better quality code. About This Book ? Leverage specific features of Kotlin to ease Android application development ? Write code based on both object oriented and functional programming to build robust applications ? Filled with various practical examples so you can easily apply your knowledge to real world scenarios ? Identify the improved way of dealing with common Java patterns Who This Book Is For This book is for developers who have a basic understanding of Java language and have 6-12 months of experience with Android development and developers who feel comfortable with OOP concepts. What You Will Learn ? Run a Kotlin application and understand the integration with Android Studio ? Incorporate Kotlin into new/existing Android Java based project ? Learn about Kotlin type system to deal with null safety and immutability ? Define various types of classes and deal with properties ? Define collections and transform them in functional way ? Define extensions, new behaviours to existing libraries and Android framework classes ? Use generic type variance modifiers to define subtyping relationship between generic types ? Build a sample application In Detail Nowadays, improved application development does not just mean building better performing applications. It has become crucial to find improved ways of writing code. Kotlin is a language that helps developers build amazing Android applications easily and effectively. This book discusses Kotlin features in context of Android development. It demonstrates how common examples that are typical for Android development, can be simplified using Kotlin. It also shows all the benefits, improvements and new possibilities provided by this language. The book is divided in three modules that show the power of Kotlin and teach you how to use it properly. Each module present features in different levels of advancement. The first module covers Kotlin basics. This module will lay a firm foundation for the rest of the chapters so you are able to read and understand most of the Kotlin code. The next module dives deeper into the building blocks of Kotlin, such as functions, classes, and function types. You will learn how Kotlin brings many improvements to the table by improving common Java concepts and decreasing code verbosity. The last module presents features that are not present in Java. You will learn how certain tasks can be achieved in simpler ways thanks to Kotlin. Through the book, you will learn how to use Kotlin for Android development. You will get to know and understand most important Kotlin features, and how they can be used. You will be ready to start your own adventure with Android development with Kotlin. Style and approach A step-by-step guide that is filled with numerous real-world examples.
目录展开

Title Page

Copyrights

Android Development with Kotlin

Credits

About the Authors

About the Reviewers

www.PacktPub.com

Why subscribe?

Customer Feedback

Preface

What this book covers

What you need for this book

Who this book is for

Conventions

Reader feedback

Customer support

Downloading the example code

Errata

Piracy

Questions

Beginning Your Kotlin Adventure

Say hello to Kotlin

Awesome Kotlin examples

Dealing with Kotlin code

Kotlin Playground

Android Studio

Configuring Kotlin for the project

Using Kotlin in a new Android project

Java to Kotlin converter (J2K)

Alternative ways to run Kotlin code

Kotlin under the hood

The Kotlin standard library

More reasons to use Kotlin

Summary

Laying a Foundation

Variables

Type inference

Strict null safety

Safe call

Elvis operator

Not null assertion

Let

Nullability and Java

Casts

Safe/unsafe cast operator

Smart casts

Type smart casts

Non-nullable smart cast

Primitive data types

Numbers

Char

Arrays

The Boolean type

Composite data types

Strings

String templates

Ranges

Collections

Statements versus expressions

Control flow

The if statement

The when expression

Loops

The for loop

The while loop

Other iterations

Break and continue

Exceptions

The try... catch block

Compile-time constants

Delegates

Summary

Playing with Functions

Basic function declaration and usages

Parameters

Returning functions

Vararg parameter

Single-expression functions

Tail-recursive functions

Different ways of calling a function

Default arguments values

Named arguments syntax

Top-level functions

Top-level functions under the hood

Local functions

Nothing return type

Summary

Classes and Objects

Classes

Class declaration

Properties

Read-write versus read-only property

Property access syntax between Kotlin and Java

Increment and decrement operators

Custom getters/setters

The getter versus property default value

Late-initialized properties

Annotating properties

Inline properties

Constructors

Property versus constructor parameter

Constructor with default arguments

Patterns

Inheritance

The JvmOverloads annotation

Interfaces

Data classes

The equals and hashCode method

The toString method

The copy method

Destructive declarations

Operator overloading

Object declaration

Object expression

Companion objects

Companion object instantiation

Enum classes

Infix calls for named methods

Visibility modifiers

Internal modifier and Java bytecode

Sealed classes

Nested classes

Import aliases

Summary

Functions as First-Class Citizens

Function type

What is function type under the hood?

Anonymous functions

Lambda expressions

Implicit name of a single parameter

Higher-order functions

Providing operations to functions

Observer (Listener) pattern

Callback after a threaded operation

Combination of named arguments and lambda expressions

Last lambda in argument convention

Named code surrounding

Processing data structures using LINQ style

Java SAM support in Kotlin

Named Kotlin function types

Named parameters in function type

Type alias

Underscore for unused variables

Destructuring in lambda expressions

Inline functions

The noinline modifier

Non-local returns

Labeled return in lambda expressions

Crossinline modifier

Inline properties

Function References

Summary

Generics Are Your Friends

Generics

The need for generics

Type parameters versus type arguments

Generic constraints

Nullability

Variance

Variance modifiers

Use-site variance versus declaration-site variance

Collection variance

Variance producer/consumer limitation

Invariant constructor

Type erasure

Reified type parameters

The startActivity method

Star-projections

Type parameter naming conventions

Summary

Extension Functions and Properties

Extension functions

Extension functions under the hood

No method overriding

Access to receiver elements

Extensions are resolved statically

Companion object extensions

Operator overloading using extension functions

Where should top-level extension functions be used?

Extension properties

Where should extension properties be used?

Member extension functions and properties

Type of receivers

Member extension functions and properties under the hood

Generic extension functions

Collection processing

Kotlin collection type hierarchy

The map, filter, flatMap functions

The forEach and onEach functions

The withIndex and indexed variants

The sum, count, min, max, and sorted functions

Other stream processing functions

Examples of stream collection processing

Sequence

Function literals with receiver

Kotlin standard library functions

The let function

Using the apply function for initialization

The also function

The run and with function

The to function

Domain-specific language

Anko

Summary

Delegates

Class delegation

Delegation pattern

Decorator pattern

Property delegation

What are delegated properties?

Predefined delegates

The lazy function

The notNull function

The observable delegate

The vetoable delegate

Property delegation to Map type

Custom delegates

View binging

Preference binding

Providing a delegate

Summary

Making Your Marvel Gallery Application

Marvel Gallery

How to use this chapter

Make an empty project

Character gallery

View implementation

Network definition

Business logic implementation

Putting it all together

Character search

Character profile display

Summary

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部