Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Introduction to Android development - Presentation Report

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
I
SEMINAR REPORT
ON
ANDROID DEVELOPMENT
By
ATUL PANJWANI
(120120107013)
DEPARTMENT OF COMPUTER ENGINEERING
GANDHINAGAR INS...
II
SEMINAR REPORT
ON
ANDROID DEVELOPMENT
By
ATUL PANJWANI
Guided by
Prof. MansiVithalani
(C.E. / I.T. Dept.)
DEPARTMENT OF...
III
GANDHINAGAR INSTITUTE OF TECHNOLOGY
DEPARTMENT OF COMPUTER ENGINEERING
CERTIFICATE
This is to certify that the project...
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Nächste SlideShare
Android ppt
Android ppt
Wird geladen in …3
×

Hier ansehen

1 von 40 Anzeige

Introduction to Android development - Presentation Report

Herunterladen, um offline zu lesen

A powerpoint presentation on Introduction to android development
prepared for college seminar
[ppt is also uploaded named "Introduction to Android development - Presentation"]
Source: developer.android.com

A powerpoint presentation on Introduction to android development
prepared for college seminar
[ppt is also uploaded named "Introduction to Android development - Presentation"]
Source: developer.android.com

Anzeige
Anzeige

Weitere Verwandte Inhalte

Anzeige

Ähnlich wie Introduction to Android development - Presentation Report (20)

Aktuellste (20)

Anzeige

Introduction to Android development - Presentation Report

  1. 1. I SEMINAR REPORT ON ANDROID DEVELOPMENT By ATUL PANJWANI (120120107013) DEPARTMENT OF COMPUTER ENGINEERING GANDHINAGAR INSTITUTE OF TECHNOLOGY 2014/2015
  2. 2. II SEMINAR REPORT ON ANDROID DEVELOPMENT By ATUL PANJWANI Guided by Prof. MansiVithalani (C.E. / I.T. Dept.) DEPARTMENT OF COMPUTER ENGINEERING GANDHINAGAR INSTITUTE OF TECHNOLOGY 2014/2015
  3. 3. III GANDHINAGAR INSTITUTE OF TECHNOLOGY DEPARTMENT OF COMPUTER ENGINEERING CERTIFICATE This is to certify that the project entitled ―ANDROID DEVELOPMENT” has been carried out by ATUL PANJWANI under my guidance in partial fulfilment ofthe degree of Bachelor of Engineering in Computer Engineering of Gandhinagar Institute of Technology during the academic year 2014. To the best of my knowledge and belief this work has been submitted elsewhere for the award of Bachelor in Engineering degree. Guided By Head of Department Prof. Mansi Vithalani Prof. Kinjal Adhvaryu (CE Department)
  4. 4. IV ACKNOWLEDGEMENT As I write this acknowledgement, I must clarify that this is not just a formal acknowledgement, but also a sincere note of thanks and regard from my side. I feel a deep sense of gratitude and affection for those who were associated with this seminar. Without their co-operation and guidance this seminar could not have been conducted properly. I am also indebted to my friends and family for their constant support and their priceless reviews which helped me to take this seminar to current level. I am also thankful to our Head of the Department Prof. Kinjal Adhvaryu, for her indispensable suggestions and kind help throughout the project. ATUL PANJWANI
  5. 5. V PAGE INDEX Chapter Page Abstract 1 1. Introduction 2 1.1 What is Android? 2 1.2 Why Android? 2 1.3 History 3 1.4 Architecture 5 1.5 Development Process 7 2. Training 8 2.1 Getting Started 8 2.2 Building Apps 12 2.3 Best Practices 15 3. API Guides 18 3.1 App Components 19 3.2 App Resources 19 3.3 User Interface 20 3.4 Animation & Graphics 21 3.5 Computation 21 3.6 Media 22 3.7 Connectivity 22 3.8 Data Storage 23 4. References ̶ Packages & Classes 24
  6. 6. VI 5. Tools 26 5.1 Eclipse ADT 26 5.2 Android Studio ─ beta 28 5.3 Difference 29 6. Interesting about Android 30 6.1 Google Services 30 6.2 Android Nomenclature 32 6.3 Conclusion 33 Bibliography 34
  7. 7. 1 ABSTRACT  Android is a mobile operating system (OS) based on the Linux kernel and currently developed by Google.  Android is designed primarily for touchscreen mobile devices such as smartphones and tablet computers, with specialized user interfaces for televisions (Android TV), cars (Android Auto), and wrist watches (Android Wear).  It also has been used in game consoles, digital cameras, regular PCs and other electronics.  Android has 4 layers: applications, applications framework, libraries & LINUX kernel.  Google sells the license to run android on third party hardwares.  In May 2012, the number of available apps in the Google Play Store amounted to 500,000 and surpassed 1 million apps in July 2013.  The user interface of Android is based on the concept of direct manipulation, using multi-touch gestures.  Interaction with the OS includes gestures such as swiping, tapping, pinching, and reverse pinching. The report gives you the clear idea for development of android along with its history and some interesting features. The idea of learning, rather practising android has become an important ―course‖ and key to success for a computer engineer.
  8. 8. 2 Chapter 1: Introduction 1.1 WHAT IS ANDROID? Android is a mobile operating system (OS) based on the Linux kernel and currently developed by Google. With a user interface based on direct manipulation, Android is designed primarily for touchscreen mobile devices such as smartphones and tablet computers, with specialized user interfaces for televisions (Android TV), cars (Android Auto), and wrist watches (Android Wear). The OS uses touch inputs that loosely correspond to real-world actions, like swiping, tapping, pinching, and reverse pinching to manipulate on-screen objects, and a virtual keyboard. Despite being primarily designed for touchscreen input, it also has been used in game consoles, digital cameras, regular PCs and other electronics. Android's source code is released by Google under open source licenses, although most Android devices ultimately ship with a combination of open source and proprietary software. Initially developed by Android, Inc., which Google backed financially and later bought in 2005, Android was unveiled in 2007 along with the founding of the Open Handset Alliance—a consortium of hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices. 1.2 WHY ANDROID? Android is popular with technology companies which require a ready-made, low-cost and customizable operating system for high-tech devices. Android's open nature has encouraged a large community of developers and enthusiasts to use the open-source code as a foundation for community-driven projects,
  9. 9. 3 which add new features for advanced users or bring Android to devices which were officially released running other operating systems. The operating system's success has made it a target for patent litigation as part of the so- called "smartphone wars" between technology companies. Following features add to the day-by-day increasing usage of Android devices in the market:  Multitasking  Ease of access of notification  Access to millions of applications (through Google Play Store)  Widgets  Permission to install Custom ROM  Google Support 1.3 HISTORY Android, Inc. was founded in Palo Alto, California in October 2003 by Andy Rubin (co-founder of Danger), Rich Miner (co-founder of Wildfire Communications, Inc.), Nick Sears (once VP at T-Mobile), and Chris White (headed design and interface development at WebTV) to develop, in Rubin's words, "smarter mobile devices that are more aware of its owner's location and preferences". The early intentions of the company were to develop an advanced operating system for digital cameras, when it was realized that the market for the devices was not large enough, and diverted their efforts to producing a smartphone operating system to rival those of Symbian and Windows Mobile. Despite the past accomplishments of the founders and early employees, Android Inc. operated secretly, revealing only that it was working on software for mobile phones.That same year, Rubin ran
  10. 10. 4 out of money. Steve Perlman, a close friend of Rubin, brought him $10,000 in cash in an envelope and refused a stake in the company. Google acquired Android Inc. on August 17, 2005; key employees of Android Inc., including Rubin, Miner, and White, stayed at the company after the acquisition. Not much was known about Android Inc. at the time, but many assumed that Google was planning to enter the mobile phone market with this move. At Google, the team led by Rubin developed a mobile device platform powered by the Linux kernel. Google marketed the platform to handset makers and carriers on the promise of providing a flexible, upgradable system. Google had lined up a series of hardware component and software partners and signalled to carriers that it was open to various degrees of cooperation on their part. On November 5, 2007, the Open Handset Alliance, a consortium of technology companies including Google, device manufacturers such as HTC, Sony and Samsung, wireless carriers such as Sprint Nextel and T- Mobile, and chipset makers such as Qualcomm and Texas Instruments, unveiled itself, with a goal to develop open standards for mobile devices. That day, Android was unveiled as its first product, a mobile device platformbuilt on the Linux kernel version 2.6.25. The first commercially available smartphone running Android was the HTC Dream, released on October 22, 2008. In 2010, Google launched its Nexus series of devices – a line of smartphones and tablets running the Android operating system, and built by manufacturing partners. HTC collaborated with Google to release the first Nexus smartphone, the Nexus One. Google has since updated the series with newer devices, such as the Nexus 5 phone (made by LG) and the Nexus 7 tablet (made by Asus). Google releases the Nexus phones and
  11. 11. 5 tablets to act as their flagship Android devices, demonstrating Android's latest software and hardware features. Since 2008, Android has seen numerous updates which have incrementally improved the operating system, adding new features and fixing bugs in previous releases. Each major release is named in alphabetical order after a dessert or sugary treat; for example, version 1.5 Cupcake was followed by 1.6 Donut. The latest released version, 4.4.4 KitKat, appeared as a security- only update; it was released on June 19, 2014, shortly after the release of 4.4.3. As of October 2014, newest version of the Android operating system, Android 5.0 "Lollipop", is available only as a developer preview. 1.4 ARCHITECTURE
  12. 12. 6 Android operating system is a stack of software components which is roughly divided into five sections and four main layers as shown above in the architecture diagram. 1.4.1 Linux kernel At the bottom of the layers is Linux - Linux 2.6 with approximately 115 patches. This provides basic system functionality like process management, memory management, device management like camera, keypad, display etc. Also, the kernel handles all the things that Linux is really good at such as networking and a vast array of device drivers, which take the pain out of interfacing to peripheral hardware. 1.4.2 Libraries On top of Linux kernel there is a set of libraries including open-source Web browser engine WebKit, well known library libc, SQLite database which is a useful repository for storage and sharing of application data, libraries to play and record audio and video, SSL libraries responsible for Internet security etc. 1.4.3 Android Runtime This is the third section of the architecture and available on the second layer from the bottom. This section provides a key component called Dalvik Virtual Machine which is a kind of Java Virtual Machine specially designed and optimized for Android. The Dalvik VM makes use of Linux core features like memory management and multi-threading, which is intrinsic in the Java language. The Dalvik VM enables every Android application to run in its own process, with its own instance of the Dalvik virtual machine.
  13. 13. 7 The Android runtime also provides a set of core libraries which enable Android application developers to write Android applications using standard Java programming language. 1.4.4 Application Framework The Application Framework layer provides many higher-level services to applications in the form of Java classes. Application developers are allowed to make use of these services in their applications. 1.4.5 Applications You will find all the Android application at the top layer. You will write your application to be installed on this layer only. Examples of such applications are Contacts Books, Browser, Games etc. 1.5 DEVELOPMENT PROCESS Android applications development process is mainly divided in following categories:  Training  API Guides  References & Packages  Tools  Google Services We will see the above stages in the succeeding chapters.
  14. 14. 8 Chapter 2: Training 2.1 GETTING STARTED Getting started, teaches you the bare essentials for Android app development. If you're a new Android app developer, you should complete each of these classes in order: 2.1.1 Building First App This class teaches you how to build your first Android app. You’ll learn how to create an Android project and run a debuggable version of the app. You'll also learn some fundamentals of Android app design, including how to build a simple user interface and handle user input. Before you start this class, be sure you have your development environment set up. You need to: 1. Download the Android SDK. 2. Install the ADT plugin for Eclipse (if you’ll use the Eclipse IDE). 3. Download the latest SDK tools and platforms using the SDK Manager. 2.1.1.1 Creating sample app using Eclipse 1. Click New in the toolbar. 2. In the window that appears, open the Android folder, select Android Application Project, and click Next.
  15. 15. 9 Figure 1. The New Android App Project wizard in Eclipse. 3. Fill in the form that appears: o Application Name is the app name that appears to users. For this project, use "My First App." o Project Name is the name of your project directory and the name visible in Eclipse. o Package Name is the package namespace for your app (following the same rules as packages in the Java programming language). Your package name must be unique across all packages installed on the Android system. For this reason, it's generally best if you use a name that begins with the reverse domain name of your organization or publisher entity. For this project, you can use something like "com.example.myfirstapp." However, you cannot publish your app on Google Play using the "com.example" namespace.
  16. 16. 10 o Minimum Required SDK is the lowest version of Android that your app supports, indicated using the API level. To support as many devices as possible, you should set this to the lowest version available that allows your app to provide its core feature set. If any feature of your app is possible only on newer versions of Android and it's not critical to the app's core feature set, you can enable the feature only when running on the versions that support it (as discussed in Supporting Different Platform Versions). Leave this set to the default value for this project. o Target SDK indicates the highest version of Android (also using the API level) with which you have tested with your application. As new versions of Android become available, you should test your app on the new version and update this value to match the latest API level in order to take advantage of new platform features. o Compile With is the platform version against which you will compile your app. By default, this is set to the latest version of Android available in your SDK. (It should be Android 4.1 or greater; if you don't have such a version available, you must install one using the SDK Manager). You can still build your app to support older versions, but setting the build target to the latest version allows you to enable new features and optimize your app for a great user experience on the latest devices. o Theme specifies the Android UI style to apply for your app. You can leave this alone. Click Next.
  17. 17. 11 4. On the next screen to configure the project, leave the default selections and click Next. 5. The next screen can help you create a launcher icon for your app. You can customize an icon in several ways and the tool generates an icon for all screen densities. Before you publish your app, you should be sure your icon meets the specifications defined in the Iconographydesign guide. Click Next. 6. Now you can select an activity template from which to begin building your app. For this project, select BlankActivity and click Next. 7. Leave all the details for the activity in their default state and click Finish. 2.1.2 Adding Action Bar The action bar is one of the most important design elements you can implement for your app's activities. Although first introduced with API level 11, you can use the Support Library to include the action bar on devices running Android 2.1 or higher. 2.1.3 Supporting Different Devices How to build your app with alternative resources that provide an optimized user experience on multiple device form factors using a single APK.
  18. 18. 12 2.1.4 Building Dynamic UI How to build a user interface for your app that is flexible enough to present multiple UI components on large screens and a more constrained set of UI components on smaller screens—essential for building a single APK for both phones and tablets. 2.1.5 Saving Data To save data on the device, whether it's temporary files, downloaded app assets, user media, structured data, or something else. 2.1.6 Interacting With Other Apps To build a user experience that leverages other apps available on the device to perform advanced user tasks, such as capture a photo or view an address on a map. 2.2 BUILDING APPS 2.2.1WithSharing Simple Data To take your app interaction to the next level by sharing information with other apps, receive information back, and provide a simple and scalable way to perform Share actions with user content. 2.2.1.1 Sharing Files To provide secure access to a file associated with your app using a content URI and temporary access permissions. 2.2.1.2 Sharing Files with NFC To transfer files between devices using the NFC Android Beam feature.
  19. 19. 13 2.2.2BUILDING APPS WITH CONTENT MULTIMEDIA 2.2.2.1Managing Audio Playback To respond to hardware audio key presses, request audio focus when playing audio, and respond appropriately to changes in audio focus. 2.2.2.3Capturing Photos To leverage existing camera apps on the user's device to capture photos or control the camera hardware directly and build your own camera app. 2.2.2.4Printing Content To print photos, HTML documents, and custom documents from your app. 2.2.3BUILDING APPS WITH CONNECTIVITY & CLOUD 2.2.3.1Connecting Devices Wirelessly To find and connect to local devices using Network Service Discovery and how to create peer-to-peer connections with Wi-Fi. 2.2.3.2Performing Network Operations To create a network connection, monitor the connection for changes in connectivity, and perform transactions with XML data. 2.2.3.3Transferring Data Without Draining the Battery To minimize your app's impact on the battery when performing downloads and other network transactions. 2.2.3.4Syncing to the Cloud To sync and back up app and user data to remote web services in the cloud and how to restore the data back to multiple devices.
  20. 20. 14 2.2.3.5 Resolving Cloud Save Conflicts To design a robust conflict resolution strategy for apps that save data to the cloud. 2.2.3.6Transferring Data Using Sync Adapters To transfer data between the cloud and the device using the Android sync adapter framework 2.2.3.7Transmitting Network Data Using Volley To perform fast, scalable UI operations over the network using Volley 2.2.4 BUILDING APPS WITH LOCATION INFO These classes teach you how to add user personalization to your app. Some of the ways you can do this is by identifying users, providing information that's relevant to them, and providing information about the world around them. 2.2.4.1Accessing Contacts Data To use Android's central address book, the Contacts Provider, to display contacts and their details and modify contact information. 2.2.4.2Making Your App Location-Aware To add location-aware features to your app by getting the user's current location.
  21. 21. 15 2.3 BEST PRACTICES 2.3.1 FOR INTERACTION These classes teach you how to engage and retain your users by implementing the best interaction patterns for Android. For instance, to help users quickly discover content in your app, your app should match their expectations for user interaction on Android. And to keep your users coming back, you should take advantage of platform capabilities that reveal and open your content without requiring users to go through the app launcher. 2.3.1.1Designing Effective Navigation To plan your app's screen hierarchy and forms of navigation so users can effectively and intuitively traverse your app content using various navigation patterns. 2.3.1.2Implementing Effective Navigation To implement various navigation patterns such as swipe views, a navigation drawer, and up navigation. 2.3.1.3Notifying the User To display messages called notifications outside of your application's UI. 2.3.1.4Adding Search Functionality To properly add a search interface to your app and create a searchable database.
  22. 22. 16 2.3.1.5Making Your App Content Searchable by Google To enable deep linking and indexing of your application content so that users can open this content directly from their mobile search results. 2.3.2 FOR USER INTERFACE These classes teach you how to build a user interface using Android layouts for all types of devices. Android provides a flexible framework for UI design that allows your app to display different layouts for different devices, create custom UI widgets, and even control aspects of the system UI outside your app's window. 2.3.2.1 Designing for Multiple Screens To build a user interface that's flexible enough to fit perfectly on any screen and how to create different interaction patterns that are optimized for different screen sizes. 2.3.2.2 Creating Custom Views To build custom UI widgets that are interactive and smooth. 2.3.2.3 Creating Backward-Compatible UIs To use UI components and other APIs from the more recent versions of Android while remaining compatible with older versions of the platform. 2.3.2.4 Implementing Accessibility To make your app accessible to users with vision impairment or other physical disabilities.
  23. 23. 17 2.3.2.5 Managing the System UI To hide and show status and navigation bars across different versions of Android, while managing the display of other screen components.
  24. 24. 18 Chapter 3: API Guides In computer programming, application programming interface (API) is a set of routines, protocols, and tools for building software applications. An API expresses a software component in terms of its operations, inputs, outputs, and underlying types. An API defines functionalities that are independent of their respective implementations, which allows definitions and implementations to vary without compromising each other. The API specifies how software components should interact. An API is used when programminggraphical user interface (GUI) components. A good API makes it easier to develop a program by providing all the building blocks. A programmer then puts the blocks together. In addition to accessing databases or computer hardware, such as hard disk drives or video cards, an API can ease the work of programming GUI components. For example, an API can facilitate integration of new features into existing applications (a so-called "plug-in API"). An API can also assist otherwise distinct applications share data, which can help to integrate and enhance the functionalities of the applications. APIs often come in the form of a library that includes specifications for routines, data structures, object classes, and variables. In other cases, notably SOAP and REST services, an API is simply a specification of remote calls exposed to the API consumers. An API specification can take many forms, including an International Standard, such as POSIX, vendor documentation, such as the Microsoft Windows API, or the libraries of a programming language, e.g., Standard Template Library in C++ or Java API. An API differs from
  25. 25. 19 an application binary interface (ABI) in that an API is source code-based while an ABI is a binary interface. For instance POSIX is an API, while the Linux Standard Base is an ABI. 3.1 APP COMPONENTS Android's application framework lets you create rich and innovative apps using a set of reusable components. This section explains how you can build the components that define the building blocks of your app and how to connect them together using intents. These include:  Intents and Intent Filters  Activities  Services  Content Providers  App Widgets  Processes and Threads 3.2 APP RESOURCES The following documents provide a complete guide to how you can organize your application resources, specify alternative resources, access them in your application, and more: The following documents provide a complete guide to how you can organize your application resources, specify alternative resources, access them in your application, and more:
  26. 26. 20 3.2.1 Providing Resources What kinds of resources you can provide in your app, where to save them, and how to create alternative resources for specific device configurations. 3.2.2 Accessing Resources To use the resources you've provided, either by referencing them from your application code or from other XML resources. 3.2.3 Handling Runtime Changes To manage configuration changes that occur while your Activity is running. 3.2.4 Localization A bottom-up guide to localizing your application using alternative resources. While this is just one specific use of alternative resources, it is very important in order to reach more users. 3.2.5 Resource Types A reference of various resource types you can provide, describing their XML elements, attributes, and syntax. For example, this reference shows you how to create a resource for application menus, drawables, animations, and more. 3.3 USER INTERFACE Your app's user interface is everything that the user can see and interact with. Android provides a variety of pre-build UI components such as structured layout objects and UI controls that allow you to build the graphical user interface for your app. Android also provides other UI modules for special interfaces such as dialogs, notifications, and menus. These include:
  27. 27. 21 3.4 ANIMATION & GRAPHICS Make your apps look and perform their best using Android's powerful graphics features such as OpenGL, hardware acceleration, and built-in UI animations.  Property Animation  View Animation  Drawable Animation  Canvas and Drawables  OpenGL ES  Hardware Acceleration 3.5 COMPUTATION RenderScript provides a platform-independent computation engine that operates at the native level. Use it to accelerate your apps that require extensive computational horsepower.
  28. 28. 22  RenderScript  Advanced RenderScript  Runtime API Reference 3.6 MEDIA Add video, audio, and photo capabilities to your app with Android's robust APIs for playing and recording media.  Media Playback  Media Router  Media Route Provider  ExoPlayer  Supported Media Formats  Audio Capture  JetPlayer  Camera 3.7 CONNECTIVITY Android provides rich APIs to let your app connect and interact with other devices over Bluetooth, NFC, Wi-Fi P2P, USB, and SIP, in addition to standard network connections.  Bluetooth  NFC  Wi-Fi P2P  USB  SIP
  29. 29. 23 3.8 DATA STORAGE Store application data in databases, files, or preferences, in internal or removable storage. You can also add a data backup service to let users store and recover application and system data.  Storage Options  Data Backup  App Install Location
  30. 30. 24 Chapter 4: Packages & Classes Below listed are some of the Packages used for android application development. The programmers while app development, do not have to remember a huge number of packages and the classes included in the packages. So they use the reference from the official android development website: http://developer.android.com/reference/packages.html Some packages are listed hereby: android Contains resource classes used by applications included in the platform and defines application permissions for system features. android.accessibilityservice The classes in this package are used for development of accessibility service that provide alternative or augmented feedback to the user. android.app.backup Contains the backup and restore functionality available to applications. If a user wipes the data on their device or upgrades to a new Android-powered device, all applications that have enabled backup can restore the user's previous data when the application is reinstalled. android.appwidget Contains the components necessary to create "app widgets", which users can embed in other applications (such as the home screen) to quickly access application data and services without launching a new activity. For more information, see the App Widgets guide. android.bluetooth Provides classes that manage Bluetooth functionality, such as scanning for devices, connecting with devices, and managing data transfer between devices. The Bluetooth API supports both "Classic Bluetooth" and Bluetooth Low Energy. android.database Contains classes to explore data returned through a content provider.
  31. 31. 25 android.graphics Provides low level graphics tools such as canvases, color filters, points, and rectangles that let you handle drawing to the screen directly. android.graphics.drawable Provides classes to manage a variety of visual elements that are intended for display only, such as bitmaps and gradients. android.graphics.drawable.shapes Contains classes for drawing geometric shapes. android.graphics.pdf Contains classes for manipulation of PDF content. android.hardware Provides support for hardware features, such as the camera and other sensors. android.hardware.camera2 The android.hardware.camera2 package provides an interface to individual camera devices connected to an Android device. android.mtp Provides APIs that let you interact directly with connected cameras and other devices, using the PTP (Picture Transfer Protocol) subset of the MTP (Media Transfer Protocol) specification. android.net Classes that help with network access, beyond the normal java.net.* APIs. android.net.wifi Provides classes to manage Wi-Fi functionality on the device. android.net.wifi.p2p Provides classes to create peer-to-peer (P2P) connections with Wi-Fi Direct. android.security Provides access to a few facilities of the Android security subsystems.
  32. 32. 26 Chapter 5: Tools 5.1 ECLIPSE The Android SDK provides the API libraries and developer tools necessary to build, test, and debug apps for Android. Download the ADT Bundle to quickly start developing apps. It includes the essential Android SDK components and a version of the Eclipse IDE with built-in ADT (Android Developer Tools) to streamline your Android app development. With a single download, the Eclipse ADT bundle includes everything you need to begin developing apps:  Eclipse + ADT plug-in  Android SDK Tools  Android Platform-tools  A version of the Android platform  A version of the Android system image for the emulator Eclipse uses plug-ins to provide all the functionality within and on top of the runtime system. Its runtime system is based on Equinox, an implementation of the OSGi core framework specification. In addition to allowing the Eclipse Platform to be extended using other programming languages, such as C and Python, the plug-in framework allows the Eclipse Platform to work with typesetting languages like LaTeX and networking applications such as telnet and database
  33. 33. 27 management systems. The plug-in architecture supports writing any desired extension to the environment, such as for configuration management. Java and CVS support is provided in the Eclipse SDK, with support for other version control systemsprovided by third-party plug-ins. With the exception of a small run-time kernel, everything in Eclipse is a plug-in. This means that every plug-in developed integrates with Eclipse in exactly the same way as other plug-ins; in this respect, all features are "created equal". Eclipse provides plug-ins for a wide variety of features, some of which are through third parties using both free and commercial models. Examples of plug-ins include for UML, for Sequence and other UML diagrams, a plug-in for DB Explorer, and many others. The Eclipse SDK includes the Eclipse Java development tools (JDT), offering an IDE with a built-in incremental Java compiler and a full model of the Java source files. This allows for advanced refactoring techniques and code analysis. The IDE also makes use of a workspace, in this case a set of metadata over a flat filespace allowing external file modifications as long as the corresponding workspace "resource" is refreshed afterwards. Eclipse implements, uses the graphical control elements of the Java toolkit called SWT, whereas most Java applications use the Java standard Abstract Window Toolkit (AWT) orSwing. Eclipse's user interface also uses an intermediate graphical user interface layer called JFace, which simplifies the construction of applications based on SWT. Eclipse was made to run on Wayland during a GSoC-Project in 2014. In addition to this Eclipse supports development for Tomcat, GlassFish and many other servers and is often capable of installing the required server (for development) directly from the IDE. It supports remote debugging, allowing
  34. 34. 28 the user to watch variables and step through the code of an application that is running on the attached server. 5.2 ANDROID STUDIO – BETA Android Studio is a new Android development environment based on IntelliJ IDEA. It provides new features and improvements over Eclipse ADT and will be the official Android IDE once it's ready. On top of the capabilities you expect from IntelliJ, Android Studio offers:  Flexible Gradle-based build system.  Build variants and multiple APK generation.  Expanded template support for Google Services and various device types.  Rich layout editor with support for theme editing.  Lint tools to catch performance, usability, version compatibility, and other problems.  ProGuard and app-signing capabilities.  Built-in support for Google Cloud Platform, making it easy to integrate Google Cloud Messaging and App Engine.
  35. 35. 29 5.3 ANDROID STUDIO vs. ECLIPSE ADT FEATURE ECLIPSE ADT ANDROID STUDIO Build system Ant Gradle Maven-based build dependencies No Yes Build variants and multiple-APK generation (great for Android Wear) No Yes Advanced Android code completion and refactoring No Yes Graphical layout editor Yes Yes APK signing and keystore management Yes Yes NDK support Yes Coming soon
  36. 36. 30 Chapter 6: Interesting about Android 6.1 GOOGLE SERVICES The most significant factor which makes android successful software is Google. Google offers a variety of services that help you build new revenue streams, manage app distribution, track app usage, and enhance your app with features such as maps, sign-in, and cloud messaging. Although these Google services are not included in the Android platform, they are supported by most Android-powered devices. When using these services, you can distribute your app on Google Play to all devices running Android 2.3 or higher, and some services support even more devices. Google Maps Include the power of Google Maps in your app with an embeddable map view. You can customize the map with markers and overlays, control the user's perspective, draw lines and shapes, and much more. Google+ Allow users to sign in with their Google account, customize the user experience with Google+ info, pull people into your app with interactive posts, and add +1 buttons so users can recommend your content.
  37. 37. 31 Google Cloud Platform Build and host the backend for your Android app at Google-scale. With an infrastructure that is managed automatically, you can focus on your app. Then, scale to support millions of users. Google Cloud Messaging Immediately notify your users about timely events by delivering lightweight messages from your web server. There are no quotas or charges to use Google Cloud Messaging. Google Cloud Save Enable per-user data storage and sync in your apps with no backend programming required. Google Play In-App Billing Build an app with a steady revenue stream that keeps users engaged by offering new content or virtual goods directly in your app. All transactions are handled by Google Play Store for a simple user experience. Google Wallet Instant Buy Provide fast and easy checkout in your app when selling physical goods and services. Increase conversions by streamlining your purchase flow and reducing the amount of information your customers need to enter.
  38. 38. 32 Google Analytics Measure your success and gain insights into how users engage with your app content by integrating Google Analytics. You can track in-app purchases, the number of active users, interaction patterns, and much more. Google Mobile Ads Display ads from Google Mobile Ads offer you an alternative revenue opportunity that leverages multiple ad networks with targeted ads and several display formats. 6.2 ANDROID NOMENCLATURE Since April 2009, Android versions have been developed under a confectionery-themed code name and released in alphabetical order; the exceptions are versions 1.0 and 1.1 as they were not released under specific code names. Version Name Version # Release Year Alpha 1.0 (Pre-commercial) 2007-2008 Beta 1.1 (Pre-commercial) 2007-2008 Cupcake 1.5 2009 Donut 1.6 2009 Éclair 2.0 – 2.1 2009-2010 Froyo 2.2 – 2.2.3 2010-2011 Gingerbread 2.3 – 2.3.7 2010-2011
  39. 39. 33 Honeycomb 3.0 – 3.2.6 2011-2012 Ice-cream Sandwich 4.0 – 4.0.4 2011-2012 Jelly Bean 4.1 – 4.3.1 2013 KitKat 4.4 – 4.4.4 2013 Lollipop 5.0 2014 6.3 CONCLUSION Due to advantages of Android like: Multitasking, Ease of notification, Access to millions of Apps, Widgets, Access to install custom ROM and the biggest factor ̶ Google support, it has attracted the users all over the globe and has changed the concept ―CellPhones‖ to ―SmartPhones‖ and thus it has commercially acquired a huge market which is still expanding. . .
  40. 40. 34 BIBLIOGRAPHY [1] developer.android.com [2] en.wikipedia.org/wiki/Android_(operating_system)

×