Presentation on theme: "Introduction App Dev For Mobile Devices NASRULLAH."— Presentation transcript:
Introduction App Dev For Mobile Devices NASRULLAH
Mobile application development Mobile application development is the process by which application software is developed for small low-power handheld devices such as e phones. These applications are either pre-installed on phones during manufacturing, or downloaded by customers from various mobile software distribution platforms
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.
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)
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
Native vs hybrid vs web mobile Application Application Development For mobile Devices
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.
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.
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
Native Apps Android
Android is an open source software stack that includes the operating system,middleware and the key mobile applications along with a set of API libraries.
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.
What is Android A software platform and operating system for mobile devices Based on the Linux kernel Founded by OHA but goggle leads the project Possibility to write applications in other languages and compiling it to ARM native code (support of Google? No) Unveiling of the Android platform was announced on 5 November 2007 with the founding of OHA
Android Android devices comes in all shapes and sizes – Smartphones – Tablets – E-reader devices – Netbooks – Mp4 Players – Internet TVs
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.
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.
introduction What is the Open Handset Alliance (OHA)? It's a consortium of several companies
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 (forme rly Palm), Research In Motion, and Samsung Electronics (bada).
What a Desserts (:-
Android operating system is like a cake consisting of various layers. Each layer has its own characteristics and purpose. Linuix,native libraries Dalvik
Android Application Development Process
How mobile application runs
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.
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
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.
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 http://www.oracle.com/technetwork/java/javas e/downloads/index.html
(Step 2)Download and installing SDK Android development home page http://developer.android.com/sdk/index.html You need atleast on SDK platform,you can do this,you can do this by on Windows by running SDK Setup.exe.
Step 3:- You have to download eclipse with ADT plug-in To download the eclipse http://www.eclipse.org/downloads/
Using the eclipse plugin The ADT plugin for elipse simplifies your Android development by integrating the development tools directly into IDE,
Installing ADT Plug-in
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.
Window > Preferences> Android modify your ADT preferences in Eclipse to point to the Android SDK directory:(very important)
Create Android Virtual Device(AVD)
Creating your first Android Application
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.
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
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.
TextView text = (TextView) findViewById(R.id.myTextView); How to access it into the code