0% found this document useful (0 votes)
38 views

1MAD Introduction

The document provides an introduction to mobile application development using Android Studio, covering the Android IDE, stack, and key concepts such as the Java API framework, native C/C++ libraries, and system apps. It also discusses Android Studio installation and highlights components of the Android stack like the Linux kernel, hardware abstraction layer, and Dalvik virtual machine.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views

1MAD Introduction

The document provides an introduction to mobile application development using Android Studio, covering the Android IDE, stack, and key concepts such as the Java API framework, native C/C++ libraries, and system apps. It also discusses Android Studio installation and highlights components of the Android stack like the Linux kernel, hardware abstraction layer, and Dalvik virtual machine.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 17

MAD INTRODUCTION

COURSE : CUIT444 (MOBILE APP


DEVELOPMENT)
LECTURER : M. MASHEKA
OFFICE :UNIX, CHINHOYI UNIVERSITY OF
TECHNOLOGY
EXTENSION : 1195
EMAIL : [email protected]
MOBILE APPLICATION DEVELOPMENT
INTRODUCTION
Agenda:
Android IDE (Android Studio)

Android Stack
Android Studio Installation
MOBILE APPLICATION DEVELOPMENT
WHAT IS ANDROID STUDIO?

 An official Integrated Development Environment (IDE) for android Application


development which is free and simple, open source, written in Java and
Extensible Markup Language (xml), is Integrated with Gradle build system.
 Java
 Xml - is a markup language that defines a set of rules for encoding documents in
a format that is both human-readable and machine-readable
MOBILE APPLICATION DEVELOPMENT
ANDROID STACK/ARCHITECTURE.
Android App Developers Android App
(Java & xml) Programmer

Java APIs Java API Programmer

NDK dev libraries (C & C++)


NDK Programmer

Hardware Abstraction Layer (HAL)

Linux makes up the core part of Driver Programmer


Android, a kernel is the core part of
any operating system.
MOBILE APPLICATION DEVELOPMENT
LINUX KERNEL

 The android runtime (art) relies on the linux kernel for underlying
functionalities such as threading and low-level memory management.
 Using a Linux kernel allows Android to take advantage of key security
features and allows device manufacturers to develop hardware drivers for
a well-known kernel.
MOBILE APPLICATION DEVELOPMENT
HARDWARE ABSTRACTION LAYER (HAL)

 Provides standard interfaces that expose device hardware capabilities to the higher-
level java api framework.
 The HAL consists of multiple library modules, each of which implements an interface
for a specific type of hardware component, such as the camera or Bluetooth module.
 When a framework API makes a call to access device hardware, the Android system
loads the library module for that hardware component.
MOBILE APPLICATION DEVELOPMENT
NATIVE C/C++ LIBRARIES

 Many core android system components and services, such as art and hal, are built
from native code that require native libraries written in c and c++.
 The android platform provides java framework apis to expose the functionality of
some of these native libraries to apps. for example, you can access opengl es through
the android framework’s java opengl api to add support for drawing and manipulating
2d and 3d graphics in your app.
 If you are developing an app that requires c or c++ code, you can use the android ndk
to access some of these native platform libraries directly from your native code.
MOBILE APPLICATION DEVELOPMENT
ANDROID STACK/ARCHITECTURE.
NDK libraries: C and C++ programming languages
 Surface Manager-drawing different layers of the screen
-manipulating pixels and bringing the images and the videos to relevant frames and screens
 OpenGL ES-can be used by the camera and video recorders.
-Animations and more graphics.
 SGL-two dimensional graphics
 Media Framework-Audio player, image viewer, video player (play, pause, stop, loop, repeat,…)
 SQLite-Database creation and manipulation
 WebKit -this take care of your Browsers
MOBILE APPLICATION DEVELOPMENT
ANDROID STACK/ARCHITECTURE.
NDK libraries: C and C++ programming languages
 Run Time Libraries:
Dalvik Virtual Machine – help smaller devices like cellphones to run applications in a
limited environment where there is less memory, less CPU capabilities, limited battery.
All codes here are in form of bytecode or jar file
MOBILE APPLICATION DEVELOPMENT
JAVA API FRAMEWORK
 Every android feature is available to users through apis written in java
 These APIs are the building blocks of Android application development.
 These APIs include:
 View System: used to build an app’s UI, including lists, grids, text boxes, buttons, and even an embeddable web
browser
 A Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files
 Notification Manager that enables all apps to display custom alerts in the status bar. E.g. missed call alerts, New
unread msgs,
 Activity Manager that manages the lifecycle of apps and provides a common navigation back stack, allow users
to navigate through your application
 Content Providers that enable apps to access data from other apps, such as the Contacts app, or to share their own
data. location access to GPS application.
MOBILE APPLICATION DEVELOPMENT
JAVA API FRAMEWORK

 Package Manager – keeps track of how many applications are running in your
emulator and how many are running, dead,… -happen to be the brain of your
application. -Application Resources are managed by Package manager.
 Telephony Manager – Call management, missed calls, dialed calls
 Location Manager – Google maps, GPS, Sygic
MOBILE APPLICATION DEVELOPMENT
SYSTEM APPS

 Act as user Applications


 Developers can invoke some functionalities from them.
Default Launch->main Activity.
Action->Name of the activity Used by
MOBILE APPLICATION DEVELOPMENT
Data is the schema of the activity
Every program has a Manifest file.
package
manager

JAVA API FRAMEWORK


MOBILE APPLICATION DEVELOPMENT
VIEW
 The screen that appear when yu run your app
 It’s the interface between user and the app
 Work with the surface
USES PERMISSION
 Help you to access other applications, hardware

THREADS
 Threads are a must to android app development
MOBILE APPLICATION DEVELOPMENT
LOG CAT

 Helps you in the debug mode


 Helps you to know why your program is sluggish or acting up
To display the log messages for an app:
1. Build and run your app on a device
2. Click View > Tool Windows > Logcat (or click Logcat in the tool
window bar).
FILE MANAGER
 Lets you access your files
MOBILE APPLICATION DEVELOPMENT
EMULATOR

 That’s where android applications will be running


 Some applications does not run in emulator
 Cannot run location manager, call manager, sensors,..

You might also like