0% found this document useful (0 votes)
64 views5 pages

Unit1 Compressed

Mobile application development has several approaches. Native apps are built specifically for a single platform and can leverage all device features but require separate development for each platform. Hybrid apps use web technologies like HTML, CSS, and JavaScript to work across platforms but may not perform as well. Popular frameworks for hybrid apps include Ionic, PhoneGap, and Sencha Touch. Current trends include augmented reality/virtual reality apps, cloud-driven apps, and a focus on security, artificial intelligence, and wearable devices. The major mobile platforms are Android and iOS. Android uses Java and is open source, while iOS apps use Objective-C or Swift and are exclusive to Apple devices.

Uploaded by

revathi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
64 views5 pages

Unit1 Compressed

Mobile application development has several approaches. Native apps are built specifically for a single platform and can leverage all device features but require separate development for each platform. Hybrid apps use web technologies like HTML, CSS, and JavaScript to work across platforms but may not perform as well. Popular frameworks for hybrid apps include Ionic, PhoneGap, and Sencha Touch. Current trends include augmented reality/virtual reality apps, cloud-driven apps, and a focus on security, artificial intelligence, and wearable devices. The major mobile platforms are Android and iOS. Android uses Java and is open source, while iOS apps use Objective-C or Swift and are exclusive to Apple devices.

Uploaded by

revathi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

⚫ Introduction:

⚫ Introduction to mobile application development


Introduction to MAD Introduction to MAD
⚫ Trends
⚫ Native Applications:
⚫ Native Apps are developed specifically for one platform,
MOBILE APPLICATION ⚫ Introduction to various platforms
and can take full advantage of all the device features.
⚫ Introduction to smart phones
⚫ They are also built using the specific Integrated
DEVELOPMENT – UNIT -1 Development Environment (IDE) for the given operating
systems.
⚫ Android Studio for Android Apps and XCode for iOS Apps.
⚫ IOS apps are written in Objective-C and Swift
⚫ Android apps are written in Java or Kotlin.
⚫ Windows and Blackberry apps are written in C++.

Introduction to MAD Introduction to MAD Trends Trends


⚫ Pros ⚫ Hybrid Applications: ⚫ Accelerated Mobile Pages (AMP) ⚫ AR & VR Apps
⚫ Very fast and responsive because they are built for that ⚫ These are applications developed to be used across ⚫ With is technology, one could feel like they are inside the
specific platform. ⚫ AMP is a project undertaken by Google in association imaginary world.
⚫ Best performance.
multiple platforms i.e can be deployed on both iOS and with Twitter and includes several other large search, ⚫ Cloud-driven Mobile Apps
⚫ More interactive, intuitive and run much smoother in terms
Android platforms. social and web publishing platforms around the world. ⚫ A cloud-driven or cloud application is simply an mobile
of user input and output. ⚫ Technologies like HTML, CSS, and JavaScript. application that runs on the server instead of your device.
⚫ AMP Project is an open-source website publishing
⚫ Cons ⚫ Some popular frameworks for building Hybrid applications ⚫ A cloud app will serve same features and characteristics as
⚫ More expensive to develop compared to cross-platform and
technology designed to improve the performance of web the pure desktop or device app, but functions in the cloud
include; storage.
web applications. content and advertisements.
⚫ Require more time to develop as one application has to be
⚫ Ionic Framework ⚫ Enterprise Apps & Micro-apps
⚫ As an alternative, the webpage can be displayed
written in different languages for different platforms. ⚫ PhoneGap ⚫ In the world of mobile, a micro app is a consumer-oriented
simultaneously while it is loading instead of making the application delivering highly targeted functionality (e.g. a
⚫ Higher cost of maintenance and pushing out updates, due to ⚫ Sencha Touch
multiple source code bases. user wait for the whole page to load - it is called lazy weather forecast app).
⚫ Apache Cordova loading.

Trends Trends VARIOUS PLATFORMS VARIOUS PLATFORMS


⚫ Security In Apps ⚫ IoT Apps
⚫ Your phone probably has sensitive information on it, so
it may be a good idea to install some security software.
⚫ Avast Mobile Security
⚫ AVG

⚫ Sophos Mobile Security ⚫ Beacons & Location Based Services


⚫ Avira Antivirus

⚫ Swift Is Much Swifter Now


⚫ Artificial Intelligence Is Real Now
⚫ Wearable Devices

Introduction to Smart Introduction to Smart


Phones Phones Android Platform
⚫ Phones used to be all about making calls, but now your ⚫ Android platform:
mobile can do so much more. ⚫ Android platform features and architecture
⚫ Touchscreen smartphones allows you to access the ⚫ Versions ⚫ Android is a software package and linux based operating
internet, use social media, get live news updates, play music ⚫ Comparison added features in each versions system for mobile devices such as tablet computers and
and video, and much more. smartphones.
⚫ ART(Android Runtime)
⚫ They almost universally use touchscreens for control, ⚫ Developed by Google
⚫ ADB(Android Debug Bridge).
however, which can be a challenge for people new to the ⚫ Java language is mainly used
technology.
⚫ The goal of android project is to create a successful
real-world product that improves the mobile experience for
end users.
Android Platform Android Features Android Features Android Features
⚫ Messaging ⚫ Multitasking ⚫ Media support
⚫ SMS and MMS ⚫ User can jump from one task to another and same time ⚫ H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC,
AAC 5.1, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF,
⚫ Web browser various application can run simultaneously.
and BMP.
⚫ Based on the open-source WebKit layout engine, coupled ⚫ Multiple language support
⚫ External storage
with Chrome's V8 JavaScript engine supporting HTML5 ⚫ Supports single direction and bi-directional text.
⚫ SQLite, a lightweight relational database, is used for data
and CSS3. ⚫ Connectivity storage purposes.
⚫ Multi-touch ⚫ GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, ⚫ Hardware support
⚫ Android has native support for multi-touch which was Wi-Fi, LTE, NFC and WiMAX. ⚫ Bluetooth
initially made available in handsets such as the HTC ⚫ Tethering
Hero. ⚫ Streaming media support

Android Version and Android Version and Android Version and


Android Features Comparison Comparison Comparison
⚫ Auto Correction and Dictionary
⚫ Voice-based features
⚫ Screen capture
⚫ TV recording
⚫ Video calling
⚫ Accessibility

Android Version and Android Version and Android Version and


Comparison Comparison Comparison ANDROID - ARCHITECTURE

Hardware Abstraction
The Linux Kernel Layer (HAL) Libraries ANDROID LIBRARIES
⚫ The foundation of the Android platform is the Linux ⚫ The HAL provides is a logical division of code that serves as ⚫ Libraries including Open-source Web browser engine ⚫ android.app − Provides access to the application model
kernel. an abstraction layer between a computer's physical WebKit, well known library libc, SQLite database which and is the cornerstone of all Android applications.
⚫ This provides a level of abstraction between the device hardware and its software. is a useful repository for storage and sharing of ⚫ android.content − Facilitates content access, publishing
hardware and it contains all the essential hardware ⚫ It provides a device driver interface allowing a program to application data, libraries to play and record audio and and messaging between applications and application
drivers like camera, keypad, display, networking etc. communicate with the hardware. video, SSL libraries responsible for Internet security etc.. components.
⚫ Bridge between OS and Hardware ⚫ When a framework API makes a call to access device ⚫ android.database − Used to access data published by
Handles… hardware, the Android system loads the library module for content providers and includes SQLite database
⚫ memory management, file management that hardware component. management classes.
⚫ task scheduling, process management, managing
⚫ android.opengl − Graphics library - A Java interface to the
hardware devices. OpenGL ES 3D graphics rendering API.
ANDROID RUNTIME &
ANDROID LIBRARIES ANDROID LIBRARIES ANDROID RUNTIME APPLICATIONS
⚫ android.os − Provides applications with access to standard ⚫ android.webkit − A set of classes intended to allow ⚫ Application Framework ⚫ Notifications Manager − Allows applications to display
operating system services including messages, system web-browsing capabilities to be built into applications. ⚫ The Application Framework layer provides many alerts and notifications to the user.
services and inter-process communication. ⚫ Android Runtime higher-level services to applications in the form of Java ⚫ View System − An extensible set of views used to create
⚫ android.text − Used to render and manipulate text on a ⚫ This section provides a key component called Dalvik classes. application user interfaces.
device display. Virtual Machine which is a kind of Java Virtual Machine
⚫ Activity Manager − Controls all aspects of the
specially designed and optimized for Android.
⚫ android.view − The fundamental building blocks of application lifecycle and activity stack. ⚫ Applications
⚫ The Dalvik VM makes use of Linux core features like
application user interfaces. ⚫ Content Providers − Allows applications to publish and ⚫ You will find all the Android application at the top layer.
memory management and multi-threading, which is
⚫ android.widget − A rich collection of pre-built user native in the Java language. share data with other applications. You will write your application to be installed on this
interface components such as buttons, labels, list views, ⚫ ART performs the translation of the ⚫ Resource Manager − Provides access to non-code layer only. Examples of such applications are Contacts
layout managers, radio buttons etc. application's bytecode into native instructions that are embedded resources such as strings, color settings and Books, Browser, Games etc.
later executed by the device's runtime environment. user interface layouts.

Android Debug Android Debug


Android Runtime (ART) Android Runtime (ART) Bridge(ADB) Bridge(ADB)
⚫ Android Runtime (ART) is an application runtime ⚫ ART perform two major things to achieve this ⚫ Android Debug Bridge (adb) is a versatile command-line ⚫ A daemon (adbd), which runs commands on a device.
environment used by the Android operating system. ⚫ Runs Android framework and Applications using hybrid tool that lets you communicate with a device. The daemon runs as a background process on each
⚫ Replacing Dalvik, the process virtual machine originally model of Interpreter, JIT and profile based Ahead of time ⚫ The ADB command facilitates a variety of device actions, device.
used by Android, ART performs the translation of the compilation(AOT). such as installing and debugging apps, and it provides ⚫ A server, which manages communication between the
application’s bytecode into native instructions that are later ⚫ Memory Management using Memory allocator and access to a Unix shell that you can use to run a variety of client and the daemon. The server runs as a background
executed by the device’s runtime environment.(ART Concurrent compacting Garbage collector. commands on a device. process on your development machine.
introduced in Android L). ⚫ It is a client-server program that includes three
⚫ ART is software layer between applications and operating components:
system. ⚫ A client, which sends commands. The client runs on your
⚫ It provide mechanism for executing java language. development machine. You can invoke a client from a
command-line terminal by issuing an adb command.

Development
Android Studio Features Android Studio Features environment/IDE
⚫ Development environment/IDE: ⚫ Android Studio offers even more features that enhance ⚫ Lint tools to catch performance, usability, version ⚫ You can start your Android application development on
⚫ Android studio and its working environment your productivity when building Android apps, such as: compatibility, and other problems either of the following operating systems −
⚫ A flexible Gradle-based build system ⚫ C++ and NDK support ⚫ Microsoft Windows XP or later version.
⚫ Gradle build system
⚫ A fast and feature-rich emulator ⚫ Built-in support for Google Cloud Platform, making it ⚫ Mac OS X 10.5.8 or later version with Intel chip.
⚫ Emulator setup
⚫ A unified environment where you can develop for all easy to integrate Google Cloud Messaging and App ⚫ Linux including GNU C Library 2.7 or later.
Android devices Engine
⚫ Instant Run to push changes to your running app
⚫ Following is the list of software's you will need before you
without building a new APK start your Android application programming.
⚫ Code templates and GitHub integration to help you build ⚫ Java JDK5 or later version
common app features and import sample code ⚫ Android Studio
⚫ Extensive testing tools and frameworks.

Development Development Development Development


environment/IDE environment/IDE environment/IDE environment/IDE
⚫ Starting a new project
⚫ Launching Android Studio and then selecting New Project,
or you can choose File > New > New Project at any time from
the IDE itself.
Development Development
environment/IDE environment/IDE Gradle Build System Emulator Setup
⚫ 1. Toolbar lets you carry out a wide range of actions, ⚫ 5. Tool windows give you access to specific tasks like project ⚫ Android Studio uses Gradle as the foundation of the build ⚫ The emulator lets you prototype, develop and test Android
including running your app and launching Android tools. management, search, version control, and more. You can system, with more Android-specific capabilities provided by applications without using a physical device.
⚫ 2. Navigation bar helps you navigate through your project expand them and collapse them. the Android plugin for Gradle. ⚫ Creating AVD
and open files for editing. It provides a more compact view ⚫ 6. Status bar displays the status of your project and the IDE ⚫ This build system runs as an integrated tool from the Android
⚫ If you want to emulate a real device, first create an AVD
of the structure visible in the Project window. Studio menu, and independently from the command line.
itself, as well as any warnings or messages. with the same device configurations as real device, then
⚫ 3. Editor window is where you create and modify code. ⚫ You can use the features of the build system to do the following:
Depending on the current file type, the editor can change. launch this AVD from AVD manager.
⚫ Customize, configure, and extend the build process.
For example, when viewing a layout file, the editor displays ⚫ Changing Orientation
⚫ Create multiple APKs for your app, with different features
the Layout Editor. ⚫ Usually by default when you launch the emulator, its
using the same project and modules.
⚫ 4. Tool window bar runs around the outside of the IDE orientation is vertical, but you can change it orientation
⚫ Reuse code and resources across sourcesets.
window and contains the buttons that allow you to expand by pressing Ctrl+F11 key from keyboard.
or collapse individual tool windows.

Emulator Commands Android - UI Layouts Android - UI Layouts


⚫ Home - Shifts to main screen ⚫ Application anatomy:
⚫ F2 - Toggles context sensitive menu ⚫ Application framework basics: resources layout, values,
⚫ F3 - Bring out call log asset XML representation and generated R.Javafile,
⚫ F4 - End call Android manifest file.
⚫ F5 - Search ⚫ Creating a simple application.
⚫ F6 - Toggle trackball mode
⚫ F7 - Power button
⚫ F8 - Toggle data network
⚫ Ctrl+F5 - Ring Volume up
⚫ Ctrl+F6 - Ring Volume down

Android Layout Types Android Layout Types Layout Attributes Layout Attributes
⚫ Linear Layout is a view group that aligns all children in a ⚫ List View is a view group that displays a list of scrollable ⚫ android:id - This is the ID which uniquely identifies the view. ⚫ android:layout_gravity - This specifies how child Views are
single direction, vertically or horizontally. items. ⚫ android:layout_width - This is the width of the layout. positioned.
⚫ Relative Layout is a view group that displays child views in ⚫ Grid View is a View Group that displays items in a ⚫ android:layout_height - This is the height of the layout ⚫ android:layout_weight - This specifies how much of the
relative positions. two-dimensional, scrollable grid. ⚫ android:layout_marginTop - This is the extra space on the top extra space in the layout should be allocated to the View.
⚫ Table Layout is a view that groups views into rows and side of the layout. ⚫ android:layout_x - This specifies the x-coordinate of the
columns. ⚫ android:layout_marginBottom - This is the extra space on the layout.
⚫ Absolute Layout enables you to specify the exact location of bottom side of the layout. ⚫ android:layout_y - This specifies the y-coordinate of the
its children. ⚫ android:layout_marginLeft - This is the extra space on the left layout.
side of the layout.
⚫ Frame Layout is a placeholder on screen that you can use to ⚫ android:layout_width - This is the width of the layout.
⚫ android:layout_marginRight - This is the extra space on the right
display a single view.
side of the layout. ⚫ android:layout_width - This is the width of the layout.

Layout Attributes Generated R.Javafile Generated R.Javafile XML representation


⚫ android:paddingLeft - This is the left padding filled for the ⚫ R.java is neat. R.java is elegant. Due to its subversiveness ⚫ XML stands for Extensible Mark-up Language.
layout. (in a good way) its makings are implicit. It is fun to learn ⚫ XML is a very popular format and commonly used for
⚫ android:paddingRight - This is the right padding filled for about Android.R. sharing data on the internet.
the layout. ⚫ At a mile high level, every application has resouces. ⚫ This chapter explains how to parse the XML file and extract
⚫ android:paddingTop - This is the top padding filled for the Familiar example of resources are strings, colors, and necessary information from it.
layout. bitmaps. Instead of hard coding strings in an application ⚫ Android provides three types of XML parsers which
⚫ android:paddingBottom - This is the bottom padding filled one will use an id for a string. are DOM,SAX and XMLPullParser.
for the layout. ⚫ Let's start with strings and see how they are used. ⚫ Among all of them android recommend XMLPullParser
because it is efficient and easy to use.
⚫ So we are going to use XMLPullParser for parsing XML.
XML representation XML Elements ANDROID MANIFEST FILE ANDROID MANIFEST FILE
⚫ The first step is to identify the fields in the XML data in ⚫ Prolog - An XML file starts with a prolog. The first line that ⚫ Every app project must have an AndroidManifest.xml ⚫ <manifest xmlns:android="http://schemas.android.com/apk/res/an
droid"
which you are interested in. contains the information about a file is prolog ⚫ The manifest file describes essential information about your app
⚫ package="com.javatpoint.hello"
such as activities, services, broadcast receivers, content
⚫ For example. In the XML given below we interested in ⚫ Events - An XML file has many events. Event could be like providers etc.
⚫ android:versionCode="1"
getting temperature only. this. Document starts , Document ends, Tag start , Tag end ⚫ android:versionName="1.0" >
⚫ It performs some other tasks also: ⚫
and Text e.t. ⚫ It is responsible to protect the application to access any ⚫ <uses-sdk
⚫ Text - Apart from tags and events, and xml file also contains protected parts by providing the permissions. ⚫ android:minSdkVersion="8"
simple text. Such as GB is a text in the country tag. ⚫ It also declares the android api that the application is going to ⚫ android:targetSdkVersion="15" />
use. ⚫
⚫ Attributes - Attributes are the additional properties of a tag
⚫ It lists the instrumentation classes. The instrumentation ⚫ <application
such as value e.t.c ⚫ android:icon="@drawable/ic_launcher"
classes provides profiling and other information. These
information are removed just before the application is ⚫ android:label="@string/app_name"
published etc. ⚫ android:theme="@style/AppTheme" >

ANDROID MANIFEST FILE


⚫ <activity
⚫ android:name=".MainActivity"
⚫ android:label="@string/title_activity_main" >
⚫ <intent-filter>
⚫ <action android:name="android.intent.action.MAIN" />

⚫ <category android:name="android.intent.category.LAUNCHER" /
>
⚫ </intent-filter>
⚫ </activity>
⚫ </application>

⚫ </manifest>

You might also like