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:

Comments

    0 of 8192 characters used
    Post Comment

    • profile image

      kugs 

      4 years ago

      this post is 100% accurate. for phuck you are so correct that it hurts.

      ill no look into AIDE

      when you say its the rules and regulation of applying your idea to android programming you really strike the nail full on with the hammer.

      i know assembly, c, php and java but applying android development is really ridiculous

      i thank you so much for this post as i thought it was me not having the ability to take this in.

      thank you

    • profile image

      meagain 

      4 years ago

      I almost forgot Xamarin, you just download and install it! Automaticly download everything you needs and perfectly sets together. It is C#(way better IDEs than Java) and maybe there isn't so many tutorials for it(I dunno). +Xamarin build native aps they say.

    • profile image

      notdeveloper 

      4 years ago

      lol,i tried AIDE and I spend few hour only to compile APK from existing working project. On the phone is useless unless, on the 7' tablet is less pain,but still bad. Don't count make working UI with AIDE, you need another dumb app. There isn't good ide for java.

      Linux(android)+google+java = torturing madness

      Don't forget $25 fee for pulishing app to google play store:D

    • electronician profile image

      Dean Walsh 

      4 years ago from Birmingham, England

      Lol, great article, and the same frustrations could be applied to developing on other platforms too.

    • profile image

      alexmark241 

      5 years ago

      Hello spark arrester, this hub was a awfully informative and amusing browse. nice job on this hub.

    • susi10 profile image

      Susan W 

      5 years ago from The British Isles, Europe

      Thanks for the reply. I never really thought of that. I can see now that you are correct. It is very hard to create apps using Java and putting them on the Android Market.

    • sparkster profile imageAUTHOR

      Sparkster Publishing 

      5 years ago from United Kingdom

      Hi susi10, thanks for that. I have tried Appinventor but the problem is that the Java Virtual Machine will simply not work on any of my PC's (I have tried several times over the course of the last 18 months), therefore it just won't work. Additionally, many Android markets (not including Google Play) will no longer allow you to publish apps unless they are written in native code.

    • susi10 profile image

      Susan W 

      5 years ago from The British Isles, Europe

      Hi sparkster, I make apps using Appinventor. It's easy to use and it's free. Try it!

    • sparkster profile imageAUTHOR

      Sparkster Publishing 

      5 years ago from United Kingdom

      After over 12 months of learning Android, or at least trying to, I have given up. I know the basics yet cannot even make an app which retrieves a question and displays it on the screen, something which can be done in a couple of minutes on a PC. Whoever came up with this stupendously ridiculous idea for mobile app development should be shot, it's pathetic, pointless and a complete waste of time... I think I might be trading in my Android devices and moving to Apple!

    • AlexK2009 profile image

      AlexK2009 

      5 years ago from Edinburgh, Scotland

      It IS possible to program Android devices without referencing GUI components in the manifest file. But the code gets pretty bulky.

      I agree that the Eclipse Integration is not good. While I have worked with Eclipse professionally it seems each version of Eclipse is slower and more buggy than the last.

    • profile image

      Owen 

      5 years ago

      I couldn't agree more with what you said in this article!

      I wasted a large section of my lifespan installing the relevant bits, and purchased a book too, and wrote a Hello World app. Coming from a Microsoft development background I've been spoiled by the luxuriant tools such as Visual Studio and the .Net Framework. The whole JRE, Eclipse, etc feels like going back in time and walking through treacle in order to press a button. I wanted to be able to 'prove' to myself and potential employers that I could write an Android app, but frankly I cannot be bothered, it's too much hassle.

      I would consider jQuery mobile instead. http://jquerymobile.com/

      It lets you do the whole thing in HTML and looks like an Android app.

    • sparkster profile imageAUTHOR

      Sparkster Publishing 

      5 years ago from United Kingdom

      Personally I hate Eclipse and find IntelliJ a hundred times easier to use.

      "However I can hear millions of live and dead lawyers and accountants yelling "nobody ever made money out of simplicity""

      In business there is the KISS rule - Keep It Simple, Stupid!

    • AlexK2009 profile image

      AlexK2009 

      5 years ago from Edinburgh, Scotland

      I had Eclipse set up anyway and downloading the Android stuff was straightforward: I just followed the tutorial. I do not want to do it again though.

      As a freelancer Eclipse is the De Facto industry standard and seems easier than Intellij or Jdeveloper. Unlike Borland Jbuilder however it does not come with a visual Swing development kit.

      Equally if you know Eclipse you will know Aptana Studio and the Spring Tool Suite (now that is a framework I think a bit too complicated to be nice)

      However I can hear millions of live and dead lawyers and accountants yelling "nobody ever made money out of simplicity"

    • sparkster profile imageAUTHOR

      Sparkster Publishing 

      6 years ago from United Kingdom

      My best advice would be to stay well away from Eclipse! If you don't have an Android device and can't download AIDE then I recommend IntelliJ IDEA - it's much faster and easier to use than Eclipse.

    • Gamerelated profile image

      Gamerelated 

      6 years ago from California

      Hello sparker, this hub was a very informative and entertaining read. Great job on this hub. I too have wondered about developing apps for Android, so this is good for me as it lets me know what I might be getting myself into.

    • sparkster profile imageAUTHOR

      Sparkster Publishing 

      6 years ago from United Kingdom

      Thank you for your comments, I'll take a look at Snappi. Yes, hiring a developer is extremely expensive and this is probably why. Some companies (such as Apple) have threatened and attempted to take action against Google for cornering just about every business opportunity there is on the internet.

      Google is the biggest company in the world and did you know that nobody actually knows who owns Google!

    • profile image

      Alexandra 

      6 years ago

      Mobile apps are hot today. But hiring a programmer is too expensive. I used snappii.com to make apps. It's really easy, the web service allows to make mobile apps in minutes, and without programming skills at all. If you are short of time, they can make an app for you very quickly.

    • profile image

      Rob 

      6 years ago

      It's really pretty scary how Google has cornered the market in just about everything. I was a fan when they first emerged as a humble, yet highly improved search engine. Now I'm not so sure, yet I rely upon them as much as I rely upon dollars, as most of us do.

      I'll give AIDE a try. Thanks very much.

    • sparkster profile imageAUTHOR

      Sparkster Publishing 

      6 years ago from United Kingdom

      AIDE is a fantastic app which shows just how ridiculous Google have to make things, I'm 100% adamant this is purely just to put people off so that Google can suck up all the money themselves.

      I have managed to get started in Java but I would recommend you use AIDE, it saves a few months of unnecessary messing about. Each of your pages/screens (activities) need to be coded in Java and you need to use XML for your layouts. The language itself is not that difficult, it's just the rules and regulations that makes things awkward.

    • profile image

      RobSchneider 

      6 years ago

      Ha! Good timing. I just got a smartphone and was thinking it would be "fun" to learn how to make an app for my travel blog. I'll check out AIDE, but learning to code in Java doesn't sound easy, either. Maybe I'll just have fun blogging and making maps with my GPS instead.

    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://hubpages.com/privacy-policy#gdpr

    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)