最新章節(jié)
- Summary
- Are you LOCALizing?
- Responding to reviews
- Video can be a crowd puller
- Are your app screenshots nailing it?
- Does your icon reflect the app theme?
品牌:中圖公司
上架時間:2021-07-08 09:22:35
出版社:Packt Publishing
本書數(shù)字版權(quán)由中圖公司提供,并由其授權(quán)上海閱文信息技術(shù)有限公司制作發(fā)行
- Summary 更新時間:2021-07-08 10:29:53
- Are you LOCALizing?
- Responding to reviews
- Video can be a crowd puller
- Are your app screenshots nailing it?
- Does your icon reflect the app theme?
- Effectively using keywords in description
- Get your app title right
- Keep an eye on Google Play policies
- Understanding App Store Analytics for Optimization
- Summary
- User Feedback and Analytics
- Android Vitals
- App signing
- Device Catalog
- Preparing App Store Listing
- Alpha and Beta testing the App
- Android Instant Apps
- Preconfiguring to automatically Sign Your APK
- Generating a signed APK
- Versioning Your App
- Preparing for Google Play
- Summary
- Monkeyrunner
- Espresso
- The UI Animator
- Robotium
- Tools and Techniques: Espresso and Monkeyrunner
- Performing Actions
- Selector Specification
- Ensuring your Activity is accessible
- Inspecting the UI on a device
- Set Up the UI Automator
- Testing UI for Multiple Apps
- Verifying Results
- Testing WebViews with Espresso Web
- Test your activities in isolation with Espresso Intents
- Performing Actions
- Specifying a View Matcher
- Create an Espresso Test Class
- Setting up Espresso in Android Studio
- Testing App using Espresso in Android Studio
- Testing UI for a single app
- Automating User Interface Tests
- Compatibility Testing
- Security Testing
- Performance Testing
- Beta test
- Alpha test
- Acceptance Testing
- Smoke testing
- Regression testing
- Bottom-up integration testing
- Top-down integration testing
- Integration Testing
- Organizing for Software Testing
- Software Testing Life Cycle (STLC)
- Testing Mechanisms (Functionality Performance Security and Compatibility)
- Testing
- Summary
- Interstitial ad implementations
- Discouraged interstitial implementations
- Interstitial Ads
- Recommended banner implementations
- Discouraged banner implementations
- Ad lifecycle event callbacks
- Banner Ads
- Admob
- App indexing
- Dynamic links
- Grow Up
- Summary
- Firebase Test Lab
- App Quality Service
- Summary
- Storage
- Authentication
- Remote configuration
- Firebase Cloud Messaging
- Add security to data structure
- How to write a database structure
- Realtime Database
- Backend Service
- Summary
- Room
- Database
- Discovery Screen
- The Signup Flow
- Splash Login and Signup (including Google and Facebook)
- App sections
- Building Restaurant finder
- Summary
- Improving app with battery analyser
- Determining the current battery level
- Monitoring changes in charging state
- Effective consumption of battery in Zomato
- Strategies for battery optimization
- Why Battery Optimization is required?
- Understanding what causes battery drain
- Treating Battery as part of user's experience
- Memory optimization
- Communicating with the UI Thread
- Running Code on a Thread Pool Thread
- Creating a Thread Pool
- Specifying the Code to Run on a Thread
- Threads and Pools
- Testing with Doze and App Standby
- Understanding App Standby
- Adapting your app to Doze
- Doze restrictions
- Understanding Doze
- Effective use of Extended Doze and Standby
- JobScheduler
- JobService
- JobInfo
- Batching and Job Schedulers
- Optimizing network use
- Analyzing network traffic types
- Analyzing Network Traffic Data
- Runing the network traffic tool
- Deploying the network test APK
- Configuring a network test build type
- Taging network requests
- Collection network traffic information
- Collecting analyzing and optimizing the network and network traffic
- Understanding network requests computation and memory
- Holding view objects in a ViewHolder
- Using a background thread
- Improving scrolls and other elements in the app
- Define a ViewStub
- Views on demand
- Optimizing layout hierarchies
- Optimizing layouts
- Improving display performances
- Performance Matters
- Summary
- Substitute algorithm
- Replace method with method object
- Remove assignments to parameters
- Split temporary variable
- Replace temp with query
- Inline temp
- Extract variable
- Inline method
- Extract method
- Refactoring of methods
- How do I refactor my code?
- Couplers
- Data class
- Dispensables
- Change preventers
- Object-orientation abusers
- Bloaters
- What code needs to be refactored?
- When should you refactor?
- How is refactoring done?
- What are the advantages of refactoring?
- Refactoring your app
- Summing up MVP and MVC
- Model View View-Model
- Model View Presenter
- Model View Controller
- Observer
- Command
- Behavioral pattern
- Facade
- Adapter
- Structural patterns
- Singleton
- Dependency injection
- Builder
- Creational patterns
- How to begin
- Decision Making
- Summary
- Understanding the layers of Clean Architecture
- Clean Architecture Pattern
- MVVM
- MVP (Model View Presenter)
- MVC (Model View Controller)
- Understanding MVC MVP MVVM and Clean Arch Patterns
- Summary
- Dependency Inversion Principle
- Interface Segregation Principle
- Liskov Substitution Principle
- Open-Closed Principle
- Single Responsibility Principle
- SOLID Android Development and Its Design Principles
- Summary
- Understanding UX principles and how it's different from UI
- Building the UX Design
- Implementing Search in Zomato
- Floating Action Button (FAB)
- Building meaningful motions
- Material UI for Android developers
- Understanding the wireframing process (tangible and digital)
- Wireframing and tools to gather feedback
- Material Design
- Summary
- Google Maps
- The architecture
- Google Play Services
- Summary
- Custom Tabs Support Library
- Design Support Library
- Annotations Support Library
- v13 Support Library
- v8 Support Library
- Multidex Support library
- v7 Support Library
- v4 Support Library
- The Android Support Library
- Leap into the Android Support Library
- Summary
- Logcat
- Wondering what the various causes of memory increase are?
- Memory Monitor
- Batterystats and Battery Historian
- Understanding basic battery drain
- Reducing the APK file size with APK Analyzer
- APK Analyzer
- Exploring Android Studio Developer Tools
- Summary
- Adding as a module
- Adding a Gradle identifier
- Adding a new Gradle library
- Adding Gradle to your app
- Stepping into the Gradle world
- Understanding the Gradle System
- Questions
- Piracy
- Errata
- Downloading the color images of this book
- Downloading the example code
- Customer support
- Reader feedback
- Conventions
- Who this book is for
- What you need for this book
- What this book covers
- Introduction
- Preface
- Customer Feedback
- Why subscribe?
- www.PacktPub.com
- About the Reviewer
- About the Author
- Credits
- Expert Android Programming
- Copyright
- Title Page
- coverpage
- coverpage
- Title Page
- Copyright
- Expert Android Programming
- Credits
- About the Author
- About the Reviewer
- www.PacktPub.com
- Why subscribe?
- Customer Feedback
- Preface
- Introduction
- What this book covers
- What you need for this book
- Who this book is for
- Conventions
- Reader feedback
- Customer support
- Downloading the example code
- Downloading the color images of this book
- Errata
- Piracy
- Questions
- 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
- 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
- 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
- Google Play Services
- The architecture
- Google Maps
- Summary
- 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
- SOLID Android Development and Its Design Principles
- Single Responsibility Principle
- Open-Closed Principle
- Liskov Substitution Principle
- Interface Segregation Principle
- Dependency Inversion Principle
- Summary
- 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
- 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
- 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
- Building Restaurant finder
- App sections
- Splash Login and Signup (including Google and Facebook)
- The Signup Flow
- Discovery Screen
- Database
- Room
- Summary
- Backend Service
- Realtime Database
- How to write a database structure
- Add security to data structure
- Firebase Cloud Messaging
- Remote configuration
- Authentication
- Storage
- Summary
- App Quality Service
- Firebase Test Lab
- Summary
- 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
- 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
- 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
- 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 更新時間:2021-07-08 10:29:53