Expert Android Studio by Murat Yener and Onur Dundar
Book Details :
LanguageEnglish
Pages456
FormatPDF
Size50.9 MB


Expert Android Studio by Murat Yener and Onur Dundar



Expert Android Studio by Murat Yener and Onur Dundar | PDF Free Download.

Expert Android Studio Contents


  • Chapter 1 Getting Started
  • Chapter 2 Android Studio Basics 
  • Chapter 3 Android Application Development With Android Studio 
  • Chapter 4 Android Studio In Depth 
  • Chapter 5 Layouts with Android Studio 
  • Chapter 6 Android Build System 
  • Chapter 7 Multi-Module Projects 
  • Chapter 8 Debugging and Testing 
  • Chapter 9 Using Source Control: GIT 
  • Chapter 10 Continuous Integration 
  • Chapter 11 Using Android NDK with Android Studio 
  • Chapter 12 Writing Your Own Plugin 
  • Chapter 13 Third-Party Tools

Introduction to Expert Android Studio eBook


Why We Wrote This Book

In November 2007, Google released a preview version of Android SDK to allow developers to start playing with the new mobile operating system. Roughly two years later, in October 2009, ADT (Android Developer Tools) a plugin set for Eclipse, was released to the public.

As a Google, I/O 2009 attendee, I (Murat) was lucky enough to have an Android device and was probably one of the earliest developers to download and install the plugins to my Eclipse.

As years passed, we both followed the same passion to download and try new stuff released with new ADT versions. At the time, I was an Eclipse committer who knew how to write plugins, extend the IDE’s capabilities, and introduce the behavior and functionality I needed.

So with each release of ADT, I was more and more excited to see what had been done with the tools.

May 2013, at Google I/O, roughly four years after our love-hate relationship with ADT started, Google announced Android Studio, which soon became the official, supported IDE for Android development.

ADT was never perfect. but it was familiar. Like many other developers, we knew all the shortcuts, how things work, what to do when something was not working, workarounds, and how the projects were structured.

More significantly, we were able to write our own plugins or inspect ADT plugins to see why something went wrong. However, with the release of Android Studio, suddenly we were all in a new platform that we knew very little about.

We resisted switching to Android Studio for a while but finally gave it a try. Suddenly, Android, a platform we were long familiar with, was a stranger.

The new project structure was very different because of the changes introduced by IntelliJ and Gradle. To adopt IntelliJ, we decided to follow IntelliJ shortcuts instead of using IntelliJ shortcut mapping for Eclipse shortcuts, which made the situation even worse.

We were barely able to search for a file or piece of code, navigate through menus, right-click to create files or even generate some basic getters and setters.

We went from being experts with ADT to beginners with Android Studio. We had finally had enough! We were experienced developers, but struggled with Android Studio and were not able to show our skills.

So we started following IntelliJ talks, pinning the IntelliJ shortcut cheat sheet in our cubicles, reading IntelliJ plugin code, and forcing ourselves to use Android Studio in our daily work. This book is a summary of the lessons we learned walking unaided on this difficult path.

This book is what we needed for ourselves when we were switching from Eclipse-based ADT to IntelliJbased Android Studio.

This is why we believe any developer, whether an Android newbie or a seasoned Android developer who used to work on ADT, will find this book useful for developing his or her knowledge of the tools that are actually there to support his or her coding skills.

No matter how good you are at writing code, without proper knowledge of Integrated Development Environments (IDEs), you will face many obstacles.

This book covers Google’s Android Studio, the official tool for developing Android applications. Each chapter focuses on a specific topic, progressing from the basics of how to use the IDE to advanced topics such as writing plugins to extend the capabilities of the IDE.

Who This Book Is For

This book is for developers with any level of experience. Whether you are new to Android or a seasoned Android developer who used Eclipse-based ADT before, this book will bring you to a level where you can unleash your true development potential by making use of Android Studio’s tools.

What This Book Covers

This book not only covers features of Android Studio essential for developing Android apps but also touches on topics related to the whole development cycle. The following are just a few examples of the topics covered that are basic to Android Studio or that extend its capabilities:

  • Sharing and versioning your code with Git
  • Managing your builds with Gradle
  • Keeping your code maintainable and bug-free with testing
  • Controlling the whole build and test cycle with Continuous Integration
  • Writing plugins for Android Studio to extend its capabilities and add desired custom features
  • Using third-party tools with Android Studio to improve the development process
  • How This Book Is Structured

Each chapter focuses on a specific topic related to Android Studio or an accompanying tool by explaining why it is needed and how it is used or configured. Some chapters provide code samples to demonstrate the use case or provide an example of the topic.

Chapter 1: Getting Started: Installing and setting up your development environment. Creating an emulator for running your projects. 

Chapter 2: Android Studio Basics: Beginning with Android Studio, creating a new project, building your project, and migrating projects to Android Studio.

Chapter 3: Android Application Development with Android Studio: Structure of Android Studio projects. How to use assets, XML files, and the Android Manifest. Creating and working with modules. 

Chapter 4: Android Studio In-Depth: Deep dive into Android Studio, explaining menus, editors, views, and shortcuts. How to use live templates and refactoring. How to build your projects and sign asks. 

Chapter 5: Layouts with Android Studio: How to use layouts with Android Studio. Explanation of previews and tools for UI development. Managing external dependencies. How to use and organize assets. 

Chapter 6: Android Build System: How to use and configure Gradle effectively. Writing plugins for Gradle 

Chapter 7: Multi-Module Projects: Adding modules in your project. How to create and work with Phone/Tablet, Library, Wear, TV, Glass, Auto, and Cloud modules. 

Chapter 8: Debugging and Testing: Debugging Android code with ADB. Learn details of the Android Devices Monitor, Android virtual devices, Lint, and testing your code. 

Chapter 9: Using Source Control: GIT: How to share your project and enable version control by using Git. 

Chapter 10: Continuous Integration: Automating your builds, tests, and releases using continuous integration servers. 

Chapter 11: Using Android NDK with Android Studio: Installing and using Android NDK for building projects with C/C++ code. 

Chapter 12: Writing Your Own Plugins: Writing your own plugins to extend the capabilities of the IntelliJ platform. Interact with UI, editor, and add your actions. 

Chapter 13: Third-Party Tools: Other accompanying tools that can help and speed the development lifecycle

What You Need to Use This Book

Any modern computer with an operating system that is supported by Android SDK and Android Studio is sufficient to use Android Studio, build Android apps, and run the samples given in this book.

You need to install appropriate Android SDK, Android Studio, and Java Virtual Machine (JVM) for your OS. Some chapters require additional tools or frameworks to be installed such as Android NDK. You can find more information on the exact hardware requirements needed in Chapter 1.

Foreword to Expert Android Studio PDF


When my brother and I were growing up in leafy, suburban England, my father relied on that old proverb.

My brother and I often found excuses to avoid the admittedly small number of chores we were asked to do, and we placed the blame for not completing the task at hand on an inanimate object that couldn’t answer back.

This proverb was my father’s standard response to our excuses, and it immediately negated our protestations.

As I’ve gotten older, I have learned that there is far more wisdom in this old proverb than merely getting young boys to complete their chores.

It is not just about ensuring that you have the right tools for the task at hand, but it is also about having the knowledge of how to use them effectively which is key to being productive.

If you think about the standard tools in a handyman’s toolkit, it is pretty clear to most people that a hammer is not the most appropriate tool to remove a screw from a piece of wood, but as tools become more complex and refined, these distinctions become less clear.

In the Android development world, the de-facto standard development tool is Android Studio, not least because it is under extremely active development by Google the same organization responsible for Android itself.

Since the early preview versions arrived in May 2013, the feature set has grown quite considerably and continues to do so at an impressive rate.

If we also consider that Android Studio is built on the foundations of IntelliJ IDEA—which is already an extremely feature-rich development environment then it should be pretty clear that any analogies with hammers or screwdrivers are going to break down rather quickly.

Rather than comparing Android Studio with individual tools, it is, perhaps, better to consider it as the entire toolbox, which contains lots of individual tools that can sometimes be used individually, sometimes be used together

But, when used effectively, we can simplify and speed up many of our everyday development tasks including the really mundane or repetitive ones that we all hate! Modern software development is so much more than simply writing code, and this is especially true on Android.

The main logic of your app may be written in Java. You also have resources (which are largely XML-based) such as vector drawables (which incorporate SVG path data into that XML), build files (which are groovy/grade files), and test source code (which is Java with test domain-specific dialects such as Espresso, Fest, or Hamcrest).

This is before you start considering frameworks that change the syntax and flow of your code, such as Rx, and even alternate languages that are gaining traction, such as Kotlin. Mastery of all of this can be hard.

The ability to “context switch” between different components, languages, frameworks and dialects is made much easier by basic features such as code highlighting and pre-compilation, which show errors inline as you code.

But we are so used to these that we hardly notice them, and because they have become second nature to us, context switching itself becomes second nature.

While using the tools available until they become second nature is important, a prerequisite for that is actually knowing what tools there are and how to use them effectively.

That is where this book comes in. Murat and Onur have provided a guide to Android Studio and its many facets that will be of great value to both the novice and the seasoned Android Studio user alike.

Download Expert Android Studio by Murat Yener and Onur Dundar in PDF Format For Free.