最新章節
- Summary
- Character profile display
- Character search
- Putting it all together
- Business logic implementation
- Network definition
品牌:中圖公司
上架時間:2021-07-02 18:16:09
出版社:Packt Publishing
本書數字版權由中圖公司提供,并由其授權上海閱文信息技術有限公司制作發行
- Summary 更新時間:2021-07-02 18:49:08
- Character profile display
- Character search
- Putting it all together
- Business logic implementation
- Network definition
- View implementation
- Character gallery
- Making an empty project
- How to use this chapter
- Marvel Gallery
- Making Your Marvel Gallery Application
- Summary
- Providing a delegate
- Preference binding
- View binging
- Custom delegates
- Property delegation to the Map type
- The vetoable delegate
- The observable delegate
- The notNull function
- The lazy function
- Predefined delegates
- What are delegated properties?
- Property delegation
- Decorator pattern
- The Delegation pattern
- Class delegation
- Delegates
- Summary
- Anko
- Domain-specific language
- The to function
- The run and with functions
- The also function
- Using the apply function for initialization
- The let function
- Kotlin standard library functions
- Function literals with a receiver
- Sequence
- Examples of stream collection processing
- Other stream processing functions
- The sum count min max and sorted functions
- The withIndex and indexed variants
- The forEach and onEach functions
- The map filter and flatMap functions
- The Kotlin collection type hierarchy
- Collection processing
- Generic extension functions
- Member extension functions and properties under the hood
- Types of receivers
- Member extension functions and properties
- Where should extension properties be used?
- Extension properties
- Where should top-level extension functions be used?
- Operator overloading using extension functions
- Companion object extensions
- Extensions are resolved statically
- Access to receiver elements
- No method overriding
- Extension functions under the hood
- Extension functions
- Extension Functions and Properties
- Summary
- Type parameter naming convention
- Star-projections
- The startActivity method
- Reified type parameters
- Type erasure
- Invariant constructor
- Variance producer/consumer limitation
- Collection variance
- Use-site variance versus declaration-site variance
- Variance modifiers
- Variance
- Nullability
- Generic constraints
- Type parameters versus type arguments
- The need for generics
- Generics
- Generics Are Your Friends
- Summary
- Function references
- Inline properties
- Crossinline modifier
- Labeled returns in lambda expressions
- Non-local returns
- The noinline modifier
- Inline functions
- Destructuring in lambda expressions
- Underscore for unused variables
- Type alias
- Named parameters in function types
- Named Kotlin function types
- Java SAM support in Kotlin
- Processing data structures using LINQ style
- Named code surrounding
- The last lambda in an argument convention
- Combination of named arguments and lambda expressions
- A callback after a threaded operation
- Observer (Listener) pattern
- Providing operations to functions
- Higher-order functions
- The implicit name of a single parameter
- Lambda expressions
- Anonymous functions
- What is function type under the hood?
- Function types
- Functions as First-Class Citizens
- Summary
- Import aliases
- Nested classes
- Sealed classes
- The internal modifier and Java bytecode
- Visibility modifiers
- Infix calls for named methods
- Enum classes
- Companion object instantiation
- Companion objects
- Object expression
- Object declaration
- Operator overloading
- Destructing declarations
- The copy method
- The toString method
- The equals and hashCode methods
- Data classes
- Interfaces
- The JvmOverloads annotation
- Inheritance
- Patterns
- Constructors with default arguments
- Properties versus constructor parameters
- Constructors
- Inline properties
- Annotating properties
- Late-initialized properties
- The getter versus property default value
- Custom getters/setters
- Increment and decrement operators
- Property access syntax between Kotlin and Java
- Read-write versus read-only
- Properties
- Class declaration
- Classes
- Classes and Objects
- Summary
- Nothing return type
- Local functions
- Top-level functions under the hood
- Top-level functions
- Named arguments syntax
- Default argument values
- Different ways of calling a function
- Tail-recursive functions
- Single-expression functions
- Vararg parameter
- Returning functions
- Parameters
- Basic function declaration and usage
- Playing with Functions
- Summary
- Delegates
- Compile-time constants
- The try... catch block
- Exceptions
- Break and continue
- Other iterations
- The while loop
- The for loop
- Loops
- The when expression
- The if statement
- Control flow
- Statements versus expressions
- Collections
- Ranges
- String templates
- Strings
- Composite data types
- The Boolean type
- Arrays
- Char
- Numbers
- Primitive data types
- Non-nullable smart cast
- Type smart casts
- Smart casts
- Safe/unsafe cast operator
- Casts
- Nullability and Java
- The let function
- Not-null assertion
- Elvis operator
- Safe call
- Strict null safety
- Type inference
- Variables
- Laying a Foundation
- Summary
- More reasons to use Kotlin
- The Kotlin standard library
- Kotlin under the hood
- Alternative ways to run Kotlin code
- Java to Kotlin converter (J2K)
- Using Kotlin in a new Android project
- Configuring Kotlin for the project
- Android Studio
- Kotlin Playground
- Dealing with Kotlin code
- Awesome Kotlin examples
- Say hello to Kotlin
- Beginning Your Kotlin Adventure
- Questions
- Piracy
- Errata
- Downloading the example code
- Customer support
- Reader feedback
- Conventions
- Who this book is for
- What you need for this book
- What this book covers
- Preface
- Customer Feedback
- Why subscribe?
- www.PacktPub.com
- About the Reviewers
- About the Authors
- Credits
- Android Development with Kotlin
- Copyrights
- Title Page
- cover
- cover
- 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
- The let function
- 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 usage
- Parameters
- Returning functions
- Vararg parameter
- Single-expression functions
- Tail-recursive functions
- Different ways of calling a function
- Default argument 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 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
- Properties versus constructor parameters
- Constructors with default arguments
- Patterns
- Inheritance
- The JvmOverloads annotation
- Interfaces
- Data classes
- The equals and hashCode methods
- The toString method
- The copy method
- Destructing declarations
- Operator overloading
- Object declaration
- Object expression
- Companion objects
- Companion object instantiation
- Enum classes
- Infix calls for named methods
- Visibility modifiers
- The internal modifier and Java bytecode
- Sealed classes
- Nested classes
- Import aliases
- Summary
- Functions as First-Class Citizens
- Function types
- What is function type under the hood?
- Anonymous functions
- Lambda expressions
- The implicit name of a single parameter
- Higher-order functions
- Providing operations to functions
- Observer (Listener) pattern
- A callback after a threaded operation
- Combination of named arguments and lambda expressions
- The last lambda in an argument convention
- Named code surrounding
- Processing data structures using LINQ style
- Java SAM support in Kotlin
- Named Kotlin function types
- Named parameters in function types
- Type alias
- Underscore for unused variables
- Destructuring in lambda expressions
- Inline functions
- The noinline modifier
- Non-local returns
- Labeled returns 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 convention
- 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
- Types of receivers
- Member extension functions and properties under the hood
- Generic extension functions
- Collection processing
- The Kotlin collection type hierarchy
- The map filter and 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 a receiver
- Kotlin standard library functions
- The let function
- Using the apply function for initialization
- The also function
- The run and with functions
- The to function
- Domain-specific language
- Anko
- Summary
- Delegates
- Class delegation
- The 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 the Map type
- Custom delegates
- View binging
- Preference binding
- Providing a delegate
- Summary
- Making Your Marvel Gallery Application
- Marvel Gallery
- How to use this chapter
- Making an empty project
- Character gallery
- View implementation
- Network definition
- Business logic implementation
- Putting it all together
- Character search
- Character profile display
- Summary 更新時間:2021-07-02 18:49:08