Expert android programming master skills to build enterprise grade android applications

Become a pro with the latest Android SDK and create state of the art applications for Android. About This Book Dive deep into Android development with practical hands on examples to help you in each stage. Develop smart professional grade apps for the latest Android N version and become a pro androi...

Descripción completa

Detalles Bibliográficos
Otros Autores: Mainkar, Prajyot, author (author)
Formato: Libro electrónico
Idioma:Inglés
Publicado: Birmingham, England ; Mumbai, [India] : Packt Publishing 2017.
Edición:1st edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009630672906719
Tabla de Contenidos:
  • Cover
  • Copyright
  • Credits
  • About the Author
  • About the Reviewer
  • www.PacktPub.com
  • Customer Feedback
  • Table of Contents
  • Preface
  • Chapter 1: Understanding the Gradle System
  • Stepping into the Gradle world
  • Adding Gradle to your app
  • Adding a new Gradle library
  • Adding a Gradle identifier
  • Adding as a module
  • Summary
  • Chapter 2: Exploring Android Studio Developer Tools
  • APK Analyzer
  • Reducing the APK file size with APK Analyzer
  • Understanding basic battery drain
  • Batterystats and Battery Historian
  • Memory Monitor
  • Wondering what the various causes of memory increase are?
  • Logcat
  • Summary
  • Chapter 3: Leap into the Android Support Library
  • The Android Support Library
  • v4 Support Library
  • v7 Support Library
  • Multidex Support library
  • v8 Support Library
  • v13 Support Library
  • Annotations Support Library
  • Design Support Library
  • Custom Tabs Support Library
  • Summary
  • Chapter 4: Google Play Services
  • The architecture
  • Google Maps
  • Summary
  • Chapter 5: Material Design
  • Wireframing and tools to gather feedback
  • Understanding the wireframing process (tangible and digital)
  • Material UI for Android developers
  • Building meaningful motions
  • Floating Action Button (FAB)
  • Implementing Search in Zomato
  • Building the UX Design
  • Understanding UX principles and how it's different from UI
  • Summary
  • Chapter 6: SOLID Android Development and Its Design Principles
  • Single Responsibility Principle
  • Open-Closed Principle
  • Liskov Substitution Principle
  • Interface Segregation Principle
  • Dependency Inversion Principle
  • Summary
  • Chapter 7: Understanding MVC, MVP, MVVM and Clean Arch Patterns
  • MVC (Model View Controller)
  • MVP (Model View Presenter)
  • MVVM
  • Clean Architecture Pattern
  • Understanding the layers of Clean Architecture
  • Summary.
  • Chapter 8: Decision Making
  • How to begin
  • Creational patterns
  • Builder
  • Dependency injection
  • Singleton
  • Structural patterns
  • Adapter
  • Facade
  • Behavioral pattern
  • Command
  • Observer
  • Model View Controller
  • Model View Presenter
  • Model View View-Model
  • Summing up MVP and MVC
  • Refactoring your app
  • What are the advantages of refactoring?
  • How is refactoring done?
  • When should you refactor?
  • What code needs to be refactored?
  • Bloaters
  • Object-orientation abusers
  • Change preventers
  • Dispensables
  • Data class
  • Couplers
  • How do I refactor my code?
  • Refactoring of methods
  • Extract method
  • Inline method
  • Extract variable
  • Inline temp
  • Replace temp with query
  • Split temporary variable
  • Remove assignments to parameters
  • Replace method with method object
  • Substitute algorithm
  • Summary
  • Chapter 9: Performance Matters
  • Improving display performances
  • Optimizing layouts
  • Optimizing layout hierarchies
  • Views on demand
  • Define a ViewStub
  • Improving scrolls and other elements in the app
  • Using a background thread
  • Holding view objects in a ViewHolder
  • Understanding network requests, computation and memory
  • Collecting, analyzing and optimizing the network and network traffic
  • Collection network traffic information
  • Taging network requests
  • Configuring a network test build type
  • Deploying the network test APK
  • Runing the network traffic tool
  • Analyzing Network Traffic Data
  • Analyzing network traffic types
  • Optimizing network use
  • Batching and Job Schedulers
  • JobInfo
  • JobService
  • JobScheduler
  • Effective use of Extended Doze and Standby
  • Understanding Doze
  • Doze restrictions
  • Adapting your app to Doze
  • Understanding App Standby
  • Testing with Doze and App Standby
  • Threads and Pools
  • Specifying the Code to Run on a Thread.
  • Creating a Thread Pool
  • Running Code on a Thread Pool Thread
  • Communicating with the UI Thread
  • Memory optimization
  • Treating Battery as part of user's experience
  • Understanding what causes battery drain
  • Why Battery Optimization is required?
  • Strategies for battery optimization
  • Effective consumption of battery in Zomato
  • Monitoring changes in charging state
  • Determining the current battery level
  • Improving app with battery analyser
  • Summary
  • Chapter 10: Building Restaurant finder
  • App sections
  • Splash, Login, and Signup (including Google and Facebook)
  • The Signup Flow
  • Discovery Screen
  • Database
  • Room
  • Summary
  • Chapter 11: Backend Service
  • Realtime Database
  • How to write a database structure
  • Add security to data structure
  • Firebase Cloud Messaging
  • Remote configuration
  • Authentication
  • Storage
  • Summary
  • Chapter 12: App Quality Service
  • Firebase Test Lab
  • Summary
  • Chapter 13: Grow Up
  • Dynamic links
  • App indexing
  • Admob
  • Banner Ads
  • Ad lifecycle event callbacks
  • Discouraged banner implementations
  • Recommended banner implementations
  • Interstitial Ads
  • Discouraged interstitial implementations
  • Interstitial ad implementations
  • Summary
  • Chapter 14: Testing
  • Testing Mechanisms (Functionality , Performance , Security , and Compatibility)
  • Software Testing Life Cycle (STLC)
  • Organizing for Software Testing
  • Integration Testing
  • Top-down integration testing
  • Bottom-up integration testing
  • Regression testing
  • Smoke testing
  • Acceptance Testing
  • Alpha test
  • Beta test
  • Performance Testing
  • Security Testing
  • Compatibility Testing
  • Automating User Interface Tests
  • Testing UI for a single app
  • Testing App using Espresso in Android Studio
  • Setting up Espresso in Android Studio
  • Create an Espresso Test Class
  • Specifying a View Matcher.
  • Performing Actions
  • Test your activities in isolation with Espresso Intents
  • Testing WebViews with Espresso Web
  • Verifying Results
  • Testing UI for Multiple Apps
  • Set Up the UI Automator
  • Inspecting the UI on a device
  • Ensuring your Activity is accessible
  • Selector Specification
  • Performing Actions
  • Tools and Techniques: Espresso and Monkeyrunner
  • Robotium
  • The UI Animator
  • Espresso
  • Monkeyrunner
  • Summary
  • Chapter 15: Preparing for Google Play
  • Versioning Your App
  • Generating a signed APK
  • Preconfiguring to automatically Sign Your APK
  • Android Instant Apps
  • Alpha and Beta testing the App
  • Preparing App Store Listing
  • Device Catalog
  • App signing
  • Android Vitals
  • User Feedback and Analytics
  • Summary
  • Chapter 16: Understanding App Store Analytics for Optimization
  • Keep an eye on Google Play policies
  • Get your app title right
  • Effectively using keywords in description
  • Does your icon reflect the app theme?
  • Are your app screenshots nailing it?
  • Video can be a crowd puller
  • Responding to reviews
  • Are you LOCALizing?
  • Summary
  • Index.