IntelliJ Idea is a development environment that Android Studio was developed from. It was created by the firm JetBrains for multiple platforms including Linux, Windows, and Mac OS X. In this video, you'll explore Android Studio and IntelliJ IDEA, and see how the latter contains all the items you need to deploy basic Java. Since Google wants Android Studio to be the basis for all Android development, this video will show you the history of the application and the tools available inside.
Android Studio is based on a development environment called IntelliJ Idea. IntelliJ Idea is a leading Java IDE and it's published by a company called JetBrains. It's available for Windows, Mac OS X and Linux and can be downloaded from the website at www.jetbrains.com/idea. IntelliJ Idea is built for Java development. There are two editions. The community edition is completely free and includes everything you need to do basic Java development.
You can build console applications and by putting together all the libraries you need, you can build pretty much anything else. But there's also a more advanced edition called the ultimate edition that adds a lot more tools. There are database development tools, UML tools for diagramming Java code, web and enterprise development tools. This edition is not free. There's a license fee involved and you can find out more about the details of that version from the JetBrains website.
Android Studio is based on the free Community Edition and it's free as well. Android Studio was first announced at the Google I/O conference in May of 2013. It's been in continuous development since then. Google intends Android Studio to be the development environment of the future for all Android development. Eventually, it will replace Eclipse with the ADT or Android developer tools.
When this course was most recently updated, it was still in development. By the time the course is published in the lynda.com library, it's very likely that a more recent version will be available to you. I encourage you to use whatever is the most recent version. That means there may be some differences between what you see in your software and what I show on the screen. But it's best to work with the most recent version so you can get all the new features that Google is adding.
One important note about working through this course. Android Studio is early release software. It's a beta product and it continues to evolve. That means, like I said, that you might be using a later release than I am and you might see something different on your screen. But more importantly, there might, no, there will be bugs. It's expected that when software is in this state, that you'll see strange things happen.
That certain features might not work exactly the right way. And it might mean that versions of your own apps that you build in Android Studio might need to be refactored or rethought or reconstructed in a later version of Android Studio. Backward compatibility is not guaranteed. So, you should only use Android Studio for developing your production apps if you're willing to deal with those issues. But you will find that certain features in Android Studio work a whole lot better than they ever did in Eclipse.
If you decide to go back to Eclipse, no problem. Eclipse with the Android Developer Tools is still being maintained as of the time of this course being recorded. There is a clear path for taking Eclipse projects and migrating them into Android Studio. As of the time of this recording, there wasn't an easy path going backward in the other direction though. So I strongly recommend that you get started with Android Studio using sample or toy apps.
Apps that you're not planning to publish. Only move your production apps into Android Studio when you have the confidence that Android Studio's tools and its reliability are at the level that you expect.
Note: This course was revised on 8/20/2014 to reflect changes in the .0.8.4 beta version of Android Studio.
- Exploring Android Studio and IntelliJ IDEA
- Installing Android Studio
- Creating projects with Android Studio
- Navigating the user interface
- Designing activity layouts
- Analyzing and refactoring code
- Debugging and packaging apps