Simplifying Android Development with Coroutines and FlowsCoroutines and flows are the new recommended way for developers to carry out asynchronous programming in Android using simple, modern, and testable code. This book will teach you how coroutines and flows work and how to use them in building Android applications, along with helping you to develop modern Android applications with asynchronous programming using real data.
The book begins by showing you how to create and handle Kotlin coroutines on Android. You'll explore asynchronous programming in Kotlin, and understand how to test Kotlin coroutines. Next, you'll learn about Kotlin flows on Android and have a closer look at using Kotlin flows by getting to grips with handling flow cancellations and exceptions and testing the flows.
By the end of this book, you'll have the skills you need to build high-quality and maintainable Android applications using coroutines and flows. ...
Mobile App Reverse EngineeringMobile App Reverse Engineering is a practical guide focused on helping cybersecurity professionals scale up their mobile security skills. With the IT world's evolution in mobile operating systems, cybercriminals are increasingly focusing their efforts on mobile devices. This book enables you to keep up by discovering security issues through reverse engineering of mobile apps.
This book starts with the basics of reverse engineering and teaches you how to set up an isolated virtual machine environment to perform reverse engineering. You'll then learn about modern tools such as Ghidra and Radare2 to perform reverse engineering on mobile apps as well as understand how Android and iOS apps are developed. Next, you'll explore different ways to reverse engineer some sample mobile apps developed for this book. As you advance, you'll learn how reverse engineering can help in penetration testing of Android and iOS apps with the help of case studies. The concluding chapters will ...
Kickstart Modern Android Development with Jetpack and KotlinWith Jetpack libraries, you can build and design high-quality, robust Android apps that have an improved architecture and work consistently across different versions and devices. This book will help you understand how Jetpack allows developers to follow best practices and architectural patterns when building Android apps while also eliminating boilerplate code.
Developers working with Android and Kotlin will be able to put their knowledge to work with this condensed practical guide to building apps with the most popular Jetpack libraries, including Jetpack Compose, ViewModel, Hilt, Room, Paging, Lifecycle, and Navigation. You'll get to grips with relevant libraries and architectural patterns, including popular libraries in the Android ecosystem such as Retrofit, Coroutines, and Flow while building modern applications with real-world data.
By the end of this Android app development book, you'll have learned how to leverage Jetpack libraries and y ...
Practical Forensic Analysis of Artifacts on iOS and Android DevicesLeverage foundational concepts and practical skills in mobile device forensics to perform forensically sound criminal investigations involving the most complex mobile devices currently available on the market. Using modern tools and techniques, this book shows you how to conduct a structured investigation process to determine the nature of the crime and to produce results that are useful in criminal proceedings.
You'll walkthrough the various phases of the mobile forensics process for both Android and iOS-based devices, including forensically extracting, collecting, and analyzing data and producing and disseminating reports. Practical cases and labs involving specialized hardware and software illustrate practical application and performance of data acquisition (including deleted data) and the analysis of extracted information. You'll also gain an advanced understanding of computer forensics, focusing on mobile devices and other devices not classifiable as laptops, desktops, ...
Clean Android ArchitectureAs an application's code base increases, it becomes harder for developers to maintain existing features and introduce new ones. In this clean architecture book, you'll learn to identify when and how this problem emerges and how to structure your code to overcome it.
The book starts by explaining clean architecture principles and Android architecture components and then explores the tools, frameworks, and libraries involved. You'll learn how to structure your application in the data and domain layers, the technologies that go in each layer, and the role that each layer plays in keeping your application clean. You'll understand how to arrange the code into these two layers and the components involved in assembling them. Finally, you'll cover the presentation layer and the patterns that can be applied to have a decoupled and testable code base.
By the end of this architecture book, you'll be able to build an application following clean architecture principles and have the kno ...
Programming Android with KotlinDeveloping applications for the Android mobile operating system can seem daunting, particularly if it requires learning a new programming language: Kotlin, now Androidâ??s officialdevelopment language. With this practical book, Android developers will learn how to make the transition from Java to Kotlin, including how Kotlin provides a true advantage for gaining control over asynchronous computations.
Authors Pierre-Olivier Laurence, Amanda Hinchman-Dominguez, G. Blake Meike, and Mike Dunn explore implementations of the most common tasks in native Android development, and show you how Kotlin can help you solve concurrency problems. With a focus on structured concurrency, a new asynchronous programming paradigm, this book will guide you through one of Kotlin's most powerful constructs, coroutines.
Learn about Kotlin essentials and the Kotlin Collections Framework; Explore Android fundamentals: the operating system and the application container and its ...
Developing Inclusive Mobile AppsBy failing to consider those with needs different to ourselves, we are telling these people they are not welcome in our app, and therefore that technology as a whole, is not for them. This is not hyperbole - 23% of people in the US with a registered disability aren't online at all, that's three times more likely than the general population. When asked why they're not online, disabled respondents say their disability prevents them or that using the internet is too hard.
To help your apps combat the issue of digital exclusion, this book covers considerations and tools mobile developers, or anyone creating mobile experiences, can use to make mobile work better for those with disabilities - mental or physical - and how to create a better experience for everyone. Software is not made up of cold, unthinking algorithms. Software is a craft in the truest sense of the word, and one of the greatest tools you can have as a craftsperson is empathy for the people who will be using your app. Each ...
Android Notes for ProfessionalsThe Android Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow. ...
Native Mobile DevelopmentLearn how to make mobile native app development easier. If your team frequently works with both iOS and Android - or plans to transition from one to the other - this hands-on guide shows you how to perform the most common development tasks in each platform. Want to learn how to make network connections in iOS? Or how to work with a database in Android? This book has you covered.
In the book's first part, authors Shaun Lewis and Mike Dunn from O'Reilly's mobile engineering group provide a list of common, platform-agnostic tasks. The second part helps you create a bare-bones app in each platform, using the techniques from part one.
Common file and database operations; Network communication with remote APIs; Application lifecycle; Custom views and components; Threading and asynchronous work; Unit and integration tests; Configuring, building, and running an app on a device. ...
Programming KotlinProgrammers don't just use Kotlin, they love it. Even Google has adopted it as a first-class language for Android development. With Kotlin, you can intermix imperative, functional, and object-oriented styles of programming and benefit from the approach that's most suitable for the problem at hand. Learn to use the many features of this highly concise, fluent, elegant, and expressive statically typed language with easy-to-understand examples. Learn to write maintainable, high-performing JVM and Android applications, create DSLs, program asynchronously, and much more.
Kotlin is a highly concise, elegant, fluent, and expressive statically typed multi-paradigm language. It is one of the few languages that compiles down to both Java bytecode and JavaScript. You can use it to build server-side, front-end, and Android applications. With Kotlin, you need less code to accomplish your tasks, while keeping the code type-safe and less prone to error. If you want to learn th ...
React Native in ActionReact Native in Action gives iOS, Android and web developers the knowledge and confidence they need to begin building high-quality iOS and Android apps using the React Native framework.
React Native gives mobile and web developers the power of and. Write your app once and easily deploy it to iOS and Android and the web. React Native apps compile into platform-specific code, reducing development time, effort, and cost! And because you're using JavaScript and the React framework, you benefit from a huge ecosystem of tools, expertise, and support.
React Native in Action teaches you to build high-quality cross-platform mobile and web apps. In this hands-on guide, you'll jump right into building a complete app with the help of clear, easy-to-follow instructions. As you build your skills, you'll drill down to more-advanced topics like styling, APIs, animations, data architecture, and more! You'll also learn how to maximize code reuse without sacrificing native plat ...