Android Expert with Kotlin – 360º Android application development course
Best short term, job oriented 360º degree android application development training course from Phenomtec. This covers core Android development concepts and frameworks to give the participants sufficient knowledge to secure jobs in the much sought after mobility segment or develop products from their own ideas.1
Using Kotlin for Android Development
CompatibilityPerformance
Interoperability
Footprint
Compilation Time
Learning Curve
2
Basic Syntax – Kotlin
Defining packagesDefining functions
Defining variables
Using string templates
Using conditional expressions
Using nullable values and checking for null
Using type checks and automatic casts
Using a for loop
Using a while loop
Using when expression
Using ranges
Using collections
Creating basic classes and their instances
Returns and Jumps
Break and Continue Labels
3
Classes, Objects and Interfaces
Classes and InheritanceConstructors
Nested and Inner Classes
Creating instances of classes
Class Members
Inheritance
Overriding Methods
Overriding Properties
Abstract Classes
Implementing Interfaces
Properties in Interfaces
Resolving overriding conflicts
4
Equality
Structural equalityFloating point numbers equality
Referential equality
Type Checks and Casts
is and !is Operators
Smart Casts
This Expression
5
Null Safety
Nullable types and Non-Null TypesChecking for null in conditions
Safe Calls
Elvis Operator
The !! Operator
Safe Casts
Collections of Nullable Type
6
Exceptions
Exception ClassesTry is an expression
7
Annotations
Annotation DeclarationUsage
Annotations may have constructors
8
Keywords and Operators
Hard KeywordsSoft Keywords
Operators and Special Symbols
9
Learn Android from the ground up
History of AndroidAndroid Version History
Introduction to Android
Open Handset Alliance
Android Software Stack / Android Application Architecture
Look on Dalvik virtual machine / ART
Android SDK Features
10
Basic building blocks of an Android Application
Types of app componentsActivities
Services
Broadcast receivers
Content providers
11
The Activity Lifecycle
How Activities Are Supposed to behave onCreate(), onDestroy(), onPause(), onResume() and onSaveInstanceState()Application priority and process states
12
Fragments
Introduction to fragmentsFragment life cycle
Dynamic UI with Fragments
Use of static and dynamic fragments
13
What makes an Android Application?
Android SDK Features Required libraries, Debugger, An emulator,Relevant documentation for the Android application program interfaces (APIs),
Sample source code, Tutorials for the Android OS
Android Studio : The Official IDE for Android – Introduction.
Just look on JetBrains (formerly IntelliJ).
Gradle and Gradle scripts
What is Gradle-based build support
Integrating with 3rd party libraries using Gradle
Adding dependencies in Gradle
Annotation in Android
14
Android: GUI – Using XML For UI Layout
Relative LayoutLinear Layout
Table Layout
Frame Layout
Absolute layout
Scrollview
15
Debugging & Development Tools
Use of DDMS / Android Device Monitor (ADM)What’s Debugging – Breakpoints and Logging
Use of Logcat and Log Results
16
Emulator
Look on Android Studio embedded AVDAdding Genymotion plugin in studio
Look on Genymotion
Launching emulators
Editing emulator settings
17
Android Manifest
Manifest Introductionuses-permission
Working with run time permissions
Change app icon and name
Adding app components in manifest
18
Externalizing Resources
Use of ‘drawable’ directory for image resourcesUse of ‘layout’ directory for xml pages
Use of ‘mipmap’ directory for icons
Use of ‘strings’ for constants and achieving internationalization
Resources & R.java
Localizing with Resources
Layouts & Drawable Resources
19
Selection Widgets
The role and use of AdaptersArray Adapter
Cursor Adapter
Lists
Spinners
AutoCompletion Fields
20
Using Menu and Navigation Drawer
Creating and using Options Menu, Context Menu and SubmenuNavigation View, Drawer Layout, Navigation Drawer Menu
21
More Widgets
Date PickerTime Picker
The Calendar class usage
Use of ‘SimpleDateFormat’ in Android
22
Messages
Alert DialogsToasts
Screen size
Screen density
Orientation
Resolution
Density-independent pixel (dp)
Look on dip, dp, sp, and px
23
The Power of Intents
Explicit IntentsPassing Data Between Activities using Explicit Intents
Sharing data using Extras Bundle
Implicit Intents
Invoking activities by class name and URI
Pending Intents
Using Internet Resources
24
MultiMedia / media playback
Supported audio formatsSimple media playback
Streaming audio
Supported video formats
Simple video playback
Streaming video
25
Camera
How to Use CameraUnderstanding basic classes of Camera Intent and API
26
Threads
The “one thread to rule them all” ruleThreads running on UI thread(runOnUiThreads)
Worker Thread
Handler & Runnable
UI updation from another thread
AsyncTask(in detail)
Alternatives to Handler
Timer
27
Databases
Introducing SQLiteDatabase Connectivity
SQLiteOpenHelper and creating a database
Opening and closing a database
Cursors and content values
Working with cursors Inserts, updates and deletes
Using Content Provider to share data
28
Using multiple Activities
Having multiple activities in your projectStarting other activities from your project
Getting results from activities
Using URIs to launch system activities
29
Preferences and Files
Using shared preferencesPreference screens
Preference XML configuration
Preference change notification
Simple reading and writing of files
30
Creating and Using Services and BroadcastReceivers
Role of servicesBounded Services
UnBounded Services
Service lifecycle methods
Sharing state in local services
Threads and local services
Starting and stopping services
Getting updates via shared state
Getting updates via Intents and BroadcastReceivers
31
Notifications
Role of local notificationsRaising a notification
Reacting to selected notifications
Handling multiple notification-worthy
32
Android Web Service using PHP and XAMPP Server
What is Web Service?Use of HttpURLConnection
GET / POST method requests from AsyancTask
Insert/Select operations via browser
How to write PHP code for INSERT or SELECT operation
How to access PHP files from Android app
How to use Xampp server, and how to connect with device
Using AsyncTask to Fetch & Parse JSON
33
Location Tracking
Use of GPS for getting current locationAndroid’s location tracking model
Getting updates as you move
Getting the latest fix
Proximity alerts / Nearestness alert
Choosing providers via criteria
Testing via DDMS
34
Android Animation
Android Animation ExampleRun animation from xml animation files
Use of ‘anim’ directory
Adding Animations / Tween Animation
View Animations
Programmatically creating Animations
Animations using nineoldandroids JAR file
Animation using XML file in anim folder
35
Maps
Rules and API keysCreating a project in Google API Console and enable APIs
Generating release SHA1 fingerprint via Terminal and Android Studio
Adding a map, with center and camera zoom levels
Adding Markers and Snippet
36
Push Notification using Firebase Cloud messaging (FCM)
Introduction to firebaseCreating a project in firebase
Adding ‘google-services.json’ file in app
Send push message from Firebase Console
Programatically send cloud OTP notification from app to device
37
Telephony
Reading Phone device detailsReading Sim Details
Incoming and outgoing call monitoring
Tracking Service Change
Getting Mobile country code(MCC)
Getting Mobile network code(MNC) / Tower code
Introducing SMS and MMS
Sending SMS and MMS
Sending SMS messages manually
38
Core Functionalities
Using BluetoothMake a device as discoverable
Use of BluetoothAdapter class
Managing Network Connectivity
Managing WiFi
39
Sensors
Using Sensors and Sensor ManagerInterpreting sensor values
Use of proximity sensor
40
Accelerometer
Using CompassWorking and use of Accelerometer
Orientation services
41
Using Content Providers – Achieving Security
What is Content provider and it’s usage in applicationsContent Provider URIs
Content Provider “MIME” types
Searching for content
Adding a provider in manifest
Securely accessing database values by Content provider
Adding, changing, and removing content
Working with content files
42
Basic App Widgets
App widgets and Android securityDesign app miniature and add in RemoteViews
Creating an AppWidgetProvider
Defining the metadata
Updating the app widget
43
Alarm Manager
AlarmManager for periodic actionsBroadcastReceiver with AlarmManager
How Autostartmanager confine alarms
WakeLocks for work done while phone is asleep
44
Text to Speech
Introduction to Text to SpeechAndroid’s TextToSpeech class and its usage
Set Language, pitch and speech rate using text to speech API
45
Extending Android with JARs
Simple mechanics of the libs/ directoryAdding jar files from gradle
What will and will not work
How best to integrate a third-party JAR
46
Advanced in Databases
Introducing Speedy RealM – An alternative to SqliteAdd realm plugin in application via gradle
Ceating a RealM database
What is migration in database
Working with RealM by saving RAM
Creation of a RealM database
RealM statements like Select, Inserts, updates, and deletes
47
Advanced in UI ( Focussed for ListView)
Introducing Speedy RecyclerView- An alternative to simple listview in AndroidRecycling of each view items, there by saving RAM
Concept of View Holder and RecyclerView adapter
RecyclerView item’s OnClick with interface
48
Advanced Image Libraries
The super fast image downloading library – Fresco, Powered by FacebookTo save data and CPU, Fresco has two level of cache in memory and another in internal storage, there by can save 1/2 of execution time.
Image loading via Picasso library
Image loading via Glide library
49
Advanced Web Service Libraries
Android RESTful serviceConcept of Retrofit-2 library
Use of ‘okhttpclient’ with Retrofit-2
Implementing interceptors
Client server model and interaction for both GET and POST method
Retrofit turns your REST API into a Java interface
50
Social App Integration
IntroductionUnderstanding of SocialAuth Libs
Facebook Integration
Login with Facebook
Read facebook profile information using API
Twitter Integration
51
Installation and setup – Kotlin
Using Gradle – Plugin and VersionsTargeting the JVM
Targeting JavaScript
Targeting Android
Configuring Dependencies
Configure Plugins
Install JetBrains plugin
Converting Java code to Kotlin
Configuring Kotlin in the project
Building and publishing the Kotlin application for Android
52
Installation and setup-Android Studio
Pre-Installation Check ListInstall Java Development Kit (JDK)
Get the official IDE from “developer.android.com”
Download Android Studio
Install “Android Studio IDE” and “Android SDK
Post-Installation – Adding More SDK Packages
Download and setup Emulator
Run the Android App on Emulator
53
Introduction to Google Play store / Roll Outing App
IntroductionGoolge Play Services
Signing an apk
Norms to Upload Application
Checklist
Packaging Your Application
Versioning Your Apps
54
Study about Software Design / Software Development Life Cycle / Software Architecture
Look on Software development life cycle (Study, Design, Development, Testing, Maintenance)Doing UI design, database design, table design with normalization and on the way, experiencing an idea about the architecture for your academic projects
Idea about software architecture and SDLC through this study, design, development, testing and maintenance phases
Quotes
Developers leading sessions included with practical app building with architectural design.Trainers are with more than 5 year experienced in industry with post graduation in MSc Computer Science(MG U).
Training goes through project design, development, testing and deployment of Android app in Google Play.
Professional and standard coding with lint tool.
Carrier focused learning