Presentation is loading. Please wait.

Presentation is loading. Please wait.

Android Software Development

Similar presentations


Presentation on theme: "Android Software Development"— Presentation transcript:

1 Android Software Development
Introduction Android Software Development

2 Operating System

3 Mobile Operating System
A mobile operating system (mobile OS) is the operating system that controls a mobile device. Modern mobile operating systems combine the features of a personal computer operating system with touchscreen, cellular, Bluetooth, WiFi, GPS mobile navigation, camera, video camera, speech recognition, voice recorder, music player, Near field communication, personal digital assistant (PDA), and other features.

4 Top 10 mobile os Symbian OS – Nokia’s Cell Phone operating system
Android OS – Google’s free, open-source cellphone operating system iPhone OS (iOS ) – Apple’s mobile operating system BlackBerry OS – Proprietary mobile operating system, developed by Research In Motion for its BlackBerry Windows Phone 7 ( Windows Mobile ) – Mobile operating system developed by Microsoft Palm OS (Garnet OS)- mobile operating system initially developed by Palm Palm webOS – Mobile operating system from HP/Palm Bada - Mobile operating system developed by Samsung Electronics Maemo OS – from Nokia (open source, GPL) MeeGo OS – from Nokia and Intel (open source, GPL)

5 Android, Blackberry and J2ME uses Java Language for their development but their applications are not portable because of different hardware, SDK and API. Windows Phone 7 requires Windows Operating system for its development, the Visual Studio (only supported IDE for Windows Phone) and Emulator also works only in Windows environment. C# is the language of Windows Phone 7 which is not used by any other platform. iPhone requires Macintosh Operating System and XCode is the IDE for iPhone. Objective C is used for the development of iOS

6 Native vs hybrid vs web mobile Application
Application Development For mobile Devices

7 A primary reason that many companies are not already jumping on the HTML5 bandwagon is the belief that HTML apps cannot access native device features. Indeed, pure mobile web apps (i.e., those that run in the browser – not hybrid ones) are currently restricted in their access to features such as the camera, microphone, address book, and so forth. And while there is work in progress at the W3C to allow web apps to access such device services, mobile browsers do not currently provide such functionality – a key requirement for many innovative mobile apps. Access to device features is not the only difference between hybrid apps and mobile web apps. Another important difference is that hybrid apps are mostly distributed through app stores: You don’t browse to a hybrid app – you download and install it.

8 Native app A native application works only on the platform for which it was created Native apps were originally developed by Apple, which had various programs built in Objective C to run specifically on their mobile OS. Later, Android developed their native apps in Java, which worked only on the Android platform.

9 Mobile web apps Web Applications – Designed to Operate on Multiple Platforms Web apps, however, do not connect with native apps and cannot make use of APIs or native hardware features like cameras and microphones. Consequently, many companies are reluctant to fully convert to HTML 5.

10 Mobile hybrid app A Hybrid app is a native app operating within a web browser It provides the same functionality and efficiency for the user, but saves the developer from the tedious process of creating multiple native apps for a single project Industry experts predict HTML5 will become more prevalent because of its versatility and efficiency

11 Mobile Web Development javascript frameworks
jQuery Mobile jQuery Mobile, a framework that will help you rapidly and confidently develop mobile app user interfaces across popular mobile device platforms like iOS and Android, is perhaps the most popular project out there.

12 Mobile Web Development javascript frameworks
Titanium Mobile This powerful and robust mobile web development framework allows you to use your existing HTML, CSS and JavaScript knowledge to make native-like mobile apps for iOS and Android. M-Project The-M-Project is another solid JavaScript framework that takes advantage of new HTML5 features for easier and better mobile app development. The framework follows the popular model-view-controller (MVC) software architecture pattern, which is a huge selling point for many developers.

13 PhoneGap PhoneGap is opensource mobile development framework to build mobile application using javascript,HTML5 ,and CSS3. The resulting application will by hybrid Neither it would be native nor it is web based. PhoneGap is an open source platform that allows you to create cross-platform mobile applications with HTML, JavaScript, and CSS In order to interact with device hardware, PhoneGap provides a JavaScript API that will interface with features such as the on-board camera, GPS, and accelerometer Supported features PhoneGap currently supports development for the operating systems Apple iOS, Google Android, HP webOS, Microsoft Windows Phone, Nokia Symbian OS and RIM BlackBerry Why phoneGap Mobile development is a mess. Building applications for each device--iPhone, Android, Windows Mobile and more--requires different frameworks and languages. One day, the big players in mobile may decide to work together and unify third-party app development processes. Until then, PhoneGap will use standards-based web technologies to bridge web applications and mobile devices. Plus, because PhoneGap apps are standards compliant, they’re future-proofed to work with browsers as they evolve.

14 Mobile Web Development javascript frameworks
DHTMLX Touch DHTMLX Touch, a free HTML5/JavaScript framework optimized for touchscreen devices, brings you the ability to craft beautiful mobile web apps quickly. The DHTMLX Touch UI Designer is a visual editor for building mobile user interfaces, and it’ll help you construct top-notch UIs with minimal coding

15 javaScript libraries for mobile web development
jQTouch: a jQuery plugin specifically for Android and iOS devices. jqpad: a web development framework built and optimized for iPad development. iUI: a user interface framework for making iPhone-like web apps. Sencha: an HTML5 mobile web development framework (suggested by Steven Roussey)

16 Native Apps Android

17 Android A free open source operating system for mobile devices
An open source development platform for creating mobile applications. Devices, particularly mobile phones, that run the android operating system and the applications created for it.

18 Android Android devices comes in all shapes and sizes Smartphones
Tablets E-reader devices Netbooks Mp4 Players Internet TVs

19 Android Software Development
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,

20 Introduction Android is an operating system based on Linux with a Java programming interface. The Android Software Development Kit (Android SDK) provides all necessary tools to develop Android applications. This includes a compiler, debugger and a device emulator, as well as its own virtual machine to run Android programs. Android is officially guided by the Open Handset Alliance. In reality Google leads the project. Android allows background processing, provides a rich user interface library, supports 2-D and 3-D graphics using the OpenGL libraries, access to the file system and provides an embedded SQLite database.

21 Open handset alliance The Open Handset Alliance (OHA) is a consortium of 84[ firms to develop open standards for mobile devices Welcome to the Open Handset Alliance™, a group of 84 technology and mobile companies who have come together to accelerate innovation in mobile and offer consumers a richer, less expensive, and better mobile experience. Together we have developed Android™, the first complete, open, and free mobile platform.

22 introduction What is the Open Handset Alliance (OHA)?
It's a consortium of several companies

23 History of Android The OHA was established on 6 November 2007, led by Google with 34 members including mobile handset makers, application developers, some mobile carriers and chip makers. Android, the flagship software of the alliance, is based on an open source license and competes against mobile platforms from Apple, Microsoft, Nokia (Symbian), HP (formerly Palm), Research In Motion, and Samsung Electronics (bada).

24 What a Desserts (:-

25 Android Stack

26 Android Stack Android operating system is like a cake consisting of various layers. Each layer has its own characteristics and purpose. Linuix,native libraries Dalvik

27 Android Application Development Process

28 How mobile application runs

29 The APK An application is a single APK (application package) file. An APK file roughly has three main components. It consists of all your Dalvik executable code (Java code compiled automatically to Dalvik executable) plus all your resources (everything that is not code, such as images, layouts, etc.). Additionally, it may contain some native code as well. Dalvik executable: this is all your Java source code compiled down to Dalvik executable. This is the code that runs your application. Resources: resources are everything that is not code. Your application may contain number of images, audio/video clips, as well as numerous XML files describing layouts, language packs, and so on. Collectively, these items are resources. Native libraries: optionally, your application may include some native code, such as C/C++ libraries. These libraries could be packaged together with your APK file.

30 Intro to development framework
Android applications are written with java as programing langurage but executed by a custeom virtual machine called Dalvik rather than by a java VM. Each android application runs in a separate process with in its own Dalvik instance ,relinquishing all responsibility for memory and process management to the Android run time,which stops and kills process as necessary to manage the resources

31 continued Dalvik and android run time sits at the top of the linux kernel that handles the lowlevel hardware interaction,including the drivers and memory management ,while a set of APIs provides access to all the underlying services ,features and hardware.

32 Installation

33 Step 1 To get started you need to download and install the following The Android SDK Java Development kit ( 6) You can download jdk 6.0 from here

34 (Step 2)Download and installing SDK
Android development home page You need atleast on SDK platform ,you can do this ,you can do this by on Windows by running SDK Setup.exe.

35 Step 3:- You have to download eclipse with ADT plug-in To download the eclipse

36 Using the eclipse plugin
The ADT plugin for elipse simplifies your Android development by integrating the development tools directly into IDE,

37 Installing ADT Plug-in

38

39 If you are behind a firewall (such as a IBA firewall), make sure that you have properly configured your proxy settings in Eclipse. In Eclipse, you can configure proxy information from the main Eclipse menu in Window >Preferences > General > Network Connections.

40 Window > Preferences> Android
modify your ADT preferences in Eclipse to point to the Android SDK directory:(very important)

41 Create Android Virtual Device(AVD)

42 Creating your first Android Application

43

44

45

46

47

48

49

50

51

52 The template “Iba_World, created by the wizard
overrides the onCreate method to call the setContentView,which lays our her interface by inflating a layout resource.

53 The resource of an android project are stored in res folder of
your project hierarchy,which includes drawables,layouts,values. The ADT Plugin interprets these resources to provide design time access to them through R variable

54

55 Defining your UI in XML and inflating it is the preferred way of implementing
your user interfaces, as it neatly decouples your application logic from your UI design. To get access to your UI elements in code ,you add identifier attributes to them in the XML definition. You can then use the findViewById method to return a reference to each nameditem.

56 How to access it into the code
TextView text = (TextView) findViewById(R.id.myTextView);

57 Quiz next class


Download ppt "Android Software Development"

Similar presentations


Ads by Google