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

Pertemuan 1 - Basic Android Development Using Jetpack Compose

This document provides an overview of basic Android development. It discusses topics that will be covered in the course including Kotlin, Git, Gradle, Compose, activities, fragments, SQLite, navigation and REST APIs. It also outlines the prerequisites needed including a 64-bit Windows laptop or desktop with at least 8GB of RAM and an Android device.

Uploaded by

annastasya2512
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views

Pertemuan 1 - Basic Android Development Using Jetpack Compose

This document provides an overview of basic Android development. It discusses topics that will be covered in the course including Kotlin, Git, Gradle, Compose, activities, fragments, SQLite, navigation and REST APIs. It also outlines the prerequisites needed including a 64-bit Windows laptop or desktop with at least 8GB of RAM and an Android device.

Uploaded by

annastasya2512
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 65

BASIC

ANDROID
DEVELOPMENT

Muhammad Aditya Ridharrahman


Telkom Polban - 2010
GOvTech Edu - Telkom Indonesia
In this course you will learn:

1. Mobile app introduction


2. Basic Kotlin
3. Object Oriented with Kotlin
4. Version Control - Git and Github
Course Material 5. Gradle
6. Basic Android with Compose
7. Layouting using Compose
8. Theming and Animation
9. Activity and Fragment
10. SQLite integration
11. Navigation
12. Integrating with REST API
1. In this course you will need to use Desktop or Laptop with minimum
spec like below:

a. 64-bit Microsoft® Windows® 8/10/11


b. x86_64 CPU architecture; 2nd generation Intel Core or newer, or
AMD CPU with support for a Windows Hypervisor
c. Desktop or Laptop with minimum 8GB RAM

Prerequisite 2. Android Mobile Device (Real device or Emulator)


3. Data cable
In this course you will learn:

1. What is mobile app


2. Kind of mobile app with pros and cons in each type
3. History of mobile app evolution
4. What is Android
5. History of Android app evolution
CHAPTER 1 6. Android development dependencies
TOPIC 7. Java installation
8. Android Studio Installation
9. Android Studio Tour

Objective:

10. Student familiar with how android works


11. Student able to setup environment needed for Android Development
WHAT IS MOBILE APP

A mobile application is a computer program or


software application designed to run on a mobile device such as a
phone, tablet, or watch.
MOBILE APP CLASSIFICATION

Native App Cross Platform Hybrid App Web App

Satu codebase untuk Web tech, diakses Web tech, diakses


Dibuat khusus untuk
berbagai platform, melalui browser atau melalui browser atau
OS tertentu
architecture approach app wrapper app wrapper
mendekati native
NATIVE APP

A native application is a software program that is developed for use


on a particular platform or device.

For example, developers write iOS applications in Objective-C or


Swift, while they create Android-native apps in Java or Kotlin

Native apps can provide optimized performance and take advantage


of the latest technology
WEB APP

Web apps are written in HTML5 or CSS and typically run through a
browser.

With that kind of characteristic some of native features are remain


inaccessible in the browser:

● Notifications
● Running in the background
● Sensors
● Complex gestures
HYBRID APP

Hybrid apps are built using web technologies such as JavaScript, CSS, and
HTML5 and function like web apps disguised in a native container.

Hybrid apps are essentially websites embedded on a mobile platform


through a WebView and styled to look like native

Hybrid applications are a combination of native and web apps. The inner
workings of a hybrid application are similar to a web app, but it installs
like a native app and able to be stored in the app store or play store
CROSS PLATFORM APP

Cross-platform dev approach uses a native rendering engine.


The codebase written connects to native components via the so-called
bridges. This provides the close-to-native UX.

Cross-platform apps are free of platform hook. They offer seamless


functionality, easy implementation, and cost-effective production. Yet, do
not expect outstanding performance. Customization is also a pain since it
is limited to the framework you use.
THE DIFFERENCES
NATIVE PROS AND CONS

Pros
● Approach that resulting most fast and responsive
software performance
● More Secure
● Access to the device’s full feature set
● Able to implement new feature early

Cons
● Multiple code base
● Costly
● Slower time to market / time consuming
● Less market coverage compared to other approach
HYBRID PROS AND CONS

Pros
● Target wider user base
● Code reuse
● Shorter time development
● Less expensive

Cons
● Functionality limitations
● Slower performance compare to native
● Long wait for new feature
CROSS PLATFORM PROS AND CONS

Pros
● Target wider user base
● Code reuse
● Shorter time development
● Less expensive
● Native like, faster than hybrid

Cons
● Functionality limitations but not as limited as hybrid
● Slower performance compare to native
● Long wait for new feature
WEB APP PROS AND CONS

Pros
● Do not need to be downloaded or installed
● No app update
● Support SEO
● Easy to maintain
● Do not require app store approval, so can be launched
quickly

Cons
● The least secure
● Slowest
● Fewer functionality
HOW TO CHOOSE
ADDITIONAL REFERENCE

- Ionic vs Flutter vs React Native


- Progressive Web App
- Google strategy behind Flutter
MOBILE APP EVOLUTION TIMELINE

1993 — First touch screen mobile phone, IBM Simon


2002 — Blackberry Smartphone release
2003 — Android Inc founded by Andy Rubin
2007 — iPhone release
2008 — Android OS release (HTC phone)
2009 — First hybrid framework release (Apache Cordova)
2010 — Windows phone release
2014 — WearOS release
2015 — First cross platform framework release (Xamarin)
2015 — React Native release
2017 — Flutter release
2017 — Kotlin support on Android
2019 — Become prefered language for Android (Kotlin First)
WHAT IS ANDROID

Android is a mobile operating system based on a modified version


of the Linux kernel designed primarily for touchscreen mobile
devices, intended to be complete stack that include everything
from operating system, middleware and applications

The source code has been used to develop variants of Android on a


range of other electronics, such as game consoles, digital cameras,
portable media players, PCs, each with a specialized user interface.
Some well known derivatives include Android TV for televisions
and Wear OS for wearables, both developed by Google.
WHAT IS ANDROID

Available across different form factors


ANDROID PLATFORM ARCHITECTURE
Android is an open source, Linux-based software stack created for a wide array of devices
and form factors. The following diagram shows the major components of the Android
platform.

1. System Applications / Applications


2. Java API Framework / Application Framework
3. Android Runtime and Libraries
4. Hardware Abstraction Layer
5. Linux Kernel
LINUX KERNEL

The Linux Kernel will provide an abstraction layer between the


device hardware and the other components of android
architecture. It is responsible for management of memory, power,
devices and manages all the available drivers such as display
drivers, camera drivers, Bluetooth drivers, memory drivers, etc.
which are required during the runtime.

Android uses a version of the Linux kernel with a few special


additions such as Low Memory Killer (a memory management
system that is more aggressive in preserving memory), wake locks
(a PowerManager system service), the Binder IPC driver, and
other features important for a mobile embedded platform
HARDWARE ABSTRACTION LAYER

A HAL defines a standard interface for hardware vendors to implement, which enables Android to be agnostic
about lower-level driver implementations. Using a HAL allows you to implement functionality without affecting or
modifying the higher level system
RUNTIME AND LIBRARIES

each app runs in its own process and with its own instance of the Android Runtime (ART). ART is written to run multiple
virtual machines on low-memory devices by executing DEX files, a bytecode format designed specially for Android that's
optimized for minimal memory footprint.

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.
API FRAMEWORK

The entire feature-set of the Android OS is available to you through APIs written in the Java language. These APIs form the
building blocks you need to create Android apps by simplifying the reuse of core, modular system components and services,

It provides a generic abstraction for hardware access and also helps in managing the user interface with application resources.
Generally, it provides the services with the help of which we can create a particular class and make that class helpful for the
Applications creation.
APPLICATIONS

The pre-installed applications like home, contacts, camera, gallery etc and third party applications downloaded from the play store like chat
applications, games etc. will be installed on this layer only.

It runs within the Android run time with the help of the classes and services provided by the application framework.

Apps included with the platform have no special status among the apps the user chooses to install. So a third-party app can become the user's default
web browser, SMS messenger, or even the default keyboard (some exceptions apply, such as the system's Settings app).

The system apps function both as apps for users and to provide key capabilities that developers can access from their own app. For example, if your
app would like to deliver an SMS message, you don't need to build that functionality yourself—you can instead invoke whichever SMS app is already
installed to deliver a message to the recipient you specify.
ANDROID EVOLUTION
1.0 — 2008 — First release, doesn’t have a codename (Gmail, Maps, and Youtube already included)

1.5 — 2009 — Cupcake —The first on screen keyboard, Third party app widget

1.6 – 2009 — Donut — Security Patch, add ability for the OS to operate on variety of different screen sizes and resolutions

2.0 – 2009 — Eclair — The first Android release to enter mainstream consciousness, pinch to zoom capability, turn by turn navigation

2.2 – 2010 – Froyo — Performance improvement, voice actions

2.3 – 2010 – Gingerbread — First time Android logo release

3.0 — 2011 — Honeycomb — Tablet only release

4.0 — 2011 — Ice Cream Sandwich — Swipe away things like notifications and recent apps

4.3 — 2012 — Jelly Bean — expandable and interactive notifications and Android's Quick Settings panel made its first appearance

4.4 — 2013 — Kitkat — expandable and interactive notifications and Android's Quick Settings panel made its first appearance
ANDROID EVOLUTION
5.0 — 2014 — Lollipop— Material Design Standard

6.0 — 2015 — Marshmallow— Minor release, start trend Google releasing one major Android Version per year, fingerprint readers

7.0 — 2016 — Nougat — Split Screen mode, Google Assistant

8.0 — 2017 — Oreo — Project Treble, Picture in Picture mode

9.0 — 2018 — Pie —Intelligent system for power and screen brightness

10.0 — 2019 — No dessert themed name, Dark Theme ! more granular control over location data

11.0 — 2020 — Upgrade permission rule and Android 11 also made it more difficult for apps to request the ability to detect your location in the
background, and it introduced a feature that automatically revokes permissions from any apps you haven't opened lately.

12.0 — 2021— Material You Design, dynamic theme based on wallpaper


ANDROID DEVELOPMENT DEPENDENCY

1. Java SDK
2. Android Studio
a. Android SDK
b. Gradle
ANDROID STUDIO

Android Studio is the official Integrated Development Environment (IDE) for Android app development, based on
IntelliJ IDEA . On top of IntelliJ's powerful code editor and developer tools, Android Studio offers even more
features that enhance your productivity when building Android apps, such as:

● A flexible Gradle-based build system


● A fast and feature-rich emulator
● A unified environment where you can develop for all Android devices
● Apply Changes to push code and resource changes to your running app without restarting your app
● Code templates and GitHub integration to help you build common app features and import sample code
● Extensive testing tools and frameworks
● Lint tools to catch performance, usability, version compatibility, and other problems
JAVA INSTALLATION
Installation Guidance
https://phoenixnap.com/kb/install-java-windows

Steps
1. Download
2. Install
3. Set System Env

Verify java installation


DEVELOPER OPTIONS ON DEVICE
Installation Guidance
- Sample for Samsung
ANDROID STUDIO INSTALLATION
Installation Guidance:
- https://developer.android.com/courses/pathways/android-basics-compose-unit-1-pathway-2
- https://www.youtube.com/watch?v=U46F-De5z3k

Steps
1. Download
2. Install
a. Download and Install Android SDK
3. Set System Env

Verify ADB command


IntelliJ IDEA INSTALLATION
THANKS!
Does anyone have any questions?

Your address here

001 664 123 4567

CREDITS: This presentation template was created by Slidesgo,


001 664 123 4567
including icons by Flaticon, and infographics & images by
Freepik.
Please keep this slide for attribution. Email address here
TABLE OF
CONTENTS
01 02
EXPERIENCE EDUCATION
Here you could describe the topic of the section Here you could describe the topic of the section

03 04
SKILLS INTERESTS
Here you could describe the topic of the section Here you could describe the topic of the section
ABOUT ME

Mercury is the closest planet to the Sun and


the smallest one in the Solar System—it’s only
a bit larger than our Moon. The planet’s name
has nothing to do with the liquid metal since it
was named after the Roman messenger god,
Mercury
EXPERIENCE

01 2010-2019

Despite being red, Mars is a


cold place, not hot
2010-2019 02
Mercury is the closest planet to
the Sun
03 2010-2019

Venus has a beautiful name, but


it’s terribly hot
2010-2019 04
Jupiter is a gas giant and the
biggest planet in our Solar
System
JOB POSITION 1

COMPANY
2006-2010 NAME HERE

■ List your responsibilities for this job


■ Adapt this to your needs
■ Try to keep it short
■ Get straight to the point
■ Don’t omit important information
JOB POSITION 2
COMPANY
NAME HERE
2006-2010

■ List your responsibilities for this job


■ Adapt this to your needs
■ Try to keep it short
■ Get straight to the point
■ Don’t omit important information
EDUCATION
01 02
2010-2019 2010-2019

Venus has a beautiful name Despite being red, Mars is a


and is the second planet from cold place, not hot. It’s full of
the Sun iron oxide dust

03 04
2010-2019 2010-2019

Mercury is the closest planet to Jupiter is a gas giant and the


the Sun and the smallest one in biggest planet in our Solar
the Solar System System
INSTITUTION 1
INSTITUTION
NAME HERE
2000-2006

Principal subjects / occupational


skills covered:

■ List the subjects here


■ Sort them by relevance
■ Adapt this to your needs
■ Try to keep it short
■ Get straight to the point
COMMUNICATION SKILLS

Mother tongue(s) Other language(s)


Language 1 Language 1

100% 80%
Proficiency

Language 2 Language 2

90% 50%
Proficiency

Language 3

30%
TECHNICAL SKILLS

VENUS MARS JUPITER


Venus has a beautiful Despite being red, It’s a gas giant and
name, but it’s terribly Mars is a cold place, the biggest planet in
hot not hot our Solar System
COMPUTER SKILLS

SKILL 01 SKILL 02
Venus has a beautiful Mercury is the
name, but it’s terribly
hot 70% 90% closest planet to the
Sun

SKILL 03 SKILL 04
Saturn is composed Despite being red,
mostly of hydrogen
and helium 40% 50% Mars is a cold place,
not hot
VOLUNTEER WORK

VENUS MARS
Venus has a beautiful name, Despite being red, Mars is a
but it’s terribly hot cold place, not hot

MERCURY JUPITER
Mercury is the closest planet It’s a gas giant and the biggest
to the Sun planet in our Solar System

NEPTUNE SATURN
Neptune is the fourth-largest It’s a gas giant, composed of
planet in our Solar System hydrogen and helium
HOBBIES

01 MARS 03 SATURN

Despite being red, Mars Yes, Saturn is the ringed


is a cold place, not hot. one. This planet is a gas
It’s full of iron oxide giant, and it’s composed
dust, which gives the mostly of hydrogen and
planet its reddish cast helium

02 JUPITER 04 VENUS

Jupiter is a gas giant and Venus has a beautiful


the biggest planet in our name and is the second
Solar System. It’s the planet from the Sun. It’s
fourth-brightest object in terribly hot, even hotter
the sky than Mercury
THANKS!
Does anyone have any questions?

Your address here

001 664 123 4567

CREDITS: This presentation template was created by Slidesgo,


001 664 123 4567
including icons by Flaticon, and infographics & images by
Freepik.
Please keep this slide for attribution. Email address here
ALTERNATIVE
RESOURCES
NEWS ICONS
CONTACT US
ICONS
HOBBIES ICONS
Did you like the resources on this template? Get them for free at our other
RESOURCES websites.

ICONS

■ Pack News 7
■ Pack Free Time
■ Pack Contact Us 19

VECTORS

■ Women spending time together illustrated


■ Illustration of young women spending time together
■ Photographers in action illustrated
■ Office workers sitting at desks illustrated
Instructions for use
In order to use this template, you must credit Slidesgo by keeping the Thanks slide.

You are allowed to:


- Modify this template.
- Use it for both personal and commercial projects.

You are not allowed to:


- Sublicense, sell or rent any of Slidesgo Content (or a modified version of Slidesgo Content).
- Distribute Slidesgo Content unless it has been expressly authorized by Slidesgo.
- Include Slidesgo Content in an online or offline database or file.
- Offer Slidesgo templates (or modified versions of Slidesgo templates) for download.
- Acquire the copyright of Slidesgo Content.

For more information about editing slides, please read our FAQs or visit Slidesgo School:
https://slidesgo.com/faqs and https://slidesgo.com/slidesgo-school
Fonts & colors used
This presentation has been made using the following fonts:

Archivo Black
(https://fonts.google.com/specimen/Archivo+Black)

Roboto Condensed
(https://fonts.google.com/specimen/Roboto+Condensed)

#f05543 #e2a0a1 #6bb9c3 #a9c5c8


Use our editable graphic resources...
You can easily resize these resources, keeping the quality. To change the color, just ungroup the resource and
click on the object you want to change. Then, click on the paint bucket and select the color you want. Don’t
forget to group the resource again when you’re done.
...and our sets of editable icons
You can resize these icons, keeping the quality.
You can change the stroke and fill color; just select the icon and click on the paint bucket/pen.
In Google Slides, you can also use Flaticon’s extension, allowing you to customize and add even more icons.
Educational Icons Medical Icons
Business Icons Teamwork Icons
Help & Support Icons Avatar Icons
Creative Process Icons Performing Arts Icons
Nature Icons
SEO & Marketing Icons

You might also like