I'm not sure there's a "best" way to learn or even best course. It all depends on how you learn. Personally, I learn by doing. That means, install Android Studio, then run through a tutorial or two just to get a feel for it. After that, I take my idea and start implementing. For me, I usually think about what it is I want to do. For example, "I want to have a menu in the top right corner". Then, I go and look for specific information about how to accomplish that particular task. Eventually, it all starts coming together. That may not be the most efficient way of doing things, but it works for me.
One reason I do not recommend a particular course is because you never know how outdated it might be. Unless the course specifies, for all you know, the course could be covering Android development from two or three years ago. That wouldn't be good to learn. You want something more up-to-date.
I would say this: If you don't know Java or Kotlin, you may want to learn a bit about those, as Java is the native language for Android, and Kotlin is quickly becoming adopted. If you're interested in more cross-platform development, there are quite a few options for writing in Javascript and compiling to native code.
I'm not personally an Android or iOS developer, but I've done a little in both, writing my own app for personal use. Since I'm mainly a Windows user (because my job requires it), I find that Android development on Windows is painfully slow, so I have stayed away from it myself. However, the little bit I learned was by following the advice above. Fortunately, I know Java, so that was the easy part.