ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

Mobile Software Development: How To Not Become An Android Software App Developer

Updated on February 27, 2013

With nearly a million brand new Android devices being activated each and every single day and the thousands of apps that flood Android Market (Google Play) every month there are many people out there now considering becoming an Android software developer. However, even for a seasoned computer programmer in other alternative fields of programming becoming an Android software developer is no easy task and so I will explain here how to not become an Android app developer.

First Things First

In order to begin not being an Android developer you will need to choose your computer and set up your development environment. Seeing as all Android apps are coded in the Java programming language you will first need to download and install the JDK (Java Development Kit) from Oracle. This is simple enough to do. However, the JDK is not enough and the title of being a 'development kit' is misleading because if it literally was a 'development kit' then it would contain everything you need... which it doesn't.

You will also need the JVM (Java Virtual Machine) or JRE (Java Runtime Environment) installed on your system otherwise you will be unable to load Java applets on your machine. The JDK actually searches your computer for the Java Virtual Machine and installs it if it isn't already installed. You can rest assured that the JVM will most likely cause you problems.

Next you need to download and install the Android SDK (Software Development Kit) from Google. Once this has downloaded as slowly as possible to your machine and you have installed it you then need to run the Android SDK Manager which is supposed to give you a list of API's (Application Programming Interface) and versions of Android although 68% of the time the Android SDK Manager fails leaving you stuck at a dead end. If you're unlucky then you might manage to solve this problem by going to the preferences and selecting to retrieve from 'http:' instead of 'https:'. However, this only solves the problem in a few cases.

If you do happen to get the Android SDK Manager working then you need to select the latest version and minimum version of Android that you wish to develop on. It will then take at least an entire day to download and install these packages... if you're unlucky. If you're really unlucky then it might take just a few hours.

Getting Started

Nope, you can't get started yet! There's still more you need. Now that you've installed a series of packages and packed up your hard drive with fragments that have slowed your PC down to a crawl you need to install even more software! Next you need an IDE (Integrated Development Environment). Once again the misleading title of 'integrated development environment' suggests that everything you need has been integrated into the software which is, once again, a lie.

Most developers choose Eclipse as their IDE. This is the biggest bulkiest program available to Java developers and makes things unreliably, ridiculously and overwhelmingly complicated when they really don't need to be. Eclipse takes another entire day to download and install and is guaranteed to have you pulling your hair out just trying to configure it before you've even managed to learn any Java.

Next you will experiences problems getting any of the software you've unnecessarily filled your hard drive up with to work in conjunction with each other. The Android SDK Manager won't be able to retrieve any packages, Eclipse will make your Android apps as difficult as possible to construct and the Java Virtual Machine will fail to be created. If you're one of those few very unlucky people out there then things might actually just work as they should - in which case I feel sorry for you!

Getting Coding In Java

If you spend another six months messing around with the Android SDK, Oracle JDK, Oracle JVM and Eclipse and actually manage to miraculously get it working you will need to spend at least another six months of your life actually learning the Java programming language. If you get this far then you will begin to realize just how much a complete waste of time deciding to become an Android software developer turned out to be. It's taken you at least a year just to fill your hard drive up with seemingly useful junk.

In Android the Java programming language is ridiculous. Every single activity (ie screen) in an Android app must be referenced in the AndroidManifest.xml file which exists in all Android projects. If any activity is not referenced then your app will fail. This is done purely just to be a huge troublesome pain in the backside. You will need to learn XML for the layout of the pages in your app and each and every single button in your app needs to have it's own separate ID, onclick listener and intent filter just to make things complicated.

In addition all intent filters must also be referenced in the AndroidManifest.xml file inside of the declared activity they exist within. Even after thoroughly learning the Java programming language this will drive you crazy! Simply spending God knows how many days installing various useless bulky software applications that did nothing but fail and then going on to learn the Java programming language you will realize after this extremely hard work and mind-boggling information that you still can't go ahead and develop Android apps until you learn all the ridiculous rules and regulations that apply to Android software.

If you are new to computer programming then this is likely to waste at least five years of your life only for you to realize at the end of it all that it just wasn't worth the ridiculous amount of effort and learning that you put into it, just to make your first app. However, if you do manage to successfully learn how to develop Android software then I recommend you become a brain surgeon or a rocket scientist!

Alternative Options

Alternatively, instead of having to go through the sheer hell described above you can simply buy yourself a decent Android device and download and install AIDE from Google Play. You can then learn how to code in Java and AIDE will compile all your apps for you with no problem.

Why do Google always have to make things so complicated?

Also See:

working

This website uses cookies

As a user in the EEA, your approval is needed on a few things. To provide a better website experience, hubpages.com uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at: https://corp.maven.io/privacy-policy

Show Details
Necessary
HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
LoginThis is necessary to sign in to the HubPages Service.
Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
AkismetThis is used to detect comment spam. (Privacy Policy)
HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the googleapis.com or gstatic.com domains, for performance and efficiency reasons. (Privacy Policy)
Features
Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
MavenThis supports the Maven widget and search functionality. (Privacy Policy)
Marketing
Google AdSenseThis is an ad network. (Privacy Policy)
Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
Index ExchangeThis is an ad network. (Privacy Policy)
SovrnThis is an ad network. (Privacy Policy)
Facebook AdsThis is an ad network. (Privacy Policy)
Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
AppNexusThis is an ad network. (Privacy Policy)
OpenxThis is an ad network. (Privacy Policy)
Rubicon ProjectThis is an ad network. (Privacy Policy)
TripleLiftThis is an ad network. (Privacy Policy)
Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
Statistics
Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)
ClickscoThis is a data management platform studying reader behavior (Privacy Policy)