Cargando…

RxJava for Android Developers /

RxJava for Android Developers begins by inviting you to think about programming and data the reactive way. This engaging, hands-on essential reference introduces you to the central pattern of RxJava for Android, then explains the View Model before exploring highly sought-after app features like chat...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Tuominen, Timo (Autor)
Autor Corporativo: Safari, an O'Reilly Media Company
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Manning Publications, 2019.
Edición:1st edition.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)

MARC

LEADER 00000cam a2200000Ma 4500
001 OR_on1102387188
003 OCoLC
005 20231017213018.0
006 m o d
007 cr cnu||||||||
008 190508s2019 xx o 000 0 eng
010 |a  2019285155 
040 |a AU@  |b eng  |e pn  |c AU@  |d C6I  |d VT2  |d OCLCO  |d OCLCF  |d OCLCQ  |d OCLCO  |d COO  |d YDX  |d UKAHL  |d OCLCO  |d OCLCQ  |d OCLCO 
019 |a 1115084384  |a 1126090783  |a 1153041005  |a 1192344737  |a 1240523943 
020 |a 1617293369  |q (paperback) 
020 |a 9781617293368 
020 |z 9781617293368 
024 8 |a 9781617293368 
029 0 |a AU@  |b 000065276821 
035 |a (OCoLC)1102387188  |z (OCoLC)1115084384  |z (OCoLC)1126090783  |z (OCoLC)1153041005  |z (OCoLC)1192344737  |z (OCoLC)1240523943 
050 1 4 |a QA76.774.A53  |b .T86 2019 
082 0 4 |a 005.13/3  |2 23 
049 |a UAMI 
100 1 |a Tuominen, Timo,  |e author. 
245 1 0 |a RxJava for Android Developers /  |c Tuominen, Timo. 
250 |a 1st edition. 
264 1 |b Manning Publications,  |c 2019. 
300 |a 1 online resource (512 pages) 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
347 |a text file 
505 0 |a Machine generated contents note: pt. 1 Core reactive programming -- 1. Introduction to reactive programming -- Perhaps you picked up this book because ... -- Don't read this book if ... -- OOP, Rx, FP, and FRP -- Benefits of Rx -- What you code is what you get -- The reactive landscape -- What do you need to know before you start? -- About this book -- RxJava 2 and Android -- Setting up the Android environment -- Java 8 lambdas -- Deep dive into Rx: Live search -- Project setup -- Text input as an emitter of data -- The publish-subscribe pattern -- Text input as an observable -- Filtering observables -- Bending time -- Bending time to your benefit -- Debounce: The bus stop operator -- Putting your code into Android -- Principles of reactive programming -- Events and marble diagrams -- 2.Networking with observables -- RxJava and event streams -- Subscribers -- RxJava 2 observable types -- Subscribing to and converting different observables 
505 0 |a Note continued: What happens when you make a normal network request? -- What happens when you make a network request with an observable? -- Network request as an observable -- Example: An RSS feed aggregator -- The feed structure -- Getting the data -- The combineLatest operator -- The Rx code so far -- Asynchronous data processing chains -- Putting the list in order -- The map operator -- Brief introduction to immutability -- Error handling -- Adding more feeds to the client -- 3. Building data processing chains -- Different roles of observables -- Events vs. reactive state -- Internal state of an observable -- Arrow diagrams and different observable types -- Example: Credit card validation form -- First step: Expiration date -- Credit card number type and checksum -- CVC code validation -- Putting it all together -- The abstraction level of reactive programming -- How RxJava works -- 4. Connecting the user interface with networking -- Subscriptions explained 
505 0 |a Note continued: Terminating subscriptions -- RxJava 2 concepts and subscription management -- Advanced Rx chains example: Flickr search client -- Setting up the Flickr client project -- Overview of the search chain -- Step 1 A simple hardcoded search -- Making it click -- Implementing the reactive chain -- How switchMap works -- Getting thumbnail information -- Step 1 Expand the list into an observable -- Step 2 Apply operations to each item individually -- Step 3 Collect results -- The complete solution -- Adding a username from another API -- 5. Advanced RxJava -- Observables and subjects in detail -- Example: File browser -- User flow of the File Browser app -- Getting the file listing for a directory -- Threading basics -- Threading in functional programming -- Changing the thread by using getFileListingObservable -- Making the file listing dynamic -- Making the list click -- Different types of subjects -- Using a subject as the FileObservable 
505 0 |a Note continued: Adding buttons for Previous and Root -- Expanded graph for Previous and Root -- Improved version with cleaner observables -- The Previous button -- Putting it all together -- The detailed graph -- The full code so far -- Saving and releasing the subscriptions -- A final note on subjects -- pt. 2 Architectures in RxJava -- 6. Reactive view models -- The view layer -- Platform containers -- View models -- The blueprint of a view model -- Connecting views and view models -- The whole picture -- View model lifecycle -- View models and the Android lifecycles -- The view affinity of the code -- 7. Reactive architectures -- Fundamentals of reactive architectures -- Model-View-View model -- Reactive model -- Retrieving data from the model -- Coffee break -- Revising the file browser -- Constructing the model for the file browser -- Using the model -- Rules of the model and its consumers -- Single source of truth -- Persisting app state 
505 0 |a Note continued: BehaviorSubjects and stores -- Simple SharedPreferencesStore -- 8. Developing with view models -- View models and the view -- Example: Tic-tac-toe -- Drawing the game grid -- Making it interactive -- Events vs. reactive state -- Immutable data and the game grid -- Adding the code for interaction -- Wrapping the logic into a view model -- Click coordinate processing -- Changing turns -- Filtering illegal moves -- Winning conditions -- One more thing: Restarting the game -- 9. Expanding existing Rx apps -- Working with existing reactive code -- The game of Connect Four -- Updating grid size and assets -- Checking for valid moves -- Saving and loading the game -- Creating the model -- Sharing the model -- Loaded games activity -- PersistedGameStore -- Saving games -- Loading games -- 10. Testing reactive code -- Reactive architectures and testing -- Test granularity -- The pyramid of dependencies -- Unit-testing basics -- Testing reactive chains 
505 0 |a Note continued: TestObservable class -- Synchronous or asynchronous -- Writing tests for view models -- Choosing what to test -- Testing the GameViewModel initial state -- Testing partial observable chains -- Testing Connect Four drop logic -- pt. 3 Advanced RxJava architectures -- 11. Advanced architectures: Chat client 1 -- Chat client with WebSockets -- How to transfer messages -- WebSockets -- WebSockets as broadcasters -- Connecting to the server -- ChatMessage structure -- Sending ChatMessages -- Wrapping listeners into observables -- Basic Ul -- Showing messages -- The view model -- Accumulating ChatMessages -- Putting together message processing -- Consuming values from the view model -- View model lifecycle -- Making the view model lifecycle -- 12. Advanced architectures: Chat client 2 -- View models, stores, and the model -- Message pending state -- Handling state updates -- Store as an aggregator -- The code for the store -- Implementing pending messages 
505 0 |a Note continued: Replacing pending messages with confirmed ones -- Updated store code -- Pending state handling code -- The model -- The code for the model -- Model lifecycle -- Singleton modules -- Android tools for production use -- 13. Transitions with Rx -- Transitioning between states -- How it should have been -- Animation progress using one number -- Reactive parametrization -- Example: The fan widget -- Setting the transformations for the child views -- Animating with RxJava and Android -- Code changes to FanView -- The view model -- View model logic -- Animating parametrized values in view models -- animateTo operator -- animateTo operator on Android -- Adding a dimmed background -- 14. Making a maps client -- Maps example -- Getting started with map tiles -- Making an initial view model -- Calculating tiles based on zoom level -- Using the offset to move tiles -- Dragging the map -- The code so far -- Viewport and hiding tiles -- Loading map tiles 
505 0 |a Note continued: Adding zoom-level controls -- Adding support for map coordinates. 
520 |a RxJava for Android Developers begins by inviting you to think about programming and data the reactive way. This engaging, hands-on essential reference introduces you to the central pattern of RxJava for Android, then explains the View Model before exploring highly sought-after app features like chat clients and elegant transitions. Finally, you'll look at high-level design concerns and architectural approaches and frameworks that work well with Functional Reactive Programming (FRP) thinking. 
542 |f © 2019 Manning Publications Co. All rights reserved.  |g 2019 
550 |a Made available through: Safari, an O'Reilly Media Company. 
590 |a O'Reilly  |b O'Reilly Online Learning: Academic/Public Library Edition 
630 0 0 |a Android (Electronic resource) 
630 0 7 |a Android (Electronic resource)  |2 fast 
650 0 |a Java (Computer program language) 
650 0 |a Application software  |x Development. 
650 6 |a Java (Langage de programmation) 
650 6 |a Logiciels d'application  |x Développement. 
650 7 |a Application software  |x Development  |2 fast 
650 7 |a Java (Computer program language)  |2 fast 
710 2 |a Safari, an O'Reilly Media Company. 
776 0 8 |i Print version:  |a Tuominen, Timo.  |t RxJava for Android Developers.  |b 1st edition.  |d Manning Publications, 2019  |w (DLC) 2019285155 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781617293368/?ar  |z Texto completo (Requiere registro previo con correo institucional) 
938 |a Askews and Holts Library Services  |b ASKH  |n AH39609079 
938 |a YBP Library Services  |b YANK  |n 302272680 
994 |a 92  |b IZTAP