Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
M0214 ADVANCED TOPICS IN INFORMATION SYSTEMS By: Ferri Gunawan – 1501143651 Class / Group: 06PLM / 03 Bina Nusantara University Jakarta 2014 Abstract PURPOSE OF THE RESEARCH is to know more about Android Operating System especially in the Application Software development area, like what are the IDE, programming language, how to compile and publish the Application Software. Besides the Application Software development, it is to know more about the communities of Android user / developer. RESEARCH METHODOLOGY used to create this paper is getting references data from the internet, reading e-book, reading journals then analyze them. After I analyses those information then I type the result of my analysis into this paper. THE EXPECTED OUTCOME is to have more knowledge about the Android Operating System and to know more about how to develop an Android Application, what are things to be prepared, what tool to use, what is the process of the compiling, after it is compiled, how to publish the app and distribute it and also the community of Android user / developer. Keywords Android, Android Operating System, Android Application, Android IDE, Android versions, Google Play, Android Compiling, Android Publishing, Android Community. CHAPTER 1 INTRODUCTION 1.1. Background Technology is always being developed. The technology can be used to create a new tools or devices to support human activities. Over a century back, the computer with a size of an entire room was invented and after the computer is developed even further, the computer was having a major improvement in size and usage currently now known as PC / desktop computer. It has major effect in business like a bomb shell, the computer change the way of doing business, it makes the business a lot more efficient and more effective and if it is used right, it can cut a lot of cost in business. But computer development is not just stop right there, the computer is even more developed further, it effects the humans activity not just in business, but also lifestyle and interacting such as video games, entertainment, video call, camera, music player, etc. But after a while people finds it PC is not so practical and cannot be carried around, while people are demanded to be more mobile, this leads the development of laptop. While having the power close to the desktop it is also having a reduction in size, it has a size of around your lap. And a few years back there is an even lighter version of laptop, it is called tablets. Tablet has power between a smartphone and a laptop. As the people demanded to be more mobile, the communication also has to be possible in almost anywhere and anytime, this leads the development to pager then cellphone / mobile phone. Early mobile phones are mainly used to calling and text messaging but further development, combined with the power of a laptop or even a desktop, the cellphone is evolving into smartphone. The term smartphone first appeared in 1997, when Ericsson described its GS 88 "Penelope" concept as a Smart Phone. Smartphones and Tablets require an Operating System to operate. There are quite a number of Operating Systems developed, but the most popular Operating Systems for smart phone are Android, Blackberry OS, iOS, and Windows 8. Up until now the Android Operating System is the most used Operating System for tablets and smart phone in the world since it is open source and can be modified by device manufacturers. In Android, there are Applications or shortened to Apps, the App can be a game, media player, word processing, etc. The popularity of androids lead me to research of the Android Operating system which is what are the IDE, program language, how to compile, how to publish, communities and other information. 1.2. Scope The scope of this paper is about the Android Operating System’s Integrated Development Environment (IDE), programming language, how to compile, publish, and community of Android user / developer. 1.3. Purpose and Benefit The purpose of this paper to give information and explain especially about the Android Operating System’s Integrated Development Environment (IDE), programming language, how to compile, publish, and community of Android user / developer. And the benefit of reading this paper is to introduce what to use to develop and publish the app created, and to give example of communities of Android user / developer to the reader. 1.4. Research Methodology The methodology used to create this paper is getting references data from the internet, reading e-book, reading journals then analyze them. 1.5. Writing Systematic The writing systematic within this report consists of 5 chapters, which are: CHAPTER 1: INTRODUCTION This chapter is a brief explanation regarding the whole content of this report. It contains 5 sub-chapters: Background: Background defines the problem of why this application is created. Scope: Explain the capability of the application. Purpose and Benefit: Explain about the advantage and use of the application. Methodology: The method used to analyze the system that is currently used. Writing Systematic: Explain how the report is written in brief details. CHAPTER 2: LITERATURE REVIEW This chapter provides brief explanation about IDE (Integrated Development Environment), Java definition, and the community definition. CHAPTER 3: DISCUSSION This chapter provides detailed informations about Android’s: IDE Programming Language How to Compile How to Publish Community CHAPTER 4: CONCLUSION & SUGGESTIONS This chapter provides conclusion from this paper and suggestions to make a business using Android Operating System. CHAPTER 2 LITERATURE REVIEW 2.1. Integrated Development Environment (IDE) Integrated Development Environment or shortened IDE is a graphical user interface workbench software tools to develop software. IDE has a source code editor for assisting developer in writing their code, file management for linking file associated with the software being developed, runtime environment used for testing the written software, and compiler to convert the source code into another computer language which is executable. 2.2. Programming Language Programming Language is a language that gives instruction to the computer. The programming language is in the form of logical words, statement, formula, and symbols. Example of programming language: C, C++, C#, Java, etc. 2.3. Operating System Operating System is a collection of software that manages hardware resources and provides common services or being platform for other computer programs. Most application program requires an Operating System to work. 2.4. Application Application is computer software that perform useful task. Most of the Application have a Graphical User Interface, that assist user to use the application, but some are command based that user have to input command to the application to work through command prompt. The application developed using an IDE with a programming language. For example Microsoft Word for processing word, Microsoft Excel spreadsheet, Paint for drawing. 2.5. Tablet Tablet or tablet computer is a mobile computer and in average, its power is between a smartphone and a laptop. Most of the tablets are equipped with sensors like touchscreen, camera, microphone, speaker, etc. The touchscreen replaces the keyboard and mice for typing and pointing using virtual keyboard and touch detection for pointing. For connectivity most of the tablets are equipped with Wi-Fi and Bluetooth and some devices offering a 3G, 4G ability. 2.6. Smart Phone Smartphone is an evolution of an ordinary cellphone, having an advanced computing ability. The power of the smartphone is quite impressive. The latest smartphone have generally can match a desktop pc coming from early 2000’s. The smartphone have a feature of touchscreen, Wi-Fi, GPS, media player, Bluetooth, 3rd party apps, camera, etc. 2.7. Community Community is a group of people having a same interest, religion, government, location, culture. 2.8. Android Android is an Operating System based on Linux kernel. Android OS is primarily designed for smartphones and tablets. Android is developed by Google, Open Handset Alliance, and Android Open Source Project (AOSP). Android having an open source model, so it can be modified by smartphone / tablet manufacturer to their preferences. Google wanted Android to be open and free; hence, most of the Android code was released under the open source Apache License, which means that anyone who wants to use Android can do so by downloading the full Android source code. Moreover, vendors (typically hardware manufacturers) can add their own proprietary extensions to Android and customize Android to differentiate their products from others. This simple development model makes Android very attractive and has thus piqued the interest of many vendors. This has been especially true for companies affected by the phenomenon of Apple’s iPhone, a hugely successful product that revolutionized the smartphone industry. Such companies include Motorola and Sony Ericsson, which for many years have been developing their own mobile operating systems. When the iPhone was launched, many of these manufacturers had to scramble to find new ways of revitalizing their products. These manufacturers see Android as a solution — they will continue to design their own hardware and use Android as the operating system that powers it. The main advantage of adopting Android is that it offers a unified approach to application development. Developers need only develop for Android, and their applications should be able to run on numerous different devices, as long as the devices are powered using Android. In the world of smartphones, applications are the most important part of the success chain. 2.8.1. Android Version Android have a quite number of versions. These are the versions of Android up to date: Android Version 1.0 / 1.1 1.5 1.6 2.0 / 2.01 / 2.1 2.2 2.3 3.0 / 3.1 / 3.2 4.0 4.1 / 4.2 / 4.3 4.4 Release Date 9 Febuary 2009 30 April 2009 15 September 2009 26 October 2009 20 May 2010 6 December 2010 22 February 2011 19 October 2011 9 July 2012 31 October 2013 Codename 1.1 Petit Four (Not made official) Cupcake Donut Eclair Froyo Gingerbread Honeycomb Ice Cream Sandwich Jelly Bean KitKat 2.8.2. Android Feature Android doesn’t have fixed hardware and software because of Android is open source and freely available to manufactures for customization. The features are: 1. Storage Android uses the SQLite which is lightweight relational database for data storage. 2. Connectivity Android supports GSM/EDGE, IDEN, CDMA , EV-DO,UMTS, Bluetooth (includes A2DP) and AVRCP,Wi-Fi, LTE, and WiMAX. 3. Messaging Android supports both SMS and MMS. 4. Web browser Based on the open source WebKit, together with Chrome’s V8 JavaScript engine. 5. Media support Includes support for the following media: H.263, H.264 (in 3GP or MP4 container), MPEG-4 SP, AMR, AMR-WB (in 3GP container), AAC, HEAAC (in MP4 or 3GP container), MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP. 6. Hardware support Accelerometer Sensor, Camera, Digital Compass, Proximity Sensor, and GPS. 7. Multi-touch Supports multi-touch screens. 8. Multi-tasking Supports multi-tasking applications. 9. Flash support Android 2.3 supports Flash 10.1. 10. Tethering Supports for sharing of Internet connections as a wired/wireless hotspot. 2.8.3. Android Architecture Android Operating system is roughly divided into five sections in four main layers: Linux kernel This is the kernel on which Android is based. This layer contains all the low-level device drivers for the various hardware components of an Android device. Libraries These contain all the code that provides the main features of an Android OS. For example, the SQLite library provides database support so that an application can use it for data storage. The WebKit library provides functionalities for web browsing. Android runtime At the same layer as the libraries, the Android runtime provides a set of core libraries that enable developers to write Android apps using the Java programming language. The Android runtime also includes the Dalvik virtual machine, which enables every Android application to run in its own process; with its own instance of the Dalvik virtual machine (Android applications are compiled into Dalvik executables). Dalvik is a specialized virtual machine designed specifically for Android and optimized for battery-powered mobile devices with limited memory and CPU. Application framework Exposes the various capabilities of the Android OS to application developers so that they can make use of them in their applications. Applications At this top layer, you will find applications that ship with the Android device (such as Phone, Contacts, Browser, etc.), as well as applications that you download and install from the Android Market. Any applications that you write are located at this layer 2.9. JAVA Java is a programming language designed by James Gosling and Sun Microsystems and now currently developed by Oracle. Java programming language is concurrent, classbased, and object-oriented and the language derives much of its syntax from C and C++. It intends to let the application developer to be able to write the code once and it will run everywhere. There were five primary goals in the creation of the Java language: 1. 2. 3. 4. 5. It should be "simple, object-oriented and familiar" It should be "robust and secure" It should be "architecture-neutral and portable" It should execute with "high performance" It should be "interpreted, threaded, and dynamic" CHAPTER 3 DISCUSSION 3.1. Android Integrated Development Environment (IDE) Integrated Development Environment or shortened IDE is a graphical user interface workbench software tools to develop software. IDE has a source code editor for assisting developer in writing their code, file management for linking file associated with the software being developed, runtime environment used for testing the written software, and compiler to convert the source code into another computer language which is executable. To create an Android application there are several Integrated Development Environment that can be used, but here I will mention and explain some of the popular Integrated Development Environment that are commonly used, that are: Android Studio Eclipse with Android Development Tool (ADT) plugin. NetBeans with Android plugin. Android Integrated Development Environment (AIDE). Except Android Integrated Development Environment (AIDE) there are a few requirements that have to be met before using the IDE above, that are: PC running on Windows, Mac OS, or Linux. The computer specs are not really important because most of the desktop or laptop CPU powers produced in the last few years are sufficient, since developing a mobile application will not use lots of computer CPU speed. But the faster your computer the better the experience you have. If you already have a sufficient computer, you have to install the JAVA SE Development Kit to compile the code, since The Application for android is using JAVA programming language. To download the JAVA SE Development Kit you can simply go to: http://www.oracle.com/technetwork/java/javase/downloads/index-jsp138363.html 3.1.1. Android Studio Android Studio is an official Integrated Development Environment (IDE) developed by Google to develop an application for Android platform. This Integrated Development Environment (IDE) is based on JetBrains’ IntelliJ IDEA software. Android Studio offers the following features: Developer Console: optimization tips, assistance for translation, referral tracking, campaigning and promotions - Usage Metrics. Provision for beta releases and staged rollout. Live Layout - Live Coding - Real-time App Rendering. Gradle-based build support. Android-specific refactoring and quick fixes. Lint tools to catch performance, usability, version compatibility and other problems. ProGuard and app-signing capabilities. A rich layout editor that allows users to drag-and-drop UI components, option to preview layouts on multiple screen configurations. Template-based wizards to create common Android designs and components. To install the Android Studio you have to download the installation file from: http://developer.android.com/sdk/installing/studio.html and install the Android Studio. Figure 3.1.1-1 The Android Studio screenshot. 3.1.2. Eclipse with Android Development Tool (ADT) plugin Eclipse is an integrated development environment (IDE). Eclipse is mostly in Java programming language. To develop an application in other programming language, a plug-in can be installed for example: Ada, C, C++, COBOL, Fortran, Haskell, JavaScript, Lasso, Perl, PHP, Python, R, Ruby, Scala, Clojure, Groovy, Scheme, and Erlang. Android Development Tools (ADT) is a plugin for the Eclipse IDE that is designed to give you a powerful, integrated environment in which to build Android applications. ADT extends the capabilities of Eclipse to let you quickly set up new Android projects, create an application UI, add packages based on the Android Framework API, debug your applications using the Android SDK tools, and even export signed (or unsigned) .apk files in order to distribute your application. To install eclipse you have to download the installation file from: https://www.eclipse.org/ and install the Eclipse IDE. And also you have to install the Android Development Tool (ADT) plugin which you can download at: http://developer.android.com/tools/sdk/eclipse-adt.html Figure 3.1.2-1 Eclipse with Android Development Tool (ADT) plugin screen shot. 3.1.3. NetBeans with Android plugin. NetBeans is an integrated development environment (IDE) for developing application primarily using Java programming language, but NetBeans can also be used with other languages, for example: PHP, C, C++, and HTML5. The NetBeans IDE can be extended by third party developers, and yes, The Android plug-in is developed by third party. To install NetBeans you have to download the installation file from: https://netbeans.org/ and install the NetBeans IDE. And to download the Android plug-in you can download it from the third party site at: http://nbandroid.org/wiki/index.php/Installation Figure 3.1.3-1 NetBeans with Android plugin. 3.1.4. Android Integrated Development Environment (AIDE) AIDE is an integrated development environment (IDE) for developing real Android apps directly in the Android device. AIDE developed by appfour. This IDE gives an interactive coding lessons and step-by-step to become an expert app developer. Visually design apps, write code with the feature rich editor with code completion, real-time error checking, refactoring and smart code navigation, and run your app with a single click. AIDE features interactive lessons with step-by-step instructions to learn Android app development and Java programming skills. AIDE will turn your Android tablet with keyboard into a real development box. AIDE uses the Transformer Prime to code with AIDE. AIDE will turn your Android Phone into a small development computer to browse and touch your code on the go. AIDE supports building apps with Java/Xml and the Android SDK, apps with C/C++ and the Android NDK as well as pure Java console applications. AIDE is fully compatible with Eclipse projects. With AIDE you can just copy the source code to your device and open the Eclipse project in AIDE to start coding. Alternatively you can keep your source code on your Dropbox - AIDE integrates with Dropbox and allows easily downloading from your Dropbox and syncing back your changes. AIDE can also open Android Studio projects, which follow the default folder structure. AIDE also supports Git for professional development. Figure 3.14-1 Android Integrated Development Environment (AIDE). 3.2. Android Programming Language Android uses JAVA programming language to run the apps, but for the development of the Android Operating itself, it uses C and C++, for GUI Android uses JAVA as well. 3.2.1. Java Java is a programming language designed by James Gosling and Sun Microsystems and now currently developed by Oracle. Java programming language is concurrent, classbased, and object-oriented and the language derives much of its syntax from C and C++. It intends to let the application developer to be able to write the code once and it will run everywhere. There were five primary goals in the creation of the Java language: 1. 2. 3. 4. 5. It should be "simple, object-oriented and familiar" It should be "robust and secure" It should be "architecture-neutral and portable" It should execute with "high performance" It should be "interpreted, threaded, and dynamic" 3.2.2 C C programming language is a general purpose programming language developed by Dennis Ritchie. C is a procedural language and it was designed to be compiled using a relatively straightforward compiler, to provide low-level access to memory, to provide language constructs that map efficiently to machine instructions, and to require minimal runtime support. 3.2.3 C++ C++ programming language is a general purpose programming language that is freeform and compiled. C++ is an intermediate-level language, as it comprises both high-level and low-level language features. It provides imperative, object-oriented and generic programming features. Also C++ is one of the most widely used programming languages and can be used on a wide variety of hardware and operating system platforms. It has an efficient performance even it is used on system software, application software, device drivers, embedded software, high-performance server and client applications, and entertainment software such as video games. 3.3. Android App Compiling Process The compiling process starts when you click the “compile button”. It is provided by the IDE above. During the build process, your Android projects are compiled and packaged into an .apk file, the container for your application binary. It contains all of the information necessary to run your application on a device or emulator, such as compiled .dex files a binary version of the AndroidManifest.xml file, compiled resources (resources.arsc) and uncompiled resource files for your application. In Eclipse, the ADT plugin incrementally builds project as if there is a changes to the source code. Eclipse outputs an .apk file automatically to the bin folder of the project. If the development is in a non-Eclipse environment, the project can be built with the generated build.xml Ant file that is in the project directory. The Ant file calls targets that automatically call the build tools. To run an application on an emulator or device, the application must be signed using debug or release mode. You typically want to sign your application in debug mode when you develop and test your application, because the build tools use a debug key with a known password so you do not have to enter it every time you build. When you are ready to release the application to Google Play, you must sign the application in release mode, using your own private key. Fortunately, Eclipse or your Ant build script signs the application for you in debug mode when you build your application. You can also easily setup Eclipse or your Ant build to sign your application in release mode as well. For more information on signing applications, see Signing Your Applications. The following diagram depicts the components involved in building and running an application: Figure 3.3-1 Android Compiling Process Diagram. 3.4. Android App Publishing Process Publishing is the general process that makes your Android applications available to users. When you publishing your app you have to perform two main tasks: You prepare the application for release. During the preparation step you build a release version of your application, which users can download and install on their Android-powered devices. You release the application to users. During the release step you publicize, sell, and distribute the release version of your application to users. There are several ways to publish an app: Google Play Marketplace (Like Google Play) E-Mail Web site Just copy locally It is recommended to use Google Play market place to publish your app, but if you do not want to use it you can use other ways to publish your app. To publish through Google Play, the first step to register yourself at https://play.google.com/apps/publish/signup/ to make a Google Publisher Account. If you will sell apps, set up a Google Wallet Merchant Account. To complete the registration process you have to pay 25$, you can use your credit card to pay. Don’t worry it’s safe. And for the Google Wallet Merchant Account, Sign in to your Google Play Developer Console at https://play.google.com/apps/publish/, Open Financial reports on the side navigation, then Click Setup a Merchant Account now. Figure 3.4-1 Google Publisher Registration screenshot. After you registered, you will receive verification by email, after that you can sign in to your Google Play Developer Console, which will be the home for your app publishing operations and tools on Google Play. These sections below introduce a few of the key areas you'll find in the Developer Console. To publish an app you simply have to click the “+ Add new application” button and follow the procedures. Figure 3.4-2 Google Developer Console screenshot. If you do not want to use Google Play then you can use E-mail, website, other marketplace, or even copy it directly to other Android devices all you have to do is send the .apk file. But first the Users must enable the Unknown sources setting before they can install apps not downloaded from Google Play. Figure 3.4-3 Enable install from a non-Google Play method. 3.4. Android Community Here I will mention several communities for Android OS. There are a lot of Android Communities out there but we will mention some of it especially the famous one. Here a list of some Android community: xda-developers Forum: http://forum.xda-developers.com/index.php Activities: Provides news, provides information, Discussion, Tutorial, Modding tutorial and discussion, consultation, etc. Forum which have a lot of its member are an app developer for Android OS. KASKUS Android Section Forum: http://www.kaskus.co.id/forum/577/android Activities: Discussion, consultation, provides information, etc. An Indonesian forum, having a forum section which only discuss about Android OS. Android Community Site: http://androidcommunity.com/ Activities: Provide news, and reviews. Android Community is a website that specializes in giving information about Google’s Android. Android Central Site: http://www.androidcentral.com/ Forum: http://forums.androidcentral.com/ Activities: Provides tutorial, rooting tutorial, discussion, consultation, provides information, provide news, etc. Android Central is one of the largest communities of Android in the world. It is filled with Android enthusiasts. CHAPTER 4 CONCLUSION AND SUGGESTION 4.1. Conclusion By this paper now you know more about the Android Operating System, especially in what IDE to use before you develop an Android App, how to compile and distribute it. Android is an Operating System based on Linux kernel. Android OS is primarily designed for smartphones and tablets. Android Operating System is written in C, C++, and JAVA (For the GUI), but the App is written in JAVA. There is quite a number of Integrated Development Environment (IDE) to develop an Android App, but the most popular IDE are Android Studio, Eclipse, NetBeans, and AIDE. The compiling result when developing an Android App is an .apk file. .apk file is used as an installation file for Android Operating System. To publish your Android App it is recommended using Google Play Marketplace since it is an official one, but if you don’t want to use it you can publish it by using Website, E-mail, copy it yourself, or using another marketplace. You can find a lot of community that takes interes in Android Operating System, for example xda-developers, Kaskus, Android Community, Android Central, etc. The latest Android version is KitKat. 4.2. Suggestion Android are popular Operating System for mobile devices, it will have a very long popularity time, and it will be keep on evolving besides that Android is being developed by Google themselves, a giant company that has a good track record. So don’t worry about Android losing popularity soon. If you want to make a business out of it, of course you can. It has a lot of opportunity for you to gain a lot of profit by making an App, or if you want to you can make your own Android based, mobile devices. REFERENCES Meng, L. W. (2012). Beginning Android 4 Application Development. Indianapolis: John Wiley& Sons,Inc. Android.(n.d). Android Developer Tools. Retrieved (12- 04- 2014) from http://developer. android.com/tools/help/adt.html Android.(n.d). Getting Started with Android Tools. Retrieved (12- 04- 2014) from http://developer. android.com/ sdk/installing/studio.html Android.(n.d). Get Started with Publishing. Retrieved (12- 04- 2014) from http://developer. android.com/ distribute/googleplay/publish/register.html Google. (2014). AIDE- Android IDE-. Retrieved (12-04-2014) from https://play.google.com/store/apps/details?id=com.aide.ui NBandroid.(n.d). Android IDE (AIDE). Retrieved (12- 04- 2014) from http://nbandroid.org/ Xda Developers.(n.d). About Us. Retrieved (12- 04- 2014) from http://forum.xdadevelopers.com/index.php Kaskus.(n.d). Android Community. Retrieved (12- 04- 2014) from http://www.kaskus.co.id/forum/577/android Android Community.(n.d). About Us. Retrieved (12- 04- 2014) from http://androidcommunity.com/ Android Central.(n.d). About Us. Retrieved (12- 04- 2014) from http://www.androidcentral.com/ Wikipedia.(n.d). Integrated Development Environment. Retrieved (12- 04- 2014) from http://en.wikipedia.org/wiki/Integrated_development_environment Wikipedia.(n.d). Community. Retrieved (12- 04- 2014) from http://en.wikipedia.org/wiki/Community Wikipedia.(n.d). Android (Operating System). Retrieved (12- 04- 2014) from http://en.wikipedia.org/wiki/Android_(operating_system) Wikipedia.(n.d). Application Software. Retrieved (12- 04- 2014) from http://en.wikipedia.org/wiki/Application_software Wikipedia.(n.d). Tablet Computer. Retrieved (12- 04- 2014) from http://en.wikipedia.org/wiki/Tablet_computer Wikipedia.(n.d). Smartphone. Retrieved (12- 04- 2014) from http://en.wikipedia.org/wiki/Smart_Phone Wikipedia.(n.d). Android Version History. Retrieved (12- 04- 2014) from http://en.wikipedia.org/wiki/Android_version_history Wikipedia.(n.d). Eclipse (Software). Retrieved (12- 04- 2014) from http://en.wikipedia.org/wiki/Eclipse_(software) Wikipedia.(n.d). Programming Language. Retrieved (12- 04- 2014) from http://en.wikipedia.org/wiki/Programming_language Wikipedia.(n.d). Compiler. Retrieved (12- 04- 2014) from http://en.wikipedia.org/wiki/Compiler Wikipedia.(n.d). Java (Programming Language). Retrieved (12- 04- 2014) from http://en.wikipedia.org/wiki/Java_(programming_language) Wikipedia.(n.d). C++. Retrieved (12- 04- 2014) from http://en.wikipedia.org/wiki/C%2B%2B Wikipedia.(n.d). C (Programming Language). Retrieved (12- 04- 2014) from http://en.wikipedia.org/wiki/C_(programming_language) Wikipedia.(n.d). NetBeans. Retrieved (12- 04- 2014) from http://en.wikipedia.org/wiki/NetBeans Wikipedia.(n.d). Android Studio. Retrieved (12- 04- 2014) from http://en.wikipedia.org/wiki/Android_Studio CURRICULUM VITAE