How to Create Android Applications
1 www.tops-int.com
http://www.tops-int.com/live-project-training-android.html
By TOPS Technologies..
Table of Contents 1. What is Android? –
1.1. Android Operation System
–
1.2. Android Platform components
–
1.3. Task
–
1.4. Google Play
2. Android Development Tools –
2.1. Android SDK
http://www.tops-int.com/live-project-training-android.html – 2.2. Android Developer Tools and Android Studio
2.3. Dalvik Virtual Machine 2.4. How to Develop Android Applications
3. Security and Permissions –
3.1. Security Concept in Android
–
3.2. Permission Concept in Android
5. Installation –
4.1. Install Android Developer Tools
http://www.tops-int.com/live-project-training-android.html – 4.2 Other Eclipse installation options
3
1. What is Android? 1.1. Android Operation System • Android is an operating system based on the Linux kernel. The project responsible for developing the Android system is called the Android Open Source Project (AOSP) and is primarily lead by Google. • The Android system supports background processing, provides a rich user interface library, supports 2-D and 3-D graphics using the OpenGL standard, access to the file system and provides an embedded SQLite database. http://www.tops-int.com/live-project-training-android.html
4
1.2. Android platform Components The Android System is a full software stack which is typically defined into the following four areas. • Applications - The Android Open Source project contains several default application, like the Browser, Camera, Gallery, Music, Phone and more. • Application framework - API which allows for high-level interaction with the Android system from Android applications. • Libraries and runtime - Libraries for the Application Framework for many functions (graphic rendering, data storage, web browsing, etc.) and the Dalvik runtime and the core Java libraries for running Android applications. •http://www.tops-int.com/live-project-trainingLinux kernel - Communication layer for the underlying hardware. 5 android.html
• This architecture is depicted in the following graphic.
• The developer typically works with the two layers on top to create new Android applications. The Linux kernel, the libraries and the runtime are encapsulated by the Application framework. http://www.tops-int.com/live-project-training-android.html 6
1.3. Task The reuse of components of other applications leads to the concept of a task in Android; an application can reuse other Android components to achieve a task. For example, you can trigger from your application another application which has registered itself with the Android system to handle photos. In this other application you select a photo and return to your application to use the selected photo.
1.4. Google Play Google offers the Google Play service, a marketplace in which programmers can offer their Android applications to Android users. End users use the Google Play application which allows to buy and install http://www.tops-int.com/live-project-training-android.html 7 applications from the Google Play service.
• Google Play also offers an update service. If a programmer uploads a new version of his application to Google Play, this service notifies existing users that an update is available and allows them to install the update. • Google Play provides access to services and libraries for Android application programmers, too. For example, it provides a service to use and display Google Maps and another to synchronize the application state between different Android installations. • Providing these services via Google Play has the advantage that they are available for older Android releases and can be updated by Google without the need for an update of the Android release on the phone.
http://www.tops-int.com/live-project-training-android.html
8
2. Android Development Tools 2.1. Android SDK • The Android Software Development Kit (Android SDK) contains the necessary tools to create, compile and package Android applications. Most of these tools are command line based. The primary way to develop Android applications is based on the Java programming language. • The Android SDK contains the Android debug bridge (adb) which is a tool that allows you to connect to a virtual or real Android device for the purpose of managing the device or debugging your application. http://www.tops-int.com/live-project-training-android.html
9
2.2. Android Developer Tools and Android Studio • Google provides graphical development environments based on the Eclipse and IntelliJ IDE to develop new applications. • The Android Developer Tools (ADT) are based on the Eclipse IDE and provide additional functionalities to develop Android applications. ADT is a set of components (plug-ins) which extend the Eclipse IDE with Android development capabilities. • Google also supports an IDE called Android Studio for creating Android applications. This IDE is based on the IntelliJ IDE. • Both tools contain all required functionality to create, compile, debug and deploy Android applications from the IDE. They also allow the developer to create and 10 start virtual Android devices for testing. http://www.tops-int.com/live-project-training-android.html
2.3 Davlik Virtual Machine • The Android system uses a special virtual machine, i.e., the Dalvik Virtual Machine to run Java based applications. Dalvik uses a custom byte code format which is different from Java byte code. • Therefore you cannot run Java class files on Android directly; they need to get converted in the Dalvik byte code format.
2.4. How to Develop Android Applications • Android applications are primarily written in the Java programming language. • During development the developer creates the Android specific configuration files and writes the application logic in the Java programming language. The Java source files are converted to Java class files by the Java compiler. http://www.tops-int.com/live-project-training-android.html
11
• The Android SDK contains a tool called dx which converts Java class files into a .dex (Dalvik Executable) file. All class files of one application are placed in one compressed .dex file. During this conversion process redundant information in the class files are optimized in the .dex file. For example, if the same String is found in different class files, the .dexfile contains only one reference of this String. • These .dex files are therefore much smaller in size than the corresponding class files. • The .dex file and the resources of an Android project, e.g., the images and XML files, are packed into an .apk(Android Package) file. The program aapt (Android Asset Packaging Tool) performs this packaging. • The resulting .apk file contains all necessary data to run the Android application and can be deployed to an Android device via the adb tool. • The ADT and Android Studio tools perform these steps transparently to the user, i.e., if the user selects that the application should be deployed, the whole Android application (.apk file) is created, deployed and started. http://www.tops-int.com/live-project-training-android.html
12
3. Security and Permissions 3.1. Security Concept in Android • The Android system installs every Android application with a unique user and group ID. Each application file is private to this generated user, e.g., other applications cannot access these files. In addition each Android application is started in its own process. • Therefore, by means of the underlying Linux kernel, every Android application is isolated from other running applications. • If data should be shared, the application must do this explicitly, e.g., via a service or a content provider.
3.2. Permission Concept in Android http://www.tops-int.com/live-project-training-android.html
13
• Android contains a permission system and predefines permissions for certain tasks. Every application can request required permissions and also define new permissions. For example, an application may declare that it requires access to the Internet. • Permissions have different levels. Some permissions are automatically granted by the Android system, some are automatically rejected. In most cases the requested permissions are presented to the user before installing the application. The user needs to decide if these permissions shall be given to the application. • If the user denies a required permission, the related application cannot be installed. The check of the permission is only performed during installation, permissions cannot be denied or granted after the installation. http://www.tops-int.com/live-project-training-android.html
14
4. Installation 4.1. Install Android Developer Tools 4.1.1. Download packaged Android Developer Tools Google provides a packaged and configured Android development environment based on the Eclipse IDE called Android Developer Tools. Under the following URL you find an archive file which includes all required tools for Android development: Getting the Android SDK.
4.1.2. Stand-alone ADT installation Extract the zip file and start the Android Developer Tools (Eclipse) which are located in the eclipse folder. You can do this by doubleclicking on the eclipse native launcher. (e.g., eclipse.exe under Windows). http://www.tops-int.com/live-project-training-
15
4.1.3. Update an existing Eclipse IDE
See for a description on how to update your existing Eclipse IDE to perform Android development.
4.2. Other Eclipse installation Options The simplest way to start Android development with Eclipse is to download a complete and pre-configured bundle as described in Section 4.1.1, “Download packaged Android Developer Tools”. It is also possible to update an existing Eclipse installation. Please see Android installation for a detailed description http://www.tops-int.com/live-project-training-android.html
16
Contact Us for Android Training Ahmedabad Location
Ahmedabad Location
(C.G Road)
(Maninagar)
903, Samedh Complex,
401, Amruta Arcade 4th Floor,
Next Associated Petrol Pump,
Maninagar Char Rasta,
CG Road,
Near Rly Station,
Ahmedabad 380009.
Maninagar.
Mo.No.99747 55006
Mo.No.99748 63333
http://www.tops-int.com/live-project-training-android.html
17
http://www.tops-int.com/live-project-training-android.html