2016-01-04

According to IDC, the Android Market share is currently higher than Android. This is one of the reasons that we at CloudRail realised our Android SDK before the iOS one.

Developing for Android can be a bit more complicated than iOS development (but is still not an insurmountable mountain to climb). This is because of the variety of Android devices. With iOS, you only have to worry about a few OS versions and a few different screen sizes. You can also be pretty sure of the specs of the phones that are running your application. With Android though, your app interfaces need to be adaptable to multiple screen sizes and specifications.

As an aside, this is why we developed the CloudRail Universal API SDK for Android before iOS. Programming for Android is already more complicated without having to worry about integrating different SDKs and APIs into an application.

But we are also aware that many developers, or even people not used to programming, might be wondering how to start coding for Android. So, here is a guide for the best resources online to get you started on your mobile app making journey. Make it your new years resolution to crack the Android Market.

Tutorials

Xavier’s Robin Amazing Free PDF

When you sort reddit/r/android by top posts of all time, the amazing Xavier Tobin Android Tutorial is the very first (and third) post you will see, for a very good reason.

Completely free, the 19 page PDF will take you through everything you need to know to make your very first Android App, all the way from setting up to Android Studio (the best interface to program for Android in) to writing lines of Java. Every bit of code, and core concepts, is explained in an easy going way that complete beginners can understand.

Sure, the example app you make through this PDF might be not the most exciting; something that just goes through a list of famous quotations. But, most basic tutorials are exactly the same in having very unexciting basic programs. What this guide will do is give you all the tools that you need to understand other example Android programs, as well as enough knowledge to just simply start playing around with code yourself.

One advice for this guide (and in fact all others); where it says to copy and paste the code, instead make the effort to type it out in the Android Development Environment. This allows you to gain a feeling of the language and will also help you to take notice of every line of code while learning it.

Android Development for Beginners and Developing Android Apps –

Developed by the Android team themselves, these two courses are aimed at different levels.

If you have no programming experience in Java (or other object-oriented programming languages), you will want to start with the Android Development for Beginners Udacity course. Although there is a large button which says “Start Free Trial”, the course materials are actually completely free; you will want to scroll down to see this button. If you have a block of 14 days free though, it is possible to run through the whole course during the trial.

For those who do have object-oriented programming experience, there is instead the Developing Android Apps Udacity course. This is the one that presumes that you already have some knowledge of Java.

As both of these courses have been developed by Google in Partnership with Udacity, you can be sure of their quality and that they are completely up to date with how Google see the best way of programming Android Applications to be.

NewCircle Training Courses

Although over a year old, the NewCircle Training Android Series is one of the best Android tutorials available on YouTube. This is another course that presumes that you have no prior knowledge off programming, and will take you through all of the basics that you need to get started.

Unlike many others, the course does also take you through some of cool items you can access when developing for mobiles as opposed to desktops, such as the location sensors on an Android device. This means that you will be able to find out how to use all of the features of someone’s device early on in your development for Android carrier.

After watching and following along with the course, you will also probably want to check out another NewCircle’s Android videos, “What I Wish I knew when I started” guide. This will allow you to skip the common pitfalls that most first time android developers have, while still learning the lessons normally gained from these mistakes.

Android Studio for Beginners

Another great YouTube Studio, the Android Studio Tutorial for Beginners is a bit of a misnomer, as it actually takes you all through every single step of programming. This has very much been made for beginners, but it moves along at a fast pace. Although it doesn’t go into quite as much detail as the NewCircle Training Courses, it is more recent. So, if you decide to follow only one of these YouTube series, you have to make a decision; do you want to follow along with an old video series, and maybe have to Google certain elements but get a clear programming foundation that will take you really far, or do you want to follow along with this particular series, be able to get started straight away, but potentially struggle with understanding core programming concepts.

Lynda Android Courses

If you don’t mind paying for your Android learning (and with the money you can make on the app store, you are likely to make it all back anyway), then there is no better option for paid video tutorials than the Linda courses.

For complete beginners, there is both “Developing Android Apps Essential Training” and “Up and Running with Java Applications”.

One advantage of using Lynda over other video tutorials is the fact that is paid. This means that Lynda have a budget to make sure that their videos are professionally produced, clear (both in terms of voice and script), and knowledgeable. In fact, if it wasn’t for the paid aspect of it, the Linda series of Android Videos would be recommended over all other videos in this Android resource guide.

Ray Wenderlich – Android Development

If you already know your way around a coding environment, maybe because you have programmed for iOS devices before, and just require a quick overview of what is different in Android, then you will want to take a look at the Ray Wenderlich Getting Started with Android Development guide.

This gives one amazing overview that gets you up and running with the Android Development Studio straight away. As a word of caution, occasionally while running through the set up you may have to do some Google searches or check out the comments on the article when you come across something that has changed in the newer versions.

After a clearly articulated guide on the development environment, Wenderlich goes into clear, and great, details on where exactly to put each line of code, and why the Android method of programming requires each bit to go where.

Unity Courses

If your focus in getting into Android is to develop games, or VR apps, then you will probably be working with Unity. Unity is a game engine that includes an easy way to export files to mobile phone formats, including Android.

One thing to be aware of with Unity is that the programming languages it uses will not be the same ones you use if you decide to go into main programming. Instead of Java, in Unity you can either code in C# or a custom coding language for Unity called UnityScript (which is kind-of based on Javascript).

However, if you are sure that your focus is going to be just on making games, then you can not go wrong with following the official Unity courses. All of them will take you through the concepts of programming though example games.

Of particular note is the virtual reality section. Unity has become the go-to for creating VR apps, for a very good reason. The Cardboard and Oculus SDKs (think of SDKs as like plugins for now) are very quick and easy to install in Unity.

Learn Java Online

However, if you are focused on learning application development instead of just apps, it isn’t a bad idea to focus on Java at the start. Although if you are just wanting to get into mobile programming, you might want to just dive in, deciding to learn to make a few programs in pure Java first will help break down the complexities of learning Android, and will help you gain good practices for when you are ready to open up Android Development Studio for the first time.

One of the best websites to learn Java on is Learn Java Online. When learning any programming language, it is important to be working with code examples as soon as possible to start reinforcing the concepts you learn, and the Learn Java Website has a code editor on every page that allows you to try out the sample code you are given, as well as work on the exercises that the website gives.

University of Helsinki’s Object Oriented Course

If you come from a non-object oriented background, then finding a great resource to get used to the complexities of object-orientated programming is a god-send. The University of Helsinki have an Excellent Object-Oriented Online Course that is incredibly easy to follow along to.

Another large advantage is that if you are learning how to program for career opportunities, or maybe already work in a development company, is that the course also focuses on how to operate in an industry like environment, using Java in the same context and in the same environments as you would do if you were within a firm programming.

Following along with the University of Helsinki will give you a strong foundation in Java that will not only help you immensely when creating Android, but in any other form of app development that you decide to spend your time doing.

Vogel/a Android Tutorial

Based on Android version 5.0, this is one amazing tutorial to go through to kick start your android development. Unlike many other tutorials, it also takes you though one of the important items of high level Android Programming, that of speed optimizations for the Android Emulator. When you are starting off, it is likely that you will be running your apps multiple times to debug any new code that you have written.

Additionally, it also takes you through the process of creating widgets and live wallpapers, which many other tutorials simply gloss over. This means that your android development knowledge will contain everything that you could possibly want to do when creating an android app.

Books

It is always recommended to learn programming or any other technical topic online. This is because the pace of things in the development world moves so fast that it is important to be aware of the dates of what you are reading, and to be able to view comments and other people’s reactions to see if there have been updates since the guide has been written.

But, sometimes, it is better to read a book and work through the exercises to learn programming. This allows you to have a single focus, without the distraction of multiple messaging tabs. For those who do like book learning, the top books for learning Android development are:

Head First Series

The Head First series is, for me personally, my favourite series of programming books and I would recommend them over all others. This is because of the way the books use memetic devices, images, and other tricks of memory research, to help you retain and absorb the information in them.

If you already know a bit of Java, you can go straight into reading Head First Android Development. However, as this book does also presume that you have some knowledge in Java, if you are not already aware of how to program in this language, you will also want to purchase a copy of Head First Java to get you acquainted with the language.

Learning Java by Building Android Games

If, on the other hand, you don’t know any Java, and want to learn it at the same time as Android development, then a great book to buy is Learning Java by Building Android Games

This book isn’t just for those who want to learn Android Development. Instead, it takes you through the process that you will need to go through to be able to create any kind of Android App. It just uses learning to create games as a demonstration of core Java and Android concepts.

This book is aimed at complete and utter beginners. It takes you by the hand through every single step, including setting up Android Development studio, presuming that you have no prior knowledge at all.

One of the few problems with how this book approaches topics though is that it doesn’t try to explain every single concept. Although this is great for getting you up and running, when you get into building your own Android applications and games, you might find that the gaps in your knowledge are prohibiting you from being the best android programmer you can be. You will probably find you asking lots of questions on the android communities (of which we have also provided a list of the best ones below in this article)

Unity Android Game Development by Example

If you know that your focus is going to be on creating games for Android, you can not go wrong with the Unity Android Game Development by Example Beginner’s Guide book.

Made for beginners, this book will take you through all the steps that is needed to create games for Android using the most popular engine, Unity.

Although this book is amazing at teaching complete beginners the in and outs of Unity, you have to be aware when you guy this that you are making a commitment to only make games for Android until you pick up another book or work through some other tutorials. This is because the book teaches you to code in C#, which is a completely different language to what Android Development Studio (and most Android applications) use.

Hello, Android

The Hello Android book is frequently cited as one of the top books for learning Android. However, there is a caveat for this. Although it does attempt to take you through learning Java as well, it does presume that you do have some prior programming experience. Furthermore, when it tries to describe the features unique to Java as opposed to other languages, the book falls shorts at making great explanations.

However, Hello, Android is unrivaled in how easily it describes Android concepts. Ed Burnette, the author, is amazing at explaining the unique quirks of items such as activities, and how the Android system manages applications. He also installs great practices straight from the start in which areas of an android application to put your code, and how to manage certain events that can happen within the android system.

Programming Android – O’Reilly

While all the books above try to take a no-jargon based method into teaching android programming, even those that presume you know a little bit about programming, Programming Android is made for those who not just aren’t afraid with technical jargon, but are actually quite comfortable in it.

Naturally, with this attitude in the book, you will need experience of programming in either Objective-C or Java, but if you are an accomplished user in that, there is no better way than this book to get an understanding of all of the technical parts of Android programming that you need to know.

Android 6 for Programmers

One of the few books that deals with Android version six, Android 6 for Programmers: An App-Driven Approach” is an amazingly up-to-date book, that is only second best at describing all the new features found in Android 6.0 Marshmallow to The Internet.

Like the last two books, this one presumes that you already have some development experience. However, it takes a unique approach to teaching Android (which, actually, honestly shouldn’t be that unique). The book contains eight example programs, full of highly annotated code examples, modifications, etc, taking you through android development through the way you will be using it; in creating well functioning applications.

Another great feature of this book is that it also takes you through the different steps of publishing onto the Google Play store, and the different monetization capabilities that you have with them, and gibes up to date advice on marketing both through social media marketing and app store optimisation (ASO)

Android User Interface Design

Learning how to programming isn’t the only step in creating great android applications. Something that developers, even accomplished ones, sometimes forget is the importance of creating great designs.

This is why the Android User Interface Design book is a very important one for any Android developer to have on their bookshelf. This book presumes that you have absolutely no design experience, and takes you through making an amazing user interface within Android Experience step by step.

If you are dubious about investing time to learn design, think about this; a user will not see how great you are at coding when they first load up your application. And they will not see it when they are moving around it. Instead, the thing they will see is how you have chosen to display your application. In fact, when browsing new applications on the play store, or online, the first thing a user will actually see before even installation is your design. a good first impression will often be the difference between gaining a user (or a sale) and losing it.

Mastering Android Application Development

Okay, so this isn’t a beginner book, but once you have worked through one application, it is important to read about all of the advanced practices that you need to keep in mind, because this way you will be able to know the best practices at the time you need them, even if you have to flip to Internet resources or back to Mastering Android Application Development

This book is built for people who have already made some android applications, and want to know how to build things that can compete with, and beat, the variety of other applications on the Android market.

One of the best chapters of this book is that which deals with obtaining analytics from your application. With the collection methods detailed in this book, you will be able to obtain a variety of data which will allow you to update your applications to better fit the users you have currently got and have lost. For example, you will be able to spot if one of the activity screens in your application is too complex for most users.

Android Programming: Pushing the Limits

Another book to read after you have mastered the basics of Android Development, Android Programming: Pushing the Limits is a book firmly aimed at, in it’s own words, “people who can build a simple Android App in an hour.”

However, even if you aren’t at that level, just as with Mastering Android Application Development, it is very important that you keep in mind best practices when building apps that are being published for public consumption.

Another great thing about reading these kinds of books after you have got the basics down is that it allows you to quickly see what it possible, allowing you to generate a lot of ideas ready for your future projects.

How NOT to Write an App

Humorous title aside, How NOT to Write an App is actually a great look into practices that you need to be aware of when creating any Android application.

This book is aimed at all app developers, so the information in it is just as useful for Android as it is for iOS, Windows Phone, and any other mobile device.

The first apps you crate re likely to just be for yourself, so you can get used to the way in which Android Programming works. But, once you progress beyond this stage and start making apps for other people to use, you will want to have read this book to make sure that you include everything in it that users expect.

Android Communities to get Additional Help in

No matter what course you follow or what resources you use, chances are you will have many questions throughout the course of your android career. Here are the best communities to go to to ask your programming and development questions.

The Android Developers Subreddit – reddit.com/r/androivdev

No resource of communities is complete without including Reddit. The Android Development Subreddit is located at https://www.reddit.com/r/androiddev/, and is an amazing resource to get you on your way (as long as you can avoid switching over to /r/pics or /r/funny).

With, at the time of writing, 45,000 you can be sure that any questions you submit will be answered. Of course, if you use the search functions, chances are you will find that someone has already asked about the same problem you are having.

Users of all level post on here, from complete beginners looking for the best way to get started, to advanced developers looking for ways to optimise already optimised code.

It is also a great place to subscribe to for any breaking Android Development news. The only way to get any news faster is to be refreshing the official channels constantly The moment something is announced, you can be sure that someone has posted it here only two minutes since the announcement.

Stack Overflow – Android Section

Whereas the Android Subreddit is the place to get feed back on all elements of your Android Learning Career, Stack Overflow is the place to go when you have something nitty gritty to solve in your code.

In the Stack Overflow community, users gain points for answering questions, and will gladly look over your code for you and help you as long as you follow a few guidelines.

First of all, you do need to include a code sample of what you are working on. No general questions are allowed here. You have to show that you have been trying to solve the problem yourself.

Secondly, you will need to check that someone else hasn’t already asked (and had their similar) question answered; stack overflow hates duplicate posts in their community.

However, once you have followed all of these rules, you will find an invaluable resource. Stack Overflow doesn’t just fix the bugs in your code and point you in the right there. The users there make real efforts to educate users in why something works, or in why code doesn’t work. It’s just like having a thousand tutors mark your home work with detailed notes on what’s wrong.

Android Community – Google +

Although Google+ might be dead as a social network in terms of Facebook like scale, communities are bursting with activity on it. Although there are many Google+ groups for Android Developers, one of the best one is the official >Android Developers Google+ Community.Once you have developed your first application, this is an amazing place to get some feedback on what you have done. Additionally, just like the Reddit Android Development Community, users of all levels, from complete beginners to professional app developers.

It is also a great community to join and flick through when you are looking for inspiration for an android project. Many of the items posted on it are quick prototypes, or a quick look into recently developed apps.

XDA Developer Forums – For Comfortable Programmers

For Android developers that have become confident in their coding, there is the XDA developer forums. This is one of the most active communities in Android. If a phone can be rooted, the method of how was probably developed by a member here first.

Because of this, the XDA developer forum is somewhere to go once you have your first two or so apps created. It is the best place to go once you have outgrown beginner resources and are on your way to becoming intermediate with Android programming.

The XDA developer forums isn’t just useful for Android programming practically every single Android device has a sub-forum there, and all topics relating to Android (and in fact, other phones, but usually in the light of compassions to Android) can be discussed there.

From location for developers is the App Development Forums, and there you won’t just find information on how to program your app. The section also offers an active community talking about testing, design, and an often appreciated area of application making, marketing.

Android Central – Smaller, Homely

The Germans have an untranslatable word, “gemütlichkeit”, which invokes images of hanging around a camp fire with good friends, glühwein, chatting and laughing. That is one of the best ways to describe the Android Central Forums

Just like XDA developers, it is not just focused on Android Programming, but instead also contains loads of sub forums about all aspects of Android, including individual phones, different android versions, etc. However, it is very much smaller than XKDA, which can actually be a good thing as XDA can sometimes feel like a community full of faceless people, whereas on Android Central you start learning personalities of people.

Two of the better areas of the Android Development section is both the developer spotlight and developer beta testing areas. These are the best places to go to get some instant feedback on your applications, allowing you to quickly expose it to an audience of android enthusiasts and quickly iron any bugs within your code.

Für echter Deutscher – Android Developers.de

My German is not amazing, but hopefully the title is grammatically correct!

The Android-Developers.de is the biggest German speaking developer forum. One of the best areas of this is the “Konzeptentwicklung/Concept Development” areas, which isn’t found in any of the communities above. In this area, you can simply talk about the logic steps of your application. This allows you to get feedback on if you have the right way of doing something before you start writing any code.

There is also a great “anfängerfragen / Beginner Questions” area, which is one of the friendliest places to go for true beginners at Android Development.

As with other development forums, there are also sections devoted to other areas of android, meaning that this is also a great place for Germans to go who would like to speak about Android topics in general in their native language (or even for people who just want to practice their German)

Unity Android Development Forums

If you have decided that your main goal is to program Android games, then you will probably want to join a forum that is focused around Unity. There is no better place to get help for this kind of Android Development than the official Unity forums.

As everyone on the forum is focused on Unity development, you are much more likely to get the kind of answers that you are looking for during the unity and game development tasks than if you were to ask on a general Android forum.

Furthermore, sometimes the Unity SDK can be a little temperamental. For this reason, these forums are also an invaluable resource to search for, even if you don’t join the community, for any error messages or problems that you may have in building a Unity powered Android application.

Dream in Code – Not just Android Development

There are many different skills that you need to learn during the Android development process, not JUST Android programming. For example, you are likely going to have to learn the best way to create user interfaces. Or create the best algorithms to use for sorting through various data structures.

Although the Dream in Code Android Section is incredibly useful for all topics of Android Sections, if you decide to enter the community, you shouldn’t just hang out in this area. By venturing into the other areas, you will be able to ask questions and read solutions to common programming problems, such as Game Theory, auto complete search solutions, and much more.

So, if you are also looking for a place where you can grow your general programming skills, not just Android Development, then Dream in Code is a perfect community to participate in.

Making Money with Android – What it says on the tin

Of course, once you have mastered the art of creating Android Applications, then the next step is working out how to make money from your new applications or games. Although many of the communities listed above do have a section on how to market and monetise your application, the Making Money with Android forums is the best way to get feed back on all aspects of earning money.

It is also a great inspirational source. One of the busiest sections is the “Income Reports” area, in which the users will post how their current activity has done.

Not only that, you can also get instant feedback on how the forum perceive the marketing and earning potential of any new app ideas that you generate, and get a lot of instant feed back on any app development that you do.

Code Ranch Android Development – Great for complete beginners

The Code Ranch Android Forums are provided by the authors of Head First Android Development. As most of the users have discovered it from reading the introductory books, you can be assured that the users on it understand what it is like to be a complete beginner to the world of Android programming.

For this reason, it is a great and friendly place to go to when you are starting out. Everyone on it understands what it is like to be completely new, and how overwhelming (at times) the idea of Android programming can be.

Furthermore, CodeRanch also has areas for other programming tasks, such as General Java help, or ways to make with Databases, making it another great resource to stretch out your programming skills further

Other Resources and Tools

CloudRail

A (small) bit of self-promotion is never bad!

Our particular tool, the CloudRail Universal API, allows you to add many different online services to your android applications.

When you add a service, such as Dropbox or Facebook, typically you need to look through the service provider’s website, read through reams of documentation, and struggle to work out how exactly to add this particular service. This might be alright and manageable if you are adding only one service to your application, but when you move onto adding many more, for example deciding to integrate Twitter, LinkedIn, and many other services, then you have a massive time sync.

With CloudRail, you can simply select everyone you want to add in an online interface, and add a small file into the Android Development Studio. From there, you can then easily add the features of these services into your application.

You can either explore the rest of the CloudRail site to learn more, or simply sign up here for free and get started straight away.

Tasker and Tasker App Factory – Quick Prototyping

Sometimes, when you have a program you want to develop, you want to get a quick prototype into your hands straight away without having to fire up the Android Development Environment. For this, you can use the paid app Tasker and it’s associated (free) program Tasker App Factory

Tasker allows you to set up actions and responses to almost everything that an Android phone can do. In fact, for some Android users, it is their first taste of programming. Using Tasker, you can also create screens which is the equivalent of designing an interface for your application, and access Tasker actions based on how a user interacts with these screens.

All of this means that you can actually quickly make some very basic applications straight on your mobile phone. This will allow you to gain an appreciation of how your application could work before you even fire up the Android IDE.

Android Vocabulary Glossary

Provided by Google for the Udacity course above, the Android Vocabulary Glossary helps to take all the work of remembering what might be to some people complex words and terminology.

Of course, the website is completely mobile optimised, which means that you can always load it up on a phone or tablet and keep it handy while reading other guides online, or while reading a book. This will become invaluable in decoding the meaning of particularly complex sentences and paragraphs throughout your learning

FluidUI – For Quick Android Design

The website FluidUI allows you to quickly build the UI of an Android app. As talked about above, the UI is actually one of the most important things to consider when designing and making an Android app, as this will be the very first thing the user will see and defines exactly how they can interact with whatever great code you have added behind the scenes.

Using Fluid UI, you can get an easy to use, graphical way to design your Android app, allowing you to make sure you get the first part right before starting to write the layout of your application in the Android IDE.

Although there are paid plans involved with Fluid, you are able to design ten pages of your applications (without using any custom resources such as your own graphics) on Fluid, which should be more than enough for most beginner applications.

GitHub – for managing your code

Wherever you are coding alone, or as part of a team, GitHub is one of the best ways to manage your project.

Before the days of GitHub and other such systems, developers would often have many folders on their computers to keep each major and minor change in applications in. With GitHub, you don’t have to worry about keeping multiple files on your computer for each different version of your project. This makes it easy to roll back to an earlier version of your application if something goes drastically wrong.

Amazon Testing Service – For Debugging

Once you have something that seems to be complete, you still have to work through the problems of debugging and testing the application to make sure that everything is working as it should.

Amazon offer an amazing, online service that allows you to upload your APK and it will then go ahead and attempt to test everything in the application for you. The Amazon App Testing Service does this by trying to navigate all screens, pressing all buttons, trying out different combinations of check boxes, etc.

Although in n way a replacement for getting many different users to try out your application, the Amazon app testing service is a great way to try glaring bugs and massive problems out of the way before showing your work to even a single user.

Infinum – List of great libraries

Once you get far enough into Android Development, you will want to make use of an array of different custom libraries. This will help you simplify your Android Coding and development time.

There has been a great list of libraries published by Infinum which will allow you to add a lot of features to your applications without having to code them all from complete scratch.

For example, using some of the libraries in this great curated list, you can make it easy to retrieve data from a data base and load images from online sources.

When you get to the part where you can use all of the features provided by libraries into your projects, you would waste a lot of time unless you do, so even if you are a complete beginner, it is also worth taking a look at this list, and others, to find out what is possible now.

appScreenShotMaker – For Presenting Your Application

Once you have fully built your application, the next step is to make sure that it is looking it’s best within the app store. It’s not just enough to provide screenshots these days, you will also want to have typographically pleasing text, great backgrounds, and the frame of a phone around it.

This is where appScreenshotMaker comes in. Using this online application, you can help to frame your application in the best possible light to all users.

Although playing around with the tool is completely free, there is a one off charge of $3 USD to be able to remove the website’s watermark from your images, but this is a one time free that would give you unlimited access. With the help that it will provide you to fully market your application, the small charge will more than make up for it in terms of time saved and money earned.

Android Niceties – For Design Inspiration

A collection of the nicest designed Android Apps, Android Niceties showcases all of the best looking Android applications. This means that if you are getting stuck for the way to lay out the menus and interface of your application, this should be one of the first places that you turn to for getting some design ideas.

Only the best applications are submitted to this blog, meaning that you will be able to learn from the masters of Android user interface developers.

Furthermore, looking through the comments of each post will help you understand what exactly makes each design great, wherever it’d be the choice of fonts, the colour scheme used, or the particular graphics. Additionally, many times, the comments also help to illuminate the way to perform the great designs within the Android IDE.

F-Droid – Open Source Android Applications

Another great way to understand how to build Android Applications is to examine those that have already been built. F-Droid isn’t your every day alternative app store. It is a listing of open source android apps, meaning that developers have chosen to make all of their code public.

When you view an app on the F-Droid website, you also get a link to the Applications source code, as well as options to be able to track any issues you might find with your applications.

In fact, a great way to get feedback on your Android applications may be to also make your code open source and to submit it to this website. Then, if enough users do take the time to have a look at it, you could get some great feedback from other Android developers.

Iconion – Create great looking icons

Completely free to use, if you aren’t so great at using graphic programs, Iconion is a downloadable app that quickly generates great icon sets for you. Even if you are amazing at using these tools, one advantage of using Iconion is that the icons created in it look good at any size, meaning that you don’t have to spend ages editing sets in graphic programs to get the best quality possible while also having a small file size.

The main way that it allows you to create icons is by using information based on fonts. So for example, you can use the symbols found in Wingdings to quickly generate a great set to use within your applications. As well as this, there are also a range of free to use clipart and other icons included within Iconion.

Your Android Journey Begins

With all of these resources at your disposal, you should be able to get a great start into building and creating your own Android Applications.

At CloudRail, we are a big fan of the power in communities, both for getting feedback and for being a place where everyone can contribute what knowledge that they have. So we do heavily recommend joining on e of the communities that we have listed above as early into your Android journey as possible.

We also like to think that this resource list is as comprehensive as possible. Have we missed anything? Do you know of anything else that would interest new Android developers? If so, please send me an email at luke@cloudrail.com and we will include it in this guide!

The post Best resources to learn Android Programming appeared first on CloudRail.

Show more