SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
International Journal of Engineering Research and Development
e-ISSN: 2278-067X, p-ISSN: 2278-800X, www.ijerd.com
Volume 10, Issue 3 (March 2014), PP.18-22
18
A Study on Android development kits and the ‘Phone Gap’
Framework
Sabyasachi Patra
Mukesh Patel school of Technology and Management, Computer science, Mumbai, India
Abstract: - The Android platform is a new generation of a smart mobile platform launched by Google. It is
open-sourced and is based on Linux so that it developers can use it freely for development. It provides an easy-
to-use development kit (the SDK) developed on the Android OS. There are different ways to go about Android
programming right from hardware-oriented programming techniques to platform-independent ones. The paper
is about various programming environments within the Android paradigm. It deals with their characteristics,
advantages and differences between them.
Keywords: - Android, Phone Gap, Web Application, SDK, NDK
I. INTRODUCTION
Android software development is the process by which new applications are created for the Android
operating system. Applications are usually developed in the Java programming language using the Android
Software Development Kit. There are many environments to program an Android app and every single
environment has its advantages and disadvantages.
Android Development Kit:
 Software Development Kit
 Native Development Kit
II. ANDROID SDK
The most common and obvious approach of programming Android-Apps is the Android SDK
(Software Development Kit) by Google. It provides all the functionality to develop any kind of Android
Application. We use the Eclipse IDE with the ADT (Android Development Kit) for programming in the SDK.
The Android SDK is an approach that is suited for Java programmers, who want to develop applications
exclusively for Android devices, and for every programmer with knowledge of object oriented programming or
the time and motivation to learn this paradigm and the Java language. The SDK is essentially freeware, easy to
install and allows developers to code using various API’s. It provides you the libraries and developer tools
necessary to build, test, and debug apps for Android. [1][2]
III. NDK
The Android NDK (Native Development Kit) is a companion tool or a toolset to the Android SDK that
lets you build performance-critical portions of your apps in native code. It provides headers and libraries that
allow you to build activities, handle user input, use hardware sensors, access application resources, and more,
when programming in C or C++. [4][6] If we use the NDK and implement parts of the application in native code,
the applications are still packaged into .apk file and they still run inside of a virtual machine on the device so
that the fundamental Android application model does not change. It can also be defined as a bundle of tools,
libraries and documentation that can be used to link in native C/C++ libraries into your Android Java projects. It
provides you with everything you need to link your own C/C++ libraries to your apps, as well as commonly-
used system libraries. [5]
Basically, this is the means by which parts of the Android application can be developed using code
other than Java. This is possible through the Android NDK, which is available for three platforms: Windows,
Mac OS X and Linux 32/64-bit (x86). [7]
We need to balance the NDK’s benefits against its drawbacks. Typical good candidates for the NDK
are self-contained, CPU-intensive operations that don't allocate much memory, such as signal processing,
physics simulation, and so on. Another area to warrant such tweaks is support for gaming and physics-based
applications. When examining whether or not to develop in native code, we need to think about the requirements
of the particular application and see if the Android framework APIs provide the functionality that is needed.
A Study on Android development kits and the ‘Phone Gap’ Framework
19
Required development tools for NDK:
• For all development platforms, GNU Make 3.81 or later is required. Earlier versions of GNU Make
might work but have not been tested.
• A recent version of ‘awk’ (either ‘GNU Awk’) is also required.
• For Windows, Cygwin 1.7 or higher is required. The NDK will not work with Cygwin 1.5 installations.
The NDK includes a set of ‘cross-toolchains’ (compilers, linkers, etc.) that can generate native ARM
binaries on Linux, OS X, and Windows (with Cygwin) platforms.
It provides a set of system headers for stable native APIs that are guaranteed to be supported in all later
releases of the platform:
 libc (C library) headers
 libm (math library) headers
 JNI interface headers
 libz (Zlib compression) headers
 liblog (Android logging) header
 OpenGL ES 1.1 and OpenGL ES 2.0 (3D graphics libraries) headers
 libjnigraphics (Pixel buffer access) header (for Android 2.2 and above).
 A Minimal set of headers for C++ support
 OpenSL ES native audio libraries
 Android native application APIS
Advantages and uses of NDK:
 The use of native code with the help of android NDK is usually implemented for improving speed of
performance.
 It is also intended to support the reuse of existing code and is a way to embed native libraries into an
application package file (.apk) that can be deployed on Android devices.
 Apps can be written using the Android framework and then the JNI (Java Native Interface) can be used to
access the APIs provided by the Android NDK. The JNI enables code running in a Java Virtual Machine
to call libraries written in other languages, such as C. This technique allows us to take advantage of the
convenience of the Android framework, but still allows us to write native code when necessary.
 Within an application, activity lifecycle call-backs such as onCreate(), onPause() and onResume() should
be handled in native code. Applications that use such native activities must be run on Android 2.3 (API
Level 9) or later as certain features of the Android framework will not be available in previous versions
of android.
There are two main reasons to consider using the Android NDK
 Performance
 Porting/Cross-platform.
For performance, the NDK can provide high-performance operations for your application if it's truly
processor bound. That is, the application algorithms are tapping into all of the device's processing power
within the Dalvik VM so that the code may see performance benefits from running natively.
 Thus the native code can be used to optimize the application for speed especially when bit/byte
operations are used in the code, like when we need to do compression/decompression of image files etc.
Hence most games use the native C code libraries for 2D / 3d graphics, input, sound etc. [7]
 Running native code is complicated by the fact that Android uses a non-standard C library (libc, known
as Bionic). The graphics library that Android uses to arbitrate and control access to the device is called
the Skia Graphics Library (SGL), and it has been released under an open source license. Skia has back -
ends for both win32 and ‘Unix’, thus allowing the development of cross-platform applications. [8]
 NDK can be used to leverage existing code that is already in C or C++. Here, using the NDK could
simplify the application development, at the same time allowing for shared code with other platforms, as
well as generally helping avoid maintaining parallel codebases in multiple programming languages. This
perk is often leveraged with applications that target multiple operating systems using OpenGL ES.
Compiling and deploying NDK sample applications (The first step to NDK Development):
1. Open a command-line prompt (or Cygwin prompt on Windows)
2. Go to hello-jni sample directory inside the Android NDK. All the following steps have to performed
from this directory: $ cd $ANDROID_NDK/samples/hello-jni
A Study on Android development kits and the ‘Phone Gap’ Framework
20
3. Create Ant build file and all related configuration files automatically using android command
(android.bat on Windows). These files describe how to compile and package an Android application:
android update project –p .
4. Compile, package, and install the final ‘HelloJni’ APK (an Android application package). All these steps
can be performed in one command, thanks to Ant build automation tool. Among other things, Ant runs
‘javac’ to compile Java code, AAPT to package the application with its resources, and finally ADB to
deploy it on the development device. Following is only a partial extract of the output: $ ant install
Fig.1: Cygwin Prompt on Windows
IV. PHONEGAP
To develop an application with Phone Gap there has to be a Software Development Kit (SDK) that fits
the end device because Phone Gap can’t run stand-alone. It grants access to native device APIs. It is a good
choice for Web Application developers who want independence from a web server and/or want to distribute
their application. ‘PhoneGap’ currently supports development for the operating systems Apple iOS, Google
Android, Microsoft Windows Phone (7 and 8) and Nokia Symbian OS. It uses HTML5 and CSS3 for visual
rendering and JavaScript for the logic. [3]
Developing apps for multiple mobile platform needs a resource too many and a developer needs a
firsthand knowledge of multiple IDEs and languages such as C++, Java, Objective C, etc. Cross-platform
mobile application development is a fast and efficient way to make available an application on all mobile
technologies with limited added cost and software resources. The main challenge in cross-platform mobile
application development is the OS fragmentation. The trend of increased fragmentation coincides with the
growing number of mobile platforms. First, there were BlackBerry, Symbian and Bada smartphones, then came
the powerful iPhone and Android platforms, HP came with WebOS and then Microsoft introduced the Windows
Phone. Now Intel, Samsung and various other companies under the open source alliance have forged a new
mobile OS called Tizen which comes out in 2014 on selected devices. This means that companies have to keep
launching new products to make their presence felt on all mobile platforms.
Different programming languages are required for different mobile platforms, so Mobile OS
fragmentation is the worst and most diverse fragmentation of all. This adds a sizable technical challenge to
launching mobile applications on all mobile platforms. There are also a few other challenges for the developer
like consistent user experience across all platforms. [3][4]
 Phone Gap is a framework that uses web technology to realize native mobile application, such as iPhone
or Android
 It uses HTML, CSS, JavaScript technology with native characters like Camera, Media.
 It is the only open source frame to support seven platforms, which provides many interfaces to support
native API through the calling of JavaScript.
 The user interface of the applications are made using HTML and CSS while the backend coding or the
calculations can be called using JavaScript for interactivity, dynamism, and interaction with native-OS
functionality.
 The final output is one that has features of both a web application and a native application. Certain
features, such as Image Capture, NFC or Android Open-Accessory, may be implemented natively since
there is currently no way to do this in JavaScript.
 The application logic and the UI are implemented using web technologies to allow for a consistent and
unique user experience across devices.
A Study on Android development kits and the ‘Phone Gap’ Framework
21
Fig.2: The role of PhoneGap
V. WEB APPLICATIONS (HYBRID)
These are applications that run on browsers. The application itself and its data are usually stored and
mainly executed on a webserver. The user starts the ‘WebApp’ by sending a HTTP-request via a browser to the
webserver where the application is stored. The webserver then generates or subsequently loads the HTML
source code of the website and sends it back to the browser. Then the user is able to interact with the graphical
user interface (GUI) of the ‘WebApp’. It is represented by a website which runs in a browser. It is platform
independent and written in web-based languages. It runs on mobile devices and also on every other device
which have access to the internet (if the app is stored on a server) and a browser. These are also known as
universal Mobile Applications and are of a great use to ‘not- so – tech – savy’ normal cell phone users. It takes
user – friendliness to an all new level.
VI. A COMPARATIVE STUDY
Table I: Comparison
OPTION SDK NDK Phone Gap Web App
Installation + -- 0 0
Support ++ + 0 +
Learn ability - - - 0 0
Platform
Independence - - ++ ++
GUI creation + - + +
Potency ++ ++ 0 - -
Performance + ++ 0 -
Debugging ++ + + --
A Study on Android development kits and the ‘Phone Gap’ Framework
22
V. CONCLUSION
Normal Android application development in both the industry as well as for personal purposes is done
on the Android SDK using the various API’s provided by Google and Android. The NDK is used for special
purposes whenever required, as in for Physics simulations or certain kind of games. The depth of research
carried out in the ‘Phone Gap’ and SDK programming domains are far wider as compared to the NDK
applications and usage. Therefore this paper is a start towards our study and research on the NDK model of
Android.
The basic purpose of our paper was to carry out a comparative study and review the existing SDK
programming paradigms along with the ‘Phone Gap’ Hybrid application framework. We have also given an
overview of the NDK, its importance, its usage and an overall picture of what it takes to install and use it.
ACKNOWLEDGMENT
This research paper is made possible through the help and support of many people both inside and
outside the domain of Engineering and Science.
Especially, please allow me to dedicate my acknowledgment of gratitude towards our college Librarian
Mr. Pradip Das and his team. I would also like to thank Mr. Anand Gawadekar of the NMIMS IEEE Committee
due to which I could get all requested references seamlessly without any trouble and on time.
A sincere thanks to our college and Computer Science department H.O.D. Professor Dhirendra Mishra
for allowing us to enter the invaluable field of research in our so important final year of B.Tech. Finally, I would
like to thank my parents who always encouraged me to do as much research I could do in my capacity in the final
year and extend an outside support whenever and wherever required.
REFERENCES
[1]. M. H. Amerkashi. Apptomarket. http://code.google.com/p/apptomarket/, Apr. 2013.
[2]. S. Baltes. Run anywhere. web & mobile DEVELOPER, 06:94–100,May 2013
[3]. PhoneGap. Phonegap api documentation. http://phonegap.com, Mar. 2013.
[4]. S. Ratabouil. Android NDK Beginner’s Guide. Packt Publishing, 2012.
[5]. A. Sarah, V. Graupera, and L. Lundrigan. Pro Smartphone Cross- Platform Development: iPhone,
Blackberry, Windows Mobile and Android Development and Distribution. Apress, 2010.
[6]. X. Shu, Z. Du, and R. Chen. Research on mobile location service design based on android. In 5th
International Conference on Wireless Communications, Networking and Mobile Computing, 2009.
WiCom’09, pages 1–4, 2009.
[7]. K.-C. Son and J.-Y. Lee. The method of android application speed up by using NDK. In 2011 3rd
International Conference on Awareness Science and Technology (iCAST), pages 382–385, 2011.
[8]. J. Stark. Android Apps mit HTML, CSS und JavaScript. O’Reilly, 1 edition, Dec. 2010.
[9]. C. Ullenboom. Java ist auch eine Insel - programmieren mit der Java Platform, Standard Edition 6.
Galileo Press, Bonn, 7. aufl. edition,2008

Más contenido relacionado

La actualidad más candente

A Review Paper on Kotlin Programming Language
A Review Paper on Kotlin Programming LanguageA Review Paper on Kotlin Programming Language
A Review Paper on Kotlin Programming Languageijtsrd
 
Android summer training report
Android summer training reportAndroid summer training report
Android summer training reportShashendra Singh
 
Ii 1300-java essentials for android
Ii 1300-java essentials for androidIi 1300-java essentials for android
Ii 1300-java essentials for androidAdrian Mikeliunas
 
Ii 1100-android development for fun and profit
Ii 1100-android development for fun and profitIi 1100-android development for fun and profit
Ii 1100-android development for fun and profitAdrian Mikeliunas
 
Ii 1500-publishing your android application
Ii 1500-publishing your android applicationIi 1500-publishing your android application
Ii 1500-publishing your android applicationAdrian Mikeliunas
 
AIDE - Android Integrated Development Environment presentation
AIDE - Android Integrated Development Environment presentationAIDE - Android Integrated Development Environment presentation
AIDE - Android Integrated Development Environment presentationBeMyApp
 
Seminar on android app development
Seminar on android app developmentSeminar on android app development
Seminar on android app developmentAbhishekKumar4779
 
Android and its feature
Android and its featureAndroid and its feature
Android and its featureShubham Kumar
 
RT Lab Android Application
RT Lab Android ApplicationRT Lab Android Application
RT Lab Android ApplicationPraahas Amin
 
Introduction to Android programming
Introduction to Android programmingIntroduction to Android programming
Introduction to Android programmingSirwan Afifi
 
1 introduction of android
1 introduction of android1 introduction of android
1 introduction of androidakila_mano
 
Android Workshop Day 1 Part 2
Android Workshop Day 1 Part 2Android Workshop Day 1 Part 2
Android Workshop Day 1 Part 2Ahsanul Karim
 
Android Overview
Android OverviewAndroid Overview
Android OverviewRaju Kadam
 
Android seminar report
Android seminar reportAndroid seminar report
Android seminar reportdgpune
 
Best Frameworks for Android App Development in 2022.pdf
Best Frameworks for Android App Development in 2022.pdfBest Frameworks for Android App Development in 2022.pdf
Best Frameworks for Android App Development in 2022.pdfMarie Weaver
 
Getting started with the NDK
Getting started with the NDKGetting started with the NDK
Getting started with the NDKKirill Kounik
 

La actualidad más candente (20)

Android os
Android osAndroid os
Android os
 
A Review Paper on Kotlin Programming Language
A Review Paper on Kotlin Programming LanguageA Review Paper on Kotlin Programming Language
A Review Paper on Kotlin Programming Language
 
Android summer training report
Android summer training reportAndroid summer training report
Android summer training report
 
Ii 1300-java essentials for android
Ii 1300-java essentials for androidIi 1300-java essentials for android
Ii 1300-java essentials for android
 
Ii 1100-android development for fun and profit
Ii 1100-android development for fun and profitIi 1100-android development for fun and profit
Ii 1100-android development for fun and profit
 
Ii 1500-publishing your android application
Ii 1500-publishing your android applicationIi 1500-publishing your android application
Ii 1500-publishing your android application
 
AIDE - Android Integrated Development Environment presentation
AIDE - Android Integrated Development Environment presentationAIDE - Android Integrated Development Environment presentation
AIDE - Android Integrated Development Environment presentation
 
Android My Seminar
Android My SeminarAndroid My Seminar
Android My Seminar
 
Seminar on android app development
Seminar on android app developmentSeminar on android app development
Seminar on android app development
 
Android and its feature
Android and its featureAndroid and its feature
Android and its feature
 
RT Lab Android Application
RT Lab Android ApplicationRT Lab Android Application
RT Lab Android Application
 
Andriod
Andriod Andriod
Andriod
 
Introduction to Android programming
Introduction to Android programmingIntroduction to Android programming
Introduction to Android programming
 
1 introduction of android
1 introduction of android1 introduction of android
1 introduction of android
 
ANDROID
ANDROIDANDROID
ANDROID
 
Android Workshop Day 1 Part 2
Android Workshop Day 1 Part 2Android Workshop Day 1 Part 2
Android Workshop Day 1 Part 2
 
Android Overview
Android OverviewAndroid Overview
Android Overview
 
Android seminar report
Android seminar reportAndroid seminar report
Android seminar report
 
Best Frameworks for Android App Development in 2022.pdf
Best Frameworks for Android App Development in 2022.pdfBest Frameworks for Android App Development in 2022.pdf
Best Frameworks for Android App Development in 2022.pdf
 
Getting started with the NDK
Getting started with the NDKGetting started with the NDK
Getting started with the NDK
 

Destacado

International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentIJERD Editor
 
Experimental Study of Material Removal Efficiency in EDM Using Various Types ...
Experimental Study of Material Removal Efficiency in EDM Using Various Types ...Experimental Study of Material Removal Efficiency in EDM Using Various Types ...
Experimental Study of Material Removal Efficiency in EDM Using Various Types ...IJERD Editor
 
Intelligent learning management system starters
Intelligent learning management system startersIntelligent learning management system starters
Intelligent learning management system startersIJERD Editor
 
Extrusion process and parameters involved in the experimental and numerical i...
Extrusion process and parameters involved in the experimental and numerical i...Extrusion process and parameters involved in the experimental and numerical i...
Extrusion process and parameters involved in the experimental and numerical i...IJERD Editor
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentIJERD Editor
 
Secure Image Transmission for Cloud Storage System Using Hybrid Scheme
Secure Image Transmission for Cloud Storage System Using Hybrid SchemeSecure Image Transmission for Cloud Storage System Using Hybrid Scheme
Secure Image Transmission for Cloud Storage System Using Hybrid SchemeIJERD Editor
 
Comparatively analysis of FBG optical fiber in 25 & 35 Gbps DCDM based Commun...
Comparatively analysis of FBG optical fiber in 25 & 35 Gbps DCDM based Commun...Comparatively analysis of FBG optical fiber in 25 & 35 Gbps DCDM based Commun...
Comparatively analysis of FBG optical fiber in 25 & 35 Gbps DCDM based Commun...IJERD Editor
 

Destacado (7)

International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
Experimental Study of Material Removal Efficiency in EDM Using Various Types ...
Experimental Study of Material Removal Efficiency in EDM Using Various Types ...Experimental Study of Material Removal Efficiency in EDM Using Various Types ...
Experimental Study of Material Removal Efficiency in EDM Using Various Types ...
 
Intelligent learning management system starters
Intelligent learning management system startersIntelligent learning management system starters
Intelligent learning management system starters
 
Extrusion process and parameters involved in the experimental and numerical i...
Extrusion process and parameters involved in the experimental and numerical i...Extrusion process and parameters involved in the experimental and numerical i...
Extrusion process and parameters involved in the experimental and numerical i...
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
Secure Image Transmission for Cloud Storage System Using Hybrid Scheme
Secure Image Transmission for Cloud Storage System Using Hybrid SchemeSecure Image Transmission for Cloud Storage System Using Hybrid Scheme
Secure Image Transmission for Cloud Storage System Using Hybrid Scheme
 
Comparatively analysis of FBG optical fiber in 25 & 35 Gbps DCDM based Commun...
Comparatively analysis of FBG optical fiber in 25 & 35 Gbps DCDM based Commun...Comparatively analysis of FBG optical fiber in 25 & 35 Gbps DCDM based Commun...
Comparatively analysis of FBG optical fiber in 25 & 35 Gbps DCDM based Commun...
 

Similar a International Journal of Engineering Research and Development

Phonebook Directory or Address Book In Android
Phonebook Directory or Address Book In AndroidPhonebook Directory or Address Book In Android
Phonebook Directory or Address Book In AndroidABHISHEK DINKAR
 
Android architecture
Android architectureAndroid architecture
Android architectureHari Krishna
 
Android_Studio_Structure.docx
Android_Studio_Structure.docxAndroid_Studio_Structure.docx
Android_Studio_Structure.docxKNANTHINIMCA
 
Getting started with android
Getting started with androidGetting started with android
Getting started with androidamitgb
 
Alternatives to Java for Android development
Alternatives to Java for Android developmentAlternatives to Java for Android development
Alternatives to Java for Android developmentttogrul
 
Toğrul Tağıyev - Müxtəlif dillərdə Android proqramlaşdırma
Toğrul Tağıyev - Müxtəlif dillərdə Android proqramlaşdırmaToğrul Tağıyev - Müxtəlif dillərdə Android proqramlaşdırma
Toğrul Tağıyev - Müxtəlif dillərdə Android proqramlaşdırmaFarhad
 
Toğrul Tağıyev - Müxtəlif dillərdə Android proqramlaşdırma
Toğrul Tağıyev - Müxtəlif dillərdə Android proqramlaşdırmaToğrul Tağıyev - Müxtəlif dillərdə Android proqramlaşdırma
Toğrul Tağıyev - Müxtəlif dillərdə Android proqramlaşdırmaFarhad
 
Mobile Application Development-Lecture 03 & 04.pdf
Mobile Application Development-Lecture 03 & 04.pdfMobile Application Development-Lecture 03 & 04.pdf
Mobile Application Development-Lecture 03 & 04.pdfAbdullahMunir32
 
Alternatives to Java for Android development
Alternatives to Java for Android developmentAlternatives to Java for Android development
Alternatives to Java for Android developmentttogrul
 
Evolution of Android Operating System and it’s Versions
Evolution of Android Operating System and it’s VersionsEvolution of Android Operating System and it’s Versions
Evolution of Android Operating System and it’s Versionsijtsrd
 
Android ndk - Introduction
Android ndk  - IntroductionAndroid ndk  - Introduction
Android ndk - IntroductionRakesh Jha
 
Android : Architecture & Components
Android : Architecture & ComponentsAndroid : Architecture & Components
Android : Architecture & ComponentsAkash Bisariya
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to androidzeelpatel0504
 
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...ijafrc
 
First Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting IntroductionFirst Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting IntroductionCesar Augusto Nogueira
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android Ranjith Kumar
 
Top 10 Android Frameworks for Modern.pdf
Top 10 Android Frameworks for Modern.pdfTop 10 Android Frameworks for Modern.pdf
Top 10 Android Frameworks for Modern.pdfsuryamahathi1
 

Similar a International Journal of Engineering Research and Development (20)

Phonebook Directory or Address Book In Android
Phonebook Directory or Address Book In AndroidPhonebook Directory or Address Book In Android
Phonebook Directory or Address Book In Android
 
Android architecture
Android architectureAndroid architecture
Android architecture
 
Android_Studio_Structure.docx
Android_Studio_Structure.docxAndroid_Studio_Structure.docx
Android_Studio_Structure.docx
 
Getting started with android
Getting started with androidGetting started with android
Getting started with android
 
Android
AndroidAndroid
Android
 
Alternatives to Java for Android development
Alternatives to Java for Android developmentAlternatives to Java for Android development
Alternatives to Java for Android development
 
Toğrul Tağıyev - Müxtəlif dillərdə Android proqramlaşdırma
Toğrul Tağıyev - Müxtəlif dillərdə Android proqramlaşdırmaToğrul Tağıyev - Müxtəlif dillərdə Android proqramlaşdırma
Toğrul Tağıyev - Müxtəlif dillərdə Android proqramlaşdırma
 
Toğrul Tağıyev - Müxtəlif dillərdə Android proqramlaşdırma
Toğrul Tağıyev - Müxtəlif dillərdə Android proqramlaşdırmaToğrul Tağıyev - Müxtəlif dillərdə Android proqramlaşdırma
Toğrul Tağıyev - Müxtəlif dillərdə Android proqramlaşdırma
 
Notes Unit2.pptx
Notes Unit2.pptxNotes Unit2.pptx
Notes Unit2.pptx
 
Mobile Application Development-Lecture 03 & 04.pdf
Mobile Application Development-Lecture 03 & 04.pdfMobile Application Development-Lecture 03 & 04.pdf
Mobile Application Development-Lecture 03 & 04.pdf
 
Alternatives to Java for Android development
Alternatives to Java for Android developmentAlternatives to Java for Android development
Alternatives to Java for Android development
 
Evolution of Android Operating System and it’s Versions
Evolution of Android Operating System and it’s VersionsEvolution of Android Operating System and it’s Versions
Evolution of Android Operating System and it’s Versions
 
Android ndk - Introduction
Android ndk  - IntroductionAndroid ndk  - Introduction
Android ndk - Introduction
 
Android : Architecture & Components
Android : Architecture & ComponentsAndroid : Architecture & Components
Android : Architecture & Components
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
 
First Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting IntroductionFirst Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting Introduction
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android
 
Android
AndroidAndroid
Android
 
Top 10 Android Frameworks for Modern.pdf
Top 10 Android Frameworks for Modern.pdfTop 10 Android Frameworks for Modern.pdf
Top 10 Android Frameworks for Modern.pdf
 

Más de IJERD Editor

A Novel Method for Prevention of Bandwidth Distributed Denial of Service Attacks
A Novel Method for Prevention of Bandwidth Distributed Denial of Service AttacksA Novel Method for Prevention of Bandwidth Distributed Denial of Service Attacks
A Novel Method for Prevention of Bandwidth Distributed Denial of Service AttacksIJERD Editor
 
MEMS MICROPHONE INTERFACE
MEMS MICROPHONE INTERFACEMEMS MICROPHONE INTERFACE
MEMS MICROPHONE INTERFACEIJERD Editor
 
Influence of tensile behaviour of slab on the structural Behaviour of shear c...
Influence of tensile behaviour of slab on the structural Behaviour of shear c...Influence of tensile behaviour of slab on the structural Behaviour of shear c...
Influence of tensile behaviour of slab on the structural Behaviour of shear c...IJERD Editor
 
Gold prospecting using Remote Sensing ‘A case study of Sudan’
Gold prospecting using Remote Sensing ‘A case study of Sudan’Gold prospecting using Remote Sensing ‘A case study of Sudan’
Gold prospecting using Remote Sensing ‘A case study of Sudan’IJERD Editor
 
Reducing Corrosion Rate by Welding Design
Reducing Corrosion Rate by Welding DesignReducing Corrosion Rate by Welding Design
Reducing Corrosion Rate by Welding DesignIJERD Editor
 
Router 1X3 – RTL Design and Verification
Router 1X3 – RTL Design and VerificationRouter 1X3 – RTL Design and Verification
Router 1X3 – RTL Design and VerificationIJERD Editor
 
Active Power Exchange in Distributed Power-Flow Controller (DPFC) At Third Ha...
Active Power Exchange in Distributed Power-Flow Controller (DPFC) At Third Ha...Active Power Exchange in Distributed Power-Flow Controller (DPFC) At Third Ha...
Active Power Exchange in Distributed Power-Flow Controller (DPFC) At Third Ha...IJERD Editor
 
Mitigation of Voltage Sag/Swell with Fuzzy Control Reduced Rating DVR
Mitigation of Voltage Sag/Swell with Fuzzy Control Reduced Rating DVRMitigation of Voltage Sag/Swell with Fuzzy Control Reduced Rating DVR
Mitigation of Voltage Sag/Swell with Fuzzy Control Reduced Rating DVRIJERD Editor
 
Study on the Fused Deposition Modelling In Additive Manufacturing
Study on the Fused Deposition Modelling In Additive ManufacturingStudy on the Fused Deposition Modelling In Additive Manufacturing
Study on the Fused Deposition Modelling In Additive ManufacturingIJERD Editor
 
Spyware triggering system by particular string value
Spyware triggering system by particular string valueSpyware triggering system by particular string value
Spyware triggering system by particular string valueIJERD Editor
 
A Blind Steganalysis on JPEG Gray Level Image Based on Statistical Features a...
A Blind Steganalysis on JPEG Gray Level Image Based on Statistical Features a...A Blind Steganalysis on JPEG Gray Level Image Based on Statistical Features a...
A Blind Steganalysis on JPEG Gray Level Image Based on Statistical Features a...IJERD Editor
 
Application of Buckley-Leverett Equation in Modeling the Radius of Invasion i...
Application of Buckley-Leverett Equation in Modeling the Radius of Invasion i...Application of Buckley-Leverett Equation in Modeling the Radius of Invasion i...
Application of Buckley-Leverett Equation in Modeling the Radius of Invasion i...IJERD Editor
 
Gesture Gaming on the World Wide Web Using an Ordinary Web Camera
Gesture Gaming on the World Wide Web Using an Ordinary Web CameraGesture Gaming on the World Wide Web Using an Ordinary Web Camera
Gesture Gaming on the World Wide Web Using an Ordinary Web CameraIJERD Editor
 
Hardware Analysis of Resonant Frequency Converter Using Isolated Circuits And...
Hardware Analysis of Resonant Frequency Converter Using Isolated Circuits And...Hardware Analysis of Resonant Frequency Converter Using Isolated Circuits And...
Hardware Analysis of Resonant Frequency Converter Using Isolated Circuits And...IJERD Editor
 
Simulated Analysis of Resonant Frequency Converter Using Different Tank Circu...
Simulated Analysis of Resonant Frequency Converter Using Different Tank Circu...Simulated Analysis of Resonant Frequency Converter Using Different Tank Circu...
Simulated Analysis of Resonant Frequency Converter Using Different Tank Circu...IJERD Editor
 
Moon-bounce: A Boon for VHF Dxing
Moon-bounce: A Boon for VHF DxingMoon-bounce: A Boon for VHF Dxing
Moon-bounce: A Boon for VHF DxingIJERD Editor
 
“MS-Extractor: An Innovative Approach to Extract Microsatellites on „Y‟ Chrom...
“MS-Extractor: An Innovative Approach to Extract Microsatellites on „Y‟ Chrom...“MS-Extractor: An Innovative Approach to Extract Microsatellites on „Y‟ Chrom...
“MS-Extractor: An Innovative Approach to Extract Microsatellites on „Y‟ Chrom...IJERD Editor
 
Importance of Measurements in Smart Grid
Importance of Measurements in Smart GridImportance of Measurements in Smart Grid
Importance of Measurements in Smart GridIJERD Editor
 
Study of Macro level Properties of SCC using GGBS and Lime stone powder
Study of Macro level Properties of SCC using GGBS and Lime stone powderStudy of Macro level Properties of SCC using GGBS and Lime stone powder
Study of Macro level Properties of SCC using GGBS and Lime stone powderIJERD Editor
 
Seismic Drift Consideration in soft storied RCC buildings: A Critical Review
Seismic Drift Consideration in soft storied RCC buildings: A Critical ReviewSeismic Drift Consideration in soft storied RCC buildings: A Critical Review
Seismic Drift Consideration in soft storied RCC buildings: A Critical ReviewIJERD Editor
 

Más de IJERD Editor (20)

A Novel Method for Prevention of Bandwidth Distributed Denial of Service Attacks
A Novel Method for Prevention of Bandwidth Distributed Denial of Service AttacksA Novel Method for Prevention of Bandwidth Distributed Denial of Service Attacks
A Novel Method for Prevention of Bandwidth Distributed Denial of Service Attacks
 
MEMS MICROPHONE INTERFACE
MEMS MICROPHONE INTERFACEMEMS MICROPHONE INTERFACE
MEMS MICROPHONE INTERFACE
 
Influence of tensile behaviour of slab on the structural Behaviour of shear c...
Influence of tensile behaviour of slab on the structural Behaviour of shear c...Influence of tensile behaviour of slab on the structural Behaviour of shear c...
Influence of tensile behaviour of slab on the structural Behaviour of shear c...
 
Gold prospecting using Remote Sensing ‘A case study of Sudan’
Gold prospecting using Remote Sensing ‘A case study of Sudan’Gold prospecting using Remote Sensing ‘A case study of Sudan’
Gold prospecting using Remote Sensing ‘A case study of Sudan’
 
Reducing Corrosion Rate by Welding Design
Reducing Corrosion Rate by Welding DesignReducing Corrosion Rate by Welding Design
Reducing Corrosion Rate by Welding Design
 
Router 1X3 – RTL Design and Verification
Router 1X3 – RTL Design and VerificationRouter 1X3 – RTL Design and Verification
Router 1X3 – RTL Design and Verification
 
Active Power Exchange in Distributed Power-Flow Controller (DPFC) At Third Ha...
Active Power Exchange in Distributed Power-Flow Controller (DPFC) At Third Ha...Active Power Exchange in Distributed Power-Flow Controller (DPFC) At Third Ha...
Active Power Exchange in Distributed Power-Flow Controller (DPFC) At Third Ha...
 
Mitigation of Voltage Sag/Swell with Fuzzy Control Reduced Rating DVR
Mitigation of Voltage Sag/Swell with Fuzzy Control Reduced Rating DVRMitigation of Voltage Sag/Swell with Fuzzy Control Reduced Rating DVR
Mitigation of Voltage Sag/Swell with Fuzzy Control Reduced Rating DVR
 
Study on the Fused Deposition Modelling In Additive Manufacturing
Study on the Fused Deposition Modelling In Additive ManufacturingStudy on the Fused Deposition Modelling In Additive Manufacturing
Study on the Fused Deposition Modelling In Additive Manufacturing
 
Spyware triggering system by particular string value
Spyware triggering system by particular string valueSpyware triggering system by particular string value
Spyware triggering system by particular string value
 
A Blind Steganalysis on JPEG Gray Level Image Based on Statistical Features a...
A Blind Steganalysis on JPEG Gray Level Image Based on Statistical Features a...A Blind Steganalysis on JPEG Gray Level Image Based on Statistical Features a...
A Blind Steganalysis on JPEG Gray Level Image Based on Statistical Features a...
 
Application of Buckley-Leverett Equation in Modeling the Radius of Invasion i...
Application of Buckley-Leverett Equation in Modeling the Radius of Invasion i...Application of Buckley-Leverett Equation in Modeling the Radius of Invasion i...
Application of Buckley-Leverett Equation in Modeling the Radius of Invasion i...
 
Gesture Gaming on the World Wide Web Using an Ordinary Web Camera
Gesture Gaming on the World Wide Web Using an Ordinary Web CameraGesture Gaming on the World Wide Web Using an Ordinary Web Camera
Gesture Gaming on the World Wide Web Using an Ordinary Web Camera
 
Hardware Analysis of Resonant Frequency Converter Using Isolated Circuits And...
Hardware Analysis of Resonant Frequency Converter Using Isolated Circuits And...Hardware Analysis of Resonant Frequency Converter Using Isolated Circuits And...
Hardware Analysis of Resonant Frequency Converter Using Isolated Circuits And...
 
Simulated Analysis of Resonant Frequency Converter Using Different Tank Circu...
Simulated Analysis of Resonant Frequency Converter Using Different Tank Circu...Simulated Analysis of Resonant Frequency Converter Using Different Tank Circu...
Simulated Analysis of Resonant Frequency Converter Using Different Tank Circu...
 
Moon-bounce: A Boon for VHF Dxing
Moon-bounce: A Boon for VHF DxingMoon-bounce: A Boon for VHF Dxing
Moon-bounce: A Boon for VHF Dxing
 
“MS-Extractor: An Innovative Approach to Extract Microsatellites on „Y‟ Chrom...
“MS-Extractor: An Innovative Approach to Extract Microsatellites on „Y‟ Chrom...“MS-Extractor: An Innovative Approach to Extract Microsatellites on „Y‟ Chrom...
“MS-Extractor: An Innovative Approach to Extract Microsatellites on „Y‟ Chrom...
 
Importance of Measurements in Smart Grid
Importance of Measurements in Smart GridImportance of Measurements in Smart Grid
Importance of Measurements in Smart Grid
 
Study of Macro level Properties of SCC using GGBS and Lime stone powder
Study of Macro level Properties of SCC using GGBS and Lime stone powderStudy of Macro level Properties of SCC using GGBS and Lime stone powder
Study of Macro level Properties of SCC using GGBS and Lime stone powder
 
Seismic Drift Consideration in soft storied RCC buildings: A Critical Review
Seismic Drift Consideration in soft storied RCC buildings: A Critical ReviewSeismic Drift Consideration in soft storied RCC buildings: A Critical Review
Seismic Drift Consideration in soft storied RCC buildings: A Critical Review
 

Último

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 

Último (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 

International Journal of Engineering Research and Development

  • 1. International Journal of Engineering Research and Development e-ISSN: 2278-067X, p-ISSN: 2278-800X, www.ijerd.com Volume 10, Issue 3 (March 2014), PP.18-22 18 A Study on Android development kits and the ‘Phone Gap’ Framework Sabyasachi Patra Mukesh Patel school of Technology and Management, Computer science, Mumbai, India Abstract: - The Android platform is a new generation of a smart mobile platform launched by Google. It is open-sourced and is based on Linux so that it developers can use it freely for development. It provides an easy- to-use development kit (the SDK) developed on the Android OS. There are different ways to go about Android programming right from hardware-oriented programming techniques to platform-independent ones. The paper is about various programming environments within the Android paradigm. It deals with their characteristics, advantages and differences between them. Keywords: - Android, Phone Gap, Web Application, SDK, NDK I. INTRODUCTION Android software development is the process by which new applications are created for the Android operating system. Applications are usually developed in the Java programming language using the Android Software Development Kit. There are many environments to program an Android app and every single environment has its advantages and disadvantages. Android Development Kit:  Software Development Kit  Native Development Kit II. ANDROID SDK The most common and obvious approach of programming Android-Apps is the Android SDK (Software Development Kit) by Google. It provides all the functionality to develop any kind of Android Application. We use the Eclipse IDE with the ADT (Android Development Kit) for programming in the SDK. The Android SDK is an approach that is suited for Java programmers, who want to develop applications exclusively for Android devices, and for every programmer with knowledge of object oriented programming or the time and motivation to learn this paradigm and the Java language. The SDK is essentially freeware, easy to install and allows developers to code using various API’s. It provides you the libraries and developer tools necessary to build, test, and debug apps for Android. [1][2] III. NDK The Android NDK (Native Development Kit) is a companion tool or a toolset to the Android SDK that lets you build performance-critical portions of your apps in native code. It provides headers and libraries that allow you to build activities, handle user input, use hardware sensors, access application resources, and more, when programming in C or C++. [4][6] If we use the NDK and implement parts of the application in native code, the applications are still packaged into .apk file and they still run inside of a virtual machine on the device so that the fundamental Android application model does not change. It can also be defined as a bundle of tools, libraries and documentation that can be used to link in native C/C++ libraries into your Android Java projects. It provides you with everything you need to link your own C/C++ libraries to your apps, as well as commonly- used system libraries. [5] Basically, this is the means by which parts of the Android application can be developed using code other than Java. This is possible through the Android NDK, which is available for three platforms: Windows, Mac OS X and Linux 32/64-bit (x86). [7] We need to balance the NDK’s benefits against its drawbacks. Typical good candidates for the NDK are self-contained, CPU-intensive operations that don't allocate much memory, such as signal processing, physics simulation, and so on. Another area to warrant such tweaks is support for gaming and physics-based applications. When examining whether or not to develop in native code, we need to think about the requirements of the particular application and see if the Android framework APIs provide the functionality that is needed.
  • 2. A Study on Android development kits and the ‘Phone Gap’ Framework 19 Required development tools for NDK: • For all development platforms, GNU Make 3.81 or later is required. Earlier versions of GNU Make might work but have not been tested. • A recent version of ‘awk’ (either ‘GNU Awk’) is also required. • For Windows, Cygwin 1.7 or higher is required. The NDK will not work with Cygwin 1.5 installations. The NDK includes a set of ‘cross-toolchains’ (compilers, linkers, etc.) that can generate native ARM binaries on Linux, OS X, and Windows (with Cygwin) platforms. It provides a set of system headers for stable native APIs that are guaranteed to be supported in all later releases of the platform:  libc (C library) headers  libm (math library) headers  JNI interface headers  libz (Zlib compression) headers  liblog (Android logging) header  OpenGL ES 1.1 and OpenGL ES 2.0 (3D graphics libraries) headers  libjnigraphics (Pixel buffer access) header (for Android 2.2 and above).  A Minimal set of headers for C++ support  OpenSL ES native audio libraries  Android native application APIS Advantages and uses of NDK:  The use of native code with the help of android NDK is usually implemented for improving speed of performance.  It is also intended to support the reuse of existing code and is a way to embed native libraries into an application package file (.apk) that can be deployed on Android devices.  Apps can be written using the Android framework and then the JNI (Java Native Interface) can be used to access the APIs provided by the Android NDK. The JNI enables code running in a Java Virtual Machine to call libraries written in other languages, such as C. This technique allows us to take advantage of the convenience of the Android framework, but still allows us to write native code when necessary.  Within an application, activity lifecycle call-backs such as onCreate(), onPause() and onResume() should be handled in native code. Applications that use such native activities must be run on Android 2.3 (API Level 9) or later as certain features of the Android framework will not be available in previous versions of android. There are two main reasons to consider using the Android NDK  Performance  Porting/Cross-platform. For performance, the NDK can provide high-performance operations for your application if it's truly processor bound. That is, the application algorithms are tapping into all of the device's processing power within the Dalvik VM so that the code may see performance benefits from running natively.  Thus the native code can be used to optimize the application for speed especially when bit/byte operations are used in the code, like when we need to do compression/decompression of image files etc. Hence most games use the native C code libraries for 2D / 3d graphics, input, sound etc. [7]  Running native code is complicated by the fact that Android uses a non-standard C library (libc, known as Bionic). The graphics library that Android uses to arbitrate and control access to the device is called the Skia Graphics Library (SGL), and it has been released under an open source license. Skia has back - ends for both win32 and ‘Unix’, thus allowing the development of cross-platform applications. [8]  NDK can be used to leverage existing code that is already in C or C++. Here, using the NDK could simplify the application development, at the same time allowing for shared code with other platforms, as well as generally helping avoid maintaining parallel codebases in multiple programming languages. This perk is often leveraged with applications that target multiple operating systems using OpenGL ES. Compiling and deploying NDK sample applications (The first step to NDK Development): 1. Open a command-line prompt (or Cygwin prompt on Windows) 2. Go to hello-jni sample directory inside the Android NDK. All the following steps have to performed from this directory: $ cd $ANDROID_NDK/samples/hello-jni
  • 3. A Study on Android development kits and the ‘Phone Gap’ Framework 20 3. Create Ant build file and all related configuration files automatically using android command (android.bat on Windows). These files describe how to compile and package an Android application: android update project –p . 4. Compile, package, and install the final ‘HelloJni’ APK (an Android application package). All these steps can be performed in one command, thanks to Ant build automation tool. Among other things, Ant runs ‘javac’ to compile Java code, AAPT to package the application with its resources, and finally ADB to deploy it on the development device. Following is only a partial extract of the output: $ ant install Fig.1: Cygwin Prompt on Windows IV. PHONEGAP To develop an application with Phone Gap there has to be a Software Development Kit (SDK) that fits the end device because Phone Gap can’t run stand-alone. It grants access to native device APIs. It is a good choice for Web Application developers who want independence from a web server and/or want to distribute their application. ‘PhoneGap’ currently supports development for the operating systems Apple iOS, Google Android, Microsoft Windows Phone (7 and 8) and Nokia Symbian OS. It uses HTML5 and CSS3 for visual rendering and JavaScript for the logic. [3] Developing apps for multiple mobile platform needs a resource too many and a developer needs a firsthand knowledge of multiple IDEs and languages such as C++, Java, Objective C, etc. Cross-platform mobile application development is a fast and efficient way to make available an application on all mobile technologies with limited added cost and software resources. The main challenge in cross-platform mobile application development is the OS fragmentation. The trend of increased fragmentation coincides with the growing number of mobile platforms. First, there were BlackBerry, Symbian and Bada smartphones, then came the powerful iPhone and Android platforms, HP came with WebOS and then Microsoft introduced the Windows Phone. Now Intel, Samsung and various other companies under the open source alliance have forged a new mobile OS called Tizen which comes out in 2014 on selected devices. This means that companies have to keep launching new products to make their presence felt on all mobile platforms. Different programming languages are required for different mobile platforms, so Mobile OS fragmentation is the worst and most diverse fragmentation of all. This adds a sizable technical challenge to launching mobile applications on all mobile platforms. There are also a few other challenges for the developer like consistent user experience across all platforms. [3][4]  Phone Gap is a framework that uses web technology to realize native mobile application, such as iPhone or Android  It uses HTML, CSS, JavaScript technology with native characters like Camera, Media.  It is the only open source frame to support seven platforms, which provides many interfaces to support native API through the calling of JavaScript.  The user interface of the applications are made using HTML and CSS while the backend coding or the calculations can be called using JavaScript for interactivity, dynamism, and interaction with native-OS functionality.  The final output is one that has features of both a web application and a native application. Certain features, such as Image Capture, NFC or Android Open-Accessory, may be implemented natively since there is currently no way to do this in JavaScript.  The application logic and the UI are implemented using web technologies to allow for a consistent and unique user experience across devices.
  • 4. A Study on Android development kits and the ‘Phone Gap’ Framework 21 Fig.2: The role of PhoneGap V. WEB APPLICATIONS (HYBRID) These are applications that run on browsers. The application itself and its data are usually stored and mainly executed on a webserver. The user starts the ‘WebApp’ by sending a HTTP-request via a browser to the webserver where the application is stored. The webserver then generates or subsequently loads the HTML source code of the website and sends it back to the browser. Then the user is able to interact with the graphical user interface (GUI) of the ‘WebApp’. It is represented by a website which runs in a browser. It is platform independent and written in web-based languages. It runs on mobile devices and also on every other device which have access to the internet (if the app is stored on a server) and a browser. These are also known as universal Mobile Applications and are of a great use to ‘not- so – tech – savy’ normal cell phone users. It takes user – friendliness to an all new level. VI. A COMPARATIVE STUDY Table I: Comparison OPTION SDK NDK Phone Gap Web App Installation + -- 0 0 Support ++ + 0 + Learn ability - - - 0 0 Platform Independence - - ++ ++ GUI creation + - + + Potency ++ ++ 0 - - Performance + ++ 0 - Debugging ++ + + --
  • 5. A Study on Android development kits and the ‘Phone Gap’ Framework 22 V. CONCLUSION Normal Android application development in both the industry as well as for personal purposes is done on the Android SDK using the various API’s provided by Google and Android. The NDK is used for special purposes whenever required, as in for Physics simulations or certain kind of games. The depth of research carried out in the ‘Phone Gap’ and SDK programming domains are far wider as compared to the NDK applications and usage. Therefore this paper is a start towards our study and research on the NDK model of Android. The basic purpose of our paper was to carry out a comparative study and review the existing SDK programming paradigms along with the ‘Phone Gap’ Hybrid application framework. We have also given an overview of the NDK, its importance, its usage and an overall picture of what it takes to install and use it. ACKNOWLEDGMENT This research paper is made possible through the help and support of many people both inside and outside the domain of Engineering and Science. Especially, please allow me to dedicate my acknowledgment of gratitude towards our college Librarian Mr. Pradip Das and his team. I would also like to thank Mr. Anand Gawadekar of the NMIMS IEEE Committee due to which I could get all requested references seamlessly without any trouble and on time. A sincere thanks to our college and Computer Science department H.O.D. Professor Dhirendra Mishra for allowing us to enter the invaluable field of research in our so important final year of B.Tech. Finally, I would like to thank my parents who always encouraged me to do as much research I could do in my capacity in the final year and extend an outside support whenever and wherever required. REFERENCES [1]. M. H. Amerkashi. Apptomarket. http://code.google.com/p/apptomarket/, Apr. 2013. [2]. S. Baltes. Run anywhere. web & mobile DEVELOPER, 06:94–100,May 2013 [3]. PhoneGap. Phonegap api documentation. http://phonegap.com, Mar. 2013. [4]. S. Ratabouil. Android NDK Beginner’s Guide. Packt Publishing, 2012. [5]. A. Sarah, V. Graupera, and L. Lundrigan. Pro Smartphone Cross- Platform Development: iPhone, Blackberry, Windows Mobile and Android Development and Distribution. Apress, 2010. [6]. X. Shu, Z. Du, and R. Chen. Research on mobile location service design based on android. In 5th International Conference on Wireless Communications, Networking and Mobile Computing, 2009. WiCom’09, pages 1–4, 2009. [7]. K.-C. Son and J.-Y. Lee. The method of android application speed up by using NDK. In 2011 3rd International Conference on Awareness Science and Technology (iCAST), pages 382–385, 2011. [8]. J. Stark. Android Apps mit HTML, CSS und JavaScript. O’Reilly, 1 edition, Dec. 2010. [9]. C. Ullenboom. Java ist auch eine Insel - programmieren mit der Java Platform, Standard Edition 6. Galileo Press, Bonn, 7. aufl. edition,2008