important role in the UI experience and depends on how the information is displayed to the user. This TextView widget in Android can be dynamized in various contexts.
Prajakta Dharmpurikar's presentation discusses fundamentals of Android development. It covers basics like what Android is, its software stack and versions. It explains core application components like activities, services, broadcast receivers and content providers. It also discusses intents, the Android manifest file and building a simple "Hello World" Android app. The presentation provides an overview of creating an Android project structure and running an app.
This tutorial provides an overview of Android and covers the basics of Android programming. It discusses what Android is, its architecture and main components. The key points are:
- Android is an open-source operating system used in mobile devices. It is based on the Linux kernel.
- The Android architecture consists of five sections - Linux kernel, libraries, Android runtime, application framework and applications.
- There are four main components that make up an Android application - activities, services, broadcast receivers and content providers.
- The tutorial provides examples of implementing activities, services and broadcast receivers and explains what they are used for. It then discusses starting development with a basic "Hello World" example.
A Best Android Introdtuction .
1. Android Introduction (Android components, Android Architecture, Activity life cycle, Activity stack etc.)
2. Near Field Communication (NFC) Overview.
3. Google map and GPS.
4. Push notification and C2DM concept.
This document provides an overview of Android architecture and components. It describes that Android is an open source software stack that includes an operating system, middleware and key applications built around the Linux kernel. The Android software architecture consists of applications, an application framework, libraries and services, and the operating system. It explains the main components of an Android application - activities, services, broadcast receivers and content providers.
This document provides an overview of beginning Android development. It covers setting up the development environment, including installing Java SDK and Android SDK. It then discusses Android project structure, key components like activities, fragments, services and content providers. It also covers intents, intent filters, databases and supporting multiple screens. The document includes code examples and resources for further reading.
This document provides an overview of the Android framework and development tools for Java developers. It summarizes the key components of the Android framework including the Linux kernel, Dalvik VM, core libraries, and application framework. It also describes the basic structure of an Android app, common elements like activities, intents, and layouts. Finally, it recommends resources for learning more about Android development.
A broad alliance of leading technology and wireless companies recently joined forces to announce the development of Android, an open and comprehensive platform for mobile devices. Google Inc., T-Mobile, HTC, Qualcomm, Motorola and others have collaborated on the development of Android through the Open Handset Alliance, a multinational alliance of technology and mobile industry leaders. At the core, the linux based Android platform features a virtual machine, called Dalvik, that uses another format for the class files but otherwise looks very much like Java. They also provide a utility that can convert Java class files to so called DEX files: the native Dalvik format. It is a VM for applications and is itself a so-called MVM i.e., able to run several programs in the same address space where the individual applications can communicate with each others via (remote) services. Java code generally runs on Dalvik without changes to the source code.
Android itself is a software stack for mobile devices that includes an operating system, middleware and key applications featuring a built-in database, support for various media formats and access to geo-localization, telephony management etc. Android is currently used on mobile phones (like the t-mobile G1), but promises to be usable on other hardware like netbooks as well. Android itself is licensed under the Apache License with the linux specific parts licensed as GPLv2.
This talk presents the Android platform and how it is structured. We will talk about the provided functionality and how to use the various features of the Android kernel such as the built-in camera, Wifi, and GPS. Furthermore, we will go into the details of the provided middleware stack containing libraries such as WebKit, SQLite and other libraris for e.g., telephony, and multi-media support. Finally the perspectives of Android will be presented.
This document provides an overview of mobile application development on the Android platform. It discusses Android architecture and features. It also covers topics related to setting up an Android development environment in Eclipse, the basic building blocks of Android applications like activities and intents, designing user interfaces with views and layouts, and handling user interactions with events. The document uses examples to demonstrate how to create a simple Android project in Eclipse with an activity that displays a text view and handles button click events.
The document provides an overview of the Android mobile platform. It discusses the Android ecosystem and architecture, including the operating system, middleware, key applications, and development tools. The document outlines Android's open source nature, features like the Dalvik VM and app building blocks. It also provides references and contact information for the presenter.
This document provides an overview of Android mobile application development including:
- Android is an open source software stack for mobile devices including an operating system, middleware, and key applications.
- The Android software architecture includes components like the Linux kernel, libraries, Android runtime, application framework, and applications.
- Key building blocks for Android applications include activities, intents/intent receivers, services, and content providers.
- The Android SDK and Eclipse IDE can be used for application development along with emulators and real devices.
**Channel Allocation in Mobile Networks** refers to how communication channels are assigned to users. The key methods are **Fixed Allocation (FCA)**, **Dynamic Allocation (DCA)**, and **Hybrid Allocation (HCA)**.
---
### **1. Fixed Channel Allocation (FCA):**
- **How it Works:**
- Channels are pre-assigned to specific cells based on expected traffic patterns.
- Each cell has a fixed number of channels that it can use, regardless of real-time demand.
- **Advantages:**
- Simple to implement.
- Low computational complexity.
- **Disadvantages:**
- Inefficient during peak traffic as unused channels in low-demand cells cannot be reassigned.
- Leads to congestion in busy areas.
---
### **2. Dynamic Channel Allocation (DCA):**
- **How it Works:**
- Channels are not pre-assigned. Instead, they are allocated dynamically based on current demand.
- A central controller monitors channel availability and assigns channels when needed.
- **Advantages:**
- Efficient use of available channels.
- Reduces congestion and adapts to varying traffic conditions.
- **Disadvantages:**
- More complex and requires real-time monitoring.
- High computational and signaling overhead.
---
### **3. Hybrid Channel Allocation (HCA):**
- **How it Works:**
- Combines aspects of both FCA and DCA.
- A portion of the channels is pre-assigned to cells (FCA), while the remaining channels are dynamically allocated based on demand (DCA).
- **Advantages:**
- Balances efficiency and reliability.
- Reduces congestion while ensuring basic service availability.
- **Disadvantages:**
- More complex than FCA but more efficient than using only FCA.
- Requires sophisticated network management.
---
**Conclusion:**
- **FCA** is simple but inefficient in varying traffic conditions.
- **DCA** is flexible but complex.
- **HCA** offers a balanced approach, ensuring both reliability and efficient resource use. These strategies help optimize network performance in mobile communication systems.
This document provides an overview of the key components and architecture of the Android operating system. It discusses that Android is built on the Linux kernel and uses Java for application development. It also summarizes the main components of the Android software stack including the libraries, runtime environment, application framework, and applications. Additionally, it describes some important Android concepts like activities, intents, broadcast receivers, content providers, and services.
The document discusses various components of an Android application. It describes the four main types of app components: Activities, Services, Broadcast Receivers, and Content Providers. It provides details about what each component type represents and how it is implemented. It also discusses some additional concepts like fragments, views, layouts, intents and resources that are involved in building Android apps.
The document provides an overview of the Android platform, including its architecture, core components, and development tools. It describes the Linux kernel, middleware layers, Dalvik VM, application framework, and key pre-installed applications. It also summarizes the Android software development kit, emulator, tools for writing, building, and debugging applications, and different Android device configurations.
Android is an open source software platform and operating system for mobile devices based on the Linux kernel. It was developed by Android Inc which was purchased by Google in 2005. The Android environment requires Java, the Android SDK, an IDE like Eclipse, and the Android Development Tools plugin. Key Android application components include Activities, Services, Broadcast Receivers, and Content Providers. Intents allow communication between components and can be explicit, specifying a component class, or implicit, specifying an action.
- Android is an open source mobile operating system based on the Linux kernel. It includes an open source application framework and custom applications can be built using Java and XML.
- Key Android development tools include ADB, the emulator, SDK, and NDK. The emulator allows testing apps on different device configurations. The SDK supports Java development and the NDK supports native code.
- Key Android app components include Activities for screens, Services for background tasks, BroadcastReceivers for responding to system events, and ContentProviders for sharing data. The manifest defines the app components and permissions.
Android is an open source operating system used for mobile devices like smartphones and tablets. It is developed by Google and managed by the Open Handset Alliance. The Android manifest file contains important configuration settings for Android applications, including supported SDK versions, required permissions, application components and more. It determines how the application interacts with the operating system.
This document provides an introduction and overview of the Android operating system. It discusses Android's history and development from 2007 to present. It also describes Android's system architecture, development environment, project structure, and main application components such as activities, services, content providers, intents, broadcast receivers, widgets and notifications. The document concludes by inviting questions and providing sources for further information.
- Android is an open source software platform for mobile devices based on the Linux kernel and managed by the Open Handset Alliance. It allows developers to write managed code in Java for the applications layer.
- The Android software stack includes the Linux kernel, native libraries, the Android runtime (which includes a Java virtual machine called Dalvik), and the Application Framework layer where Android applications run.
- Android applications are built using the Android SDK and its tools which allow compilation of Java code into an executable .apk file that can be installed and run on Android devices.
The document provides an overview of the Android framework, which consists of the Linux kernel, Dalvik virtual machine, core libraries, and application framework. It also summarizes the key developer tools for Android including the SDK, Eclipse plugin, emulator, and debugger. Finally, it outlines some of the main terminology for developing Android apps such as activities, intents, manifest files, resources and layouts.
The document discusses the Android RAP (Remote Application Provisioning) framework. It aims to automate application deployment on Android devices by provisioning application screens, resources, and functionality upgrades remotely from a server. This allows for thin-client applications and reduces development/maintenance costs compared to traditional container-based applications. The framework currently supports rendering basic application interfaces and handling events from remote servers. It plans to expand supported layouts/views and add offline caching capabilities.
Android is an open-source operating system used in mobile devices. It was created by Google and the Open Handset Alliance to provide a complete software stack and modern user experience for building applications. The document discusses the history and creation of Android, its key features like an integrated browser and SQLite database, the Android architecture including its application framework and runtime, and the development tools available for building Android applications.
This document discusses various topics related to developing Android applications such as establishing the development environment, understanding the Android architecture including activities, views and intents, persisting data using SQLite, packaging and deploying apps, integrating location services like GPS and maps, and connecting apps to social media. It provides information on key concepts needed to build functional Android apps.
☁️ GDG Cloud Munich: Build With AI Workshop - Introduction to Vertex AI! ☁️
Join us for an exciting #BuildWithAi workshop on the 28th of April, 2025 at the Google Office in Munich!
Dive into the world of AI with our "Introduction to Vertex AI" session, presented by Google Cloud expert Randy Gupta.
This document provides an overview of mobile application development on the Android platform. It discusses Android architecture and features. It also covers topics related to setting up an Android development environment in Eclipse, the basic building blocks of Android applications like activities and intents, designing user interfaces with views and layouts, and handling user interactions with events. The document uses examples to demonstrate how to create a simple Android project in Eclipse with an activity that displays a text view and handles button click events.
The document provides an overview of the Android mobile platform. It discusses the Android ecosystem and architecture, including the operating system, middleware, key applications, and development tools. The document outlines Android's open source nature, features like the Dalvik VM and app building blocks. It also provides references and contact information for the presenter.
This document provides an overview of Android mobile application development including:
- Android is an open source software stack for mobile devices including an operating system, middleware, and key applications.
- The Android software architecture includes components like the Linux kernel, libraries, Android runtime, application framework, and applications.
- Key building blocks for Android applications include activities, intents/intent receivers, services, and content providers.
- The Android SDK and Eclipse IDE can be used for application development along with emulators and real devices.
**Channel Allocation in Mobile Networks** refers to how communication channels are assigned to users. The key methods are **Fixed Allocation (FCA)**, **Dynamic Allocation (DCA)**, and **Hybrid Allocation (HCA)**.
---
### **1. Fixed Channel Allocation (FCA):**
- **How it Works:**
- Channels are pre-assigned to specific cells based on expected traffic patterns.
- Each cell has a fixed number of channels that it can use, regardless of real-time demand.
- **Advantages:**
- Simple to implement.
- Low computational complexity.
- **Disadvantages:**
- Inefficient during peak traffic as unused channels in low-demand cells cannot be reassigned.
- Leads to congestion in busy areas.
---
### **2. Dynamic Channel Allocation (DCA):**
- **How it Works:**
- Channels are not pre-assigned. Instead, they are allocated dynamically based on current demand.
- A central controller monitors channel availability and assigns channels when needed.
- **Advantages:**
- Efficient use of available channels.
- Reduces congestion and adapts to varying traffic conditions.
- **Disadvantages:**
- More complex and requires real-time monitoring.
- High computational and signaling overhead.
---
### **3. Hybrid Channel Allocation (HCA):**
- **How it Works:**
- Combines aspects of both FCA and DCA.
- A portion of the channels is pre-assigned to cells (FCA), while the remaining channels are dynamically allocated based on demand (DCA).
- **Advantages:**
- Balances efficiency and reliability.
- Reduces congestion while ensuring basic service availability.
- **Disadvantages:**
- More complex than FCA but more efficient than using only FCA.
- Requires sophisticated network management.
---
**Conclusion:**
- **FCA** is simple but inefficient in varying traffic conditions.
- **DCA** is flexible but complex.
- **HCA** offers a balanced approach, ensuring both reliability and efficient resource use. These strategies help optimize network performance in mobile communication systems.
This document provides an overview of the key components and architecture of the Android operating system. It discusses that Android is built on the Linux kernel and uses Java for application development. It also summarizes the main components of the Android software stack including the libraries, runtime environment, application framework, and applications. Additionally, it describes some important Android concepts like activities, intents, broadcast receivers, content providers, and services.
The document discusses various components of an Android application. It describes the four main types of app components: Activities, Services, Broadcast Receivers, and Content Providers. It provides details about what each component type represents and how it is implemented. It also discusses some additional concepts like fragments, views, layouts, intents and resources that are involved in building Android apps.
The document provides an overview of the Android platform, including its architecture, core components, and development tools. It describes the Linux kernel, middleware layers, Dalvik VM, application framework, and key pre-installed applications. It also summarizes the Android software development kit, emulator, tools for writing, building, and debugging applications, and different Android device configurations.
Android is an open source software platform and operating system for mobile devices based on the Linux kernel. It was developed by Android Inc which was purchased by Google in 2005. The Android environment requires Java, the Android SDK, an IDE like Eclipse, and the Android Development Tools plugin. Key Android application components include Activities, Services, Broadcast Receivers, and Content Providers. Intents allow communication between components and can be explicit, specifying a component class, or implicit, specifying an action.
- Android is an open source mobile operating system based on the Linux kernel. It includes an open source application framework and custom applications can be built using Java and XML.
- Key Android development tools include ADB, the emulator, SDK, and NDK. The emulator allows testing apps on different device configurations. The SDK supports Java development and the NDK supports native code.
- Key Android app components include Activities for screens, Services for background tasks, BroadcastReceivers for responding to system events, and ContentProviders for sharing data. The manifest defines the app components and permissions.
Android is an open source operating system used for mobile devices like smartphones and tablets. It is developed by Google and managed by the Open Handset Alliance. The Android manifest file contains important configuration settings for Android applications, including supported SDK versions, required permissions, application components and more. It determines how the application interacts with the operating system.
This document provides an introduction and overview of the Android operating system. It discusses Android's history and development from 2007 to present. It also describes Android's system architecture, development environment, project structure, and main application components such as activities, services, content providers, intents, broadcast receivers, widgets and notifications. The document concludes by inviting questions and providing sources for further information.
- Android is an open source software platform for mobile devices based on the Linux kernel and managed by the Open Handset Alliance. It allows developers to write managed code in Java for the applications layer.
- The Android software stack includes the Linux kernel, native libraries, the Android runtime (which includes a Java virtual machine called Dalvik), and the Application Framework layer where Android applications run.
- Android applications are built using the Android SDK and its tools which allow compilation of Java code into an executable .apk file that can be installed and run on Android devices.
The document provides an overview of the Android framework, which consists of the Linux kernel, Dalvik virtual machine, core libraries, and application framework. It also summarizes the key developer tools for Android including the SDK, Eclipse plugin, emulator, and debugger. Finally, it outlines some of the main terminology for developing Android apps such as activities, intents, manifest files, resources and layouts.
The document discusses the Android RAP (Remote Application Provisioning) framework. It aims to automate application deployment on Android devices by provisioning application screens, resources, and functionality upgrades remotely from a server. This allows for thin-client applications and reduces development/maintenance costs compared to traditional container-based applications. The framework currently supports rendering basic application interfaces and handling events from remote servers. It plans to expand supported layouts/views and add offline caching capabilities.
Android is an open-source operating system used in mobile devices. It was created by Google and the Open Handset Alliance to provide a complete software stack and modern user experience for building applications. The document discusses the history and creation of Android, its key features like an integrated browser and SQLite database, the Android architecture including its application framework and runtime, and the development tools available for building Android applications.
This document discusses various topics related to developing Android applications such as establishing the development environment, understanding the Android architecture including activities, views and intents, persisting data using SQLite, packaging and deploying apps, integrating location services like GPS and maps, and connecting apps to social media. It provides information on key concepts needed to build functional Android apps.
☁️ GDG Cloud Munich: Build With AI Workshop - Introduction to Vertex AI! ☁️
Join us for an exciting #BuildWithAi workshop on the 28th of April, 2025 at the Google Office in Munich!
Dive into the world of AI with our "Introduction to Vertex AI" session, presented by Google Cloud expert Randy Gupta.
RICS Membership-(The Royal Institution of Chartered Surveyors).pdfMohamedAbdelkader115
Glad to be one of only 14 members inside Kuwait to hold this credential.
Please check the members inside kuwait from this link:
https://www.rics.org/networking/find-a-member.html?firstname=&lastname=&town=&country=Kuwait&member_grade=(AssocRICS)&expert_witness=&accrediation=&page=1
Passenger car unit (PCU) of a vehicle type depends on vehicular characteristics, stream characteristics, roadway characteristics, environmental factors, climate conditions and control conditions. Keeping in view various factors affecting PCU, a model was developed taking a volume to capacity ratio and percentage share of particular vehicle type as independent parameters. A microscopic traffic simulation model VISSIM has been used in present study for generating traffic flow data which some time very difficult to obtain from field survey. A comparison study was carried out with the purpose of verifying when the adaptive neuro-fuzzy inference system (ANFIS), artificial neural network (ANN) and multiple linear regression (MLR) models are appropriate for prediction of PCUs of different vehicle types. From the results observed that ANFIS model estimates were closer to the corresponding simulated PCU values compared to MLR and ANN models. It is concluded that the ANFIS model showed greater potential in predicting PCUs from v/c ratio and proportional share for all type of vehicles whereas MLR and ANN models did not perform well.
ELectronics Boards & Product Testing_Shiju.pdfShiju Jacob
This presentation provides a high level insight about DFT analysis and test coverage calculation, finalizing test strategy, and types of tests at different levels of the product.
In tube drawing process, a tube is pulled out through a die and a plug to reduce its diameter and thickness as per the requirement. Dimensional accuracy of cold drawn tubes plays a vital role in the further quality of end products and controlling rejection in manufacturing processes of these end products. Springback phenomenon is the elastic strain recovery after removal of forming loads, causes geometrical inaccuracies in drawn tubes. Further, this leads to difficulty in achieving close dimensional tolerances. In the present work springback of EN 8 D tube material is studied for various cold drawing parameters. The process parameters in this work include die semi-angle, land width and drawing speed. The experimentation is done using Taguchi’s L36 orthogonal array, and then optimization is done in data analysis software Minitab 17. The results of ANOVA shows that 15 degrees die semi-angle,5 mm land width and 6 m/min drawing speed yields least springback. Furthermore, optimization algorithms named Particle Swarm Optimization (PSO), Simulated Annealing (SA) and Genetic Algorithm (GA) are applied which shows that 15 degrees die semi-angle, 10 mm land width and 8 m/min drawing speed results in minimal springback with almost 10.5 % improvement. Finally, the results of experimentation are validated with Finite Element Analysis technique using ANSYS.
Fluid mechanics is the branch of physics concerned with the mechanics of fluids (liquids, gases, and plasmas) and the forces on them. Originally applied to water (hydromechanics), it found applications in a wide range of disciplines, including mechanical, aerospace, civil, chemical, and biomedical engineering, as well as geophysics, oceanography, meteorology, astrophysics, and biology.
It can be divided into fluid statics, the study of various fluids at rest, and fluid dynamics.
Fluid statics, also known as hydrostatics, is the study of fluids at rest, specifically when there's no relative motion between fluid particles. It focuses on the conditions under which fluids are in stable equilibrium and doesn't involve fluid motion.
Fluid kinematics is the branch of fluid mechanics that focuses on describing and analyzing the motion of fluids, such as liquids and gases, without considering the forces that cause the motion. It deals with the geometrical and temporal aspects of fluid flow, including velocity and acceleration. Fluid dynamics, on the other hand, considers the forces acting on the fluid.
Fluid dynamics is the study of the effect of forces on fluid motion. It is a branch of continuum mechanics, a subject which models matter without using the information that it is made out of atoms; that is, it models matter from a macroscopic viewpoint rather than from microscopic.
Fluid mechanics, especially fluid dynamics, is an active field of research, typically mathematically complex. Many problems are partly or wholly unsolved and are best addressed by numerical methods, typically using computers. A modern discipline, called computational fluid dynamics (CFD), is devoted to this approach. Particle image velocimetry, an experimental method for visualizing and analyzing fluid flow, also takes advantage of the highly visual nature of fluid flow.
Fundamentally, every fluid mechanical system is assumed to obey the basic laws :
Conservation of mass
Conservation of energy
Conservation of momentum
The continuum assumption
For example, the assumption that mass is conserved means that for any fixed control volume (for example, a spherical volume)—enclosed by a control surface—the rate of change of the mass contained in that volume is equal to the rate at which mass is passing through the surface from outside to inside, minus the rate at which mass is passing from inside to outside. This can be expressed as an equation in integral form over the control volume.
The continuum assumption is an idealization of continuum mechanics under which fluids can be treated as continuous, even though, on a microscopic scale, they are composed of molecules. Under the continuum assumption, macroscopic (observed/measurable) properties such as density, pressure, temperature, and bulk velocity are taken to be well-defined at "infinitesimal" volume elements—small in comparison to the characteristic length scale of the system, but large in comparison to molecular length scale
its all about Artificial Intelligence(Ai) and Machine Learning and not on advanced level you can study before the exam or can check for some information on Ai for project
Concept of Problem Solving, Introduction to Algorithms, Characteristics of Algorithms, Introduction to Data Structure, Data Structure Classification (Linear and Non-linear, Static and Dynamic, Persistent and Ephemeral data structures), Time complexity and Space complexity, Asymptotic Notation - The Big-O, Omega and Theta notation, Algorithmic upper bounds, lower bounds, Best, Worst and Average case analysis of an Algorithm, Abstract Data Types (ADT)
Analysis of reinforced concrete deep beam is based on simplified approximate method due to the complexity of the exact analysis. The complexity is due to a number of parameters affecting its response. To evaluate some of this parameters, finite element study of the structural behavior of the reinforced self-compacting concrete deep beam was carried out using Abaqus finite element modeling tool. The model was validated against experimental data from the literature. The parametric effects of varied concrete compressive strength, vertical web reinforcement ratio and horizontal web reinforcement ratio on the beam were tested on eight (8) different specimens under four points loads. The results of the validation work showed good agreement with the experimental studies. The parametric study revealed that the concrete compressive strength most significantly influenced the specimens’ response with the average of 41.1% and 49 % increment in the diagonal cracking and ultimate load respectively due to doubling of concrete compressive strength. Although the increase in horizontal web reinforcement ratio from 0.31 % to 0.63 % lead to average of 6.24 % increment on the diagonal cracking load, it does not influence the ultimate strength and the load-deflection response of the beams. Similar variation in vertical web reinforcement ratio leads to an average of 2.4 % and 15 % increment in cracking and ultimate load respectively with no appreciable effect on the load-deflection response.
2. Mobile Applications
What are they?
Any application that runs on a mobile device
Types
Web apps: run in a web browser
HTML, JavaScript, Flash, server-side components,
etc.
Native: compiled binaries for the device
Often make use of web services
3. Mobile Devices: Advantages
Always with the user
Typically have Internet access
Typically GPS enabled
Most have cameras & microphones
Many apps are free or low-cost
4. Mobile Devices: Disadvantages
Limited screen size
Limited battery life
Limited processor speed
Limited and sometimes slow network access
Limited input: phone keypad, touch screen,
stylus etc
Limited web browser functionality
Range of platforms & configurations across
devices
5. Why Mobile App Development?
Why Android?
Transferring app to phone is trivial
Can distribute by putting it on the web
Android Market (now Google Play) for wider
distribution
6. What is Google Android?
A software stack for mobile devices that includes
An operating system
Middleware
Key Applications
Uses Linux to provide core system services
Security
Memory management
Process management
Power management
Hardware drivers
7. Version Code name Release date API level DVM/ART Distribution
8.1
Oreo
October 25, 2017 27 ART
8.0 August 21, 2017 26 ART 0.2%
7.1
Nougat
October 4, 2016 25 ART 2.0%
7.0 August 22, 2016 24 ART 15.8%
6.0 Marshmallow October 5, 2015 23 ART 32.0%
5.1
Lollipop
March 9, 2015 22 ART 21.0%
5.0 November 3, 2014 21 ART 2.1.0 6.7%
4.4 KitKat October 31, 2013 19
DVM (and
ART 1.6.0)
14.5%
4.3
Jelly Bean
July 24, 2013 18 DVM 1.0%
4.2
November 13,
2012
17 DVM 3.3%
4.1 July 9, 2012 16 DVM 2.3%
4.0
Ice Cream
Sandwich
October 19, 2011 15 DVM 0.6%
2.3 Gingerbread February 9, 2011 10 DVM 1.4.0 0.6%
9. Android Apps
Built using Java and new SDK libraries
No support for some Java libraries like Swing &
AWT
Java code compiled into Dalvik byte code
(.dex)
Optimized for mobile devices (better memory
management, battery utilization, etc.)
Dalvik VM runs .dex files
10. Applications
Written in Java (it’s possible to write
native code)
Good separation (and corresponding
security) from other applications:
Each application runs in its own process
Each process has its own separate VM
Each application is assigned a unique Linux
user ID – by default files of that application are
only visible to that application
12. Activity Manager – Life Cycle / Navigation
within and among applications
Content Provider – encapsulate data
Location Manager – aware of its physical location
Notification Manager – users informed about events
Package Manager – infn. about other appln. Pkgs
Resource Manager – lets appln accesses its
resources
13. Telephony Manager – to learn about device
telephony services
View System – manages UI elements / events
Window Manager – perform Window related
operations
14. Free Type: for bitmap and vector font rendering
Libc : standard C System library
Mediaframework: supports many audio & Video formats /
image files / playback & recording
OpenGL/ES: for 3D graphics libraries
SGL: 2D graphics engine – scalable graphics lib
SQLite: provides lightweight RDB engine
SSL: SSL based security for NW communication
Surface Manager: manages accesses to the display
subsystem – 2D & 3D graphics layers
15. Application Components
Activities – visual user interface focused
on a single thing a user can do (presents UI)
Services – no visual interface – they run in
the background
User selects a song through an activity and a separate
service is started
Broadcast Receivers – receive and react
to broadcast announcements
Battery life / timezone changed etc
Content Providers – allow data exchange
between applications
16. Activities
Basic component of most applications
Most applications have several activities
that start each other as needed
Each is implemented as a subclass of the
base Activity class
17. Activities – The View
Each activity has a default window to
draw in
The content of the window is a view or a
group of views (derived from View or
ViewGroup)
Example of views: buttons, text fields,
scroll bars, menu items, check boxes, etc.
View(Group) made visible via
Activity.setContentView() method.
18. Services
Does not have a visual interface
Runs in the background indefinitely
Examples
Network Downloads
Playing Music
TCP/UDP Server
You can bind to an existing service and
control its operation
19. Broadcast Receivers
Receive and react to broadcast
announcements
Extend the class BroadcastReceiver
Examples of broadcasts:
Low battery, power connected, shutdown,
timezone changed, etc.
Other applications can initiate broadcasts
20. Content Providers
Makes some of the application data
available to other applications
It’s the only way to transfer data between
applications in Android (no shared files,
shared memory, pipes, etc.)
Extends the class ContentProvider;
Other applications use a ContentResolver
object to access the data provided via a
ContentProvider
21. Intents
An intent is an Intent object with a message content.
Describe operations – send an email
Activities, services and broadcast receivers are
started by intents. ContentProviders are started by
ContentResolvers:
An activity is started by Context.startActivity(Intent intent)
or Activity.startActivityForResult(Intent intent, int
RequestCode)
A service is started by Context.startService(Intent service)
An application can initiate a broadcast by using an Intent in
any of Context.sendBroadcast(Intent intent),
Context.sendOrderedBroadcast(), and
Context.sendStickyBroadcast()
22. Android Manifest
Its main purpose in life is to declare the components to the
system:
<?xml version="1.0" encoding="utf-8"?>
<manifest . . . >
<application . . . >
<activity
android:name="com.example.project.FreneticActivity"
android:icon="@drawable/small_pic.png"
android:label="@string/freneticLabel"
. . . >
</activity>
. . .
</application>
</manifest>
23. Building and running
ADB is a client server program that connects clients on developer
machine to devices/emulators to facilitate development.
An IDE like Eclipse handles this entire process for you.
Compiled resources
(xml files)
Android Debug Bridge
24. Fragments
Represents a portion of user interface in an Activity.
Views
UI elements that are drawn on-screen including buttons,
lists forms etc.
Layouts
View hierarchies that control screen format and
appearance of the views.
Intents
Messages wiring components together.
Resources
External elements, such as strings, constants and
drawable pictures.
Manifest
Configuration file for the application.
Components
25. Java
This contains the .java source files for your project. By default, it includes
an MainActivity.java source file having an activity class
res/drawable-hdpi
This is a directory for drawable objects that are designed for high-
density screens
res/layout
This is a directory for files that define your app's user interface
res/values
This is a directory for other various XML files that contain a collection of
resources, such as strings and colours definitions.
AndroidManifest.xml
This is the manifest file which describes the fundamental
characteristics of the app and defines each of its components.