Android Basic and Core Concepts
- Basics of Android
Learning Objective: Get to know about android and basic concepts of android
Concepts
- Introduction to Android..?
- History and Versions of Android
- Installation of Software.
- Setup Android Studio
- Hello Android Example
- Folder/Package Structure
- Dalvik Virtual Machine-DVM
- Software Stack
- Android Framework
- Android Emulator
- Android Manifest
- R.java file
- Screen Orientation
Hands-On:
- Installation of Android and Java software
- Create emulator in android
- Android Components
Learning Objective: It is one of the important and must know concepts of android to develop any android application , it gives understanding on how the application as to be built using android components
- Activity
- Service
- Fragments
- BroadCast Receiver
- Content Providers.
- Intents
- Activity
Learning Objective:Activity is basic framework of any mobile application where user interaction is performed and there are several types of activities which perform unique actions
- What is Activity
- Activity Lifecycle
- Navigation Drawer Activity
- Login Activity
- Full Screen Activity
- Bottom Navigation Activity
- Master Detail flow activity
- Empty Activity
- Scrolling Activity
- Tabbed Activity
- Basic Activity
Hands-On :
- Create an Navigation drawer activity and customise the menu and perform action on each menu item
- Create an empty activity and add two fragments inside the activity SignIn and Sign up respectively
- Services
Learning Objective: Whenever application needs to be run in the background i.e; even when the app is closed .Service plays a major role and is one of the important components in android
- What is service?
- Started Service
- Bound Service
- Unbind and Rebind service
Hands-On :
- Create an service class which updates the current location even when the app is closed , log the lat long picked
Or
- Create an Music player which plays music even when the application is in closed state
- Fragment
Learning Objective:Fragments work as mini activity and plays a wide role in app development
- What is Fragment
- Lifecycle of Fragment
- Creating a Fragment
- Dialog Fragment
- List Fragment
- Adding fragment to activity
- Fragment Manager
- Fragmenttransaction
- Adding Fragment without UI
- Back stack implementation
Hands-On :
- Create an Fragment without using fragment activity and connect fragment inside the activity
- Create an list fragment and display the list of students
- BroadCast Receiver
Learning Objective: Broadcast receivers helps to trigger other applications in the phone , will be understood by the end of the chapter
- Creating Broadcast receiver
- Registering Broadcast receiver
- Broadcasting custom intents
Hands-On :
- Create an example for broadcast receiver which triggers when the call occurs
or
- Create an example for broadcast receiver which triggers when the battery changed.
- Content Providers
Learning Objective: Broadcast Content Providers allow data communication between two different applications
- Content Provider Fundamentals
- Contact Content Provider
- Create Content Provider
- Content Resolver
- Understanding content Uri
- Sharing information from custom content provider
- Intents
Learning Objective: Get to know the types of intent and its uses
- Implicit Intent
- Explicit Intent
- Sticky Intent
- Pending Intent
- Service Intent
- Data passing using intent
- Intent Filter
Hands-On :
- Create an webview and load the page https://sushmithan.blogspot.com/
- Create an example to connect one activity to another activity on button click using explicit intent
- Create an activity which takes input of name, course and duration , pass the input data into another activity and display the data using intent
- Oops and Core Java Concepts
Learning Objective: Android application is developed using core Java and hence knowing the basic concept of java and oops is very important
- Objects and classes
- Inheritance
- Polymorphism
- Abstraction
- Encapsulation
- Method Overloading
- Method overriding
- Run time error
- Compile time errors
- Difference between throw and throws
- Difference between final and finally
- Static
- Debug
Hands-On :
- Create an example of Inheritance
- Create an example for method overloading
- Create an example for method overriding
- Create an example for final and finally
- Create an model class for student with name , age and course as fields , display an example of encapsulation
- Create an edittext and validate null , display an demo for debug
- UI Components
Learning Objective: Get to know the UI components of android and how to design user friendly UI in android using layouts and widgets and also get perform clicks on it
- Layouts
- Relative Layout
- Linear Layout
- Frame Layout
- Grid Layout
- Table Layout
- Coordinate Layout
- Constraint Layout
- UI Widgets
- Toast
- Snackbar /Custom Toast
- Button
- ImageButton
- Alert Dialog
- Spinner
- Auto Complete Textview
- Checkbox
- Toggle button
- Rating bar
- Date Picker
- Time Picker
- Floating Action Button
- Radio Button
- View
- ImageView
- WebView
- VideoView
- Seekbar
- SearchView
- RecyclerView
- ScrollView
- View Pager
- Card View
- Tabs
- Toolbar
- Bottom Navigation View
- NavigationView
- Appbar Layout
- Tab Layout
- TabItem
- Include
- GridView
- ListView
- GridLayout
- Event Handling
- OnClick
- OnLongClick
- OnFocusChange
- OnMenuItemClick
- OnCreateContextMenu
- Styles and Themes
Hands-On :
- Create an Login Ui with Username ,Password and Login Button
- Create an SignUp Ui with the help of UI widgets with following feilds - name (EditText), Password (EditText), Sex (Radio button ), State (Spinner), City (Auto Textview)
- Create a button which on click display the toast if signIn is success and alert dialog displaying the message “Login Failed”
- Create an common style for edittext
- Create an Listview which displays the list of students
- Create an Custom listview using custom adapter which displays photo and name of the students
- Create an Custom Gridview using custom adapter which displays photo and name of the students , and on click of the item selected
- Android Menu
Learning Objective: Get to know the types of menu and its uses
- Option menu
- Context menu
- Popup menu
Hands-On :
- Create a page in which on button click of display the context menu
- Create an custom option menu
Advanced Android Concepts
- Data Storage
Learning Objective: Android allows you to store data which can be accessed even when the device is in offline mode using below 4 methods which enables user to access the app even when there is no internet
- Shared Preference
- Internal Storage
- External Storage
- SQLite
Hands-On :
- Create an Shared Preference which stores username and password
- Create an example for internal/external storage to store the image downloaded
- SQLite
Learning Objective: Sqlite is a built in android library which enables us to create database in our mobile in customized way and store the data , this plays a major role when huge data needs to be stored and worked offline
- Create Database
- Create Tables and columns
- Insert data into tables
- Update data into tables
- Delete data from tables
- Fetch data from local Db
Hands-On :
- Create an Database for School
- Create table student with table columns student name , age , course selected
- Create an activity with edittext Name , Age and Course , insert the data entered into student table
- Create an activity which displays students list fetched form student table
Multimedia
Learning Objective: Multimedia api works on accessing user gallery and audio for particular app requirement
- Multimedia API
- Playing Audio
- Creating Audio Player
- Playing Video
- Alarm Manager
- Gallery
Hands-On :
- Display the selected image from gallery in imageview
- Create an audio player which enables pause and play of the audio
- Create an video player which displays youtube video in it
Speech API
Learning Objective: Speech api works on accessing audio and converting into text and vice versa
- TextToSpeech API
- TextToSpeech Example
- Managing speed and pitch
- Speech To Text
Hands-On :
- Convert text to speech
- Convert Speech to text
Telephony API
Learning Objective: Speech api works on accessing audio and converting into text and vice versa
- Telephony Manager
- Get Call State
- Call State BroadcastReceiver
- Simple Caller Talker
- Making Phone Call
- Send SMS
- Send Email
Hands-On :
- Perform an call from the app
- Create an edittext phno ,message and button send , on click of send button send the sms to the mentioned phno
Location API
Learning Objective: Location api provided by google allows us to access google maps and customize it as pere our needs , to customize we have several supporting api’s
- Location API Fundamental
- Example of Android Location API
- Working with Google Maps
- Android Map V2 API
- Adding Map
- Customizing Map
- GoogleMap class
- Android Google Map Application
Hands-On :
- Fetch current location and display on map
- Integrate google location search api
- Display multiple markers on map, (display nearby restaurants)
- Create a route between the current location and destination location
- Display traffic in the route
- Display distance and time estimated between current location and destination
Threads
Learning Objective: To reduce the work load of the application and to make it run smootly we make use of threads
- Threads running on UI thread (runOnUiThread)
- Worker thread o Handlers & Runnable on AsynTask (in detail)
Hands-On :
- Create an example for multi thread
Animation
Learning Objective: Animation is mostly used to make Ui more presentable
- Android Animation API
- Android Drawable class
- Android Animation Example
- Android Rotate Animation
- Android Fade Animation
- Android Zoom Animation
Hands-On :
- Create an imageview and button zoom , rotate and fade on click of the button perform the respective animation on image in imageview
Device Connectivity
Learning Objective: Animation Device Connectivity allows to communicate between the devices and pairing with other devices
- Bluetooth Tutorial
- List Paired Devices
- Working with WiFi
- Working with Camera
Hands-On :
- Check if wifi is connectted or not , if not connected create an access to wifi
- Create an button to access on camera , on click of button access the camera and display the photo taken in imageview
- Web Service
Learning Objective: This module is also one of the most important and frequently used concept to communicate between server and mobile application
- What is web service
- Difference between soap and restful api
- What is Api ?
- How to test api using postman
Hands-On :
- Test an api using postman extension
Social API Integrations
Learning Objective: Social media integration doesnt only make login easy but also enables to access its app users data and perform there functions within our application
- Facebook Integration
- Google plus Integration
- Twitter Integration
- Ad Mob Integration
- Youtube Integration
Hands-On :
- Create an facebook login and display the data name , email and photo
- Create google login and display the data name , email and photo
- Create twitter login and display the data name , email and photo
- Create an ad mob integration
Transmitting Network Data Using
Learning Objective: This is one more most important concept in android which allows to communicate between the server and the app , either of this method can be used for communication and update real time data, this is what makes the app dynamic in nature
- AsynTask
- Volley
- Retrofit
- okHttpClient
Hands-On :
Url : https://community-open-weather-map.p.rapidapi.com/weather
- Make an API call using Async task
- Make an API call using volley
- Make an API call using Retrofit
ImageLoaders API
Learning Objective: Image Loader Api’s allows us to load anf display real time images in our app
- ImageLoader
- Picasso
- Glide
- Nine patch image
Hands-On :
- Display an dynamic image in imageview using Picasso
Or
- Display an dynamic image in imageview using glide
Material Design Basic Concepts
Learning Objective: Material design helps to follow simple and standard designing pattern which makes it easy for both developer and user to design and use the app
- SnackBar Implementation
- Floating Labels
- Floating Action Buttons
- Card Views
- Navigation Drawer Using Material Design
- Recyclerview
- Google Calender
- CollapsingtoolbarLayout
- CoordinatorLayout
- ElegantButton
Hands-On :
- Create an profile page using collapsing toolbar activity
- Create an Vertical recyclerview and adapter to display student list, on item selected display the row details in toast
- Create an Horizontal recycler view and adapter to display student list , on item selected display the row data in toast
- Create a Staggered recycler view and adapter to display student list, on item selected display the row data in toast
- Reactive Android
Learning Objective: Reactive android is an advanced concept of android and java which enables us to load the data fast even without refreshing the data , in detail will be looked after in this chapter
- What is Reactive Programming
- Introduction to Operators
- Understanding on Observables
- Observer
- Android Schedulers and its types
- Subscription
- Operator/ Transformer
Hands-On :
- Using reactive android in retrofit make an api call
- Firebase
Learning Objective: Firebase is service provided by google which allows us to perform many actions like push notification etc
- Analytics
- Push Notification
- Cloud Messaging
- Storage
- Admob
- Crashlytics
- Push Notification
- Test Lab
Hands-On :
- Integrate firebase analytics and display the geography of the users
- Integrate firebase crash analytics into the app and create an runtime crash , display it in firebase
- Integrate firebase push notification
- Integrate firebase admobs
- Sockets
Learning Objective: Socket is one more advanced concept in android which enables us to upload huge files and chat once connection is established
- What is Socket
- How to establish socket connection
- Send and Receiving Data with sockets
Hands-On :
- Establish an socket connection
- Parse the data into recyclerview
- APK
Learning Objective: Once the application is ready for deployment our code will be converted into file with extension .apk , this will teach you how to generate apk to deploy
- What is APK ?
- How to build debug apk
- How to generate signed apk
Hands-On :
- Generate debug apk
- Generate signed apk
- MVP Concepts
Learning Objective: MVP allows us to organise and optimise the code in an understandable and reusable way
- What is MVP?
- MVP Architecture
- Android Activity and MVP
- Implementation of MVP in App
- Model
- View
- Presenter
Hands-On :
- Implement MVP model on sample project
- Implement code optimization using MVP model
- Git Hub Basics
Learning Objective: Git enables us to keep code safe with each line of backup ensured , it allows multiple people to work on same project by handling the conflicts
- Import Version Control
- Create Repository
- Git commit
- Git Push
- Git Pull
- Git Merge
- Git Checkout
- Git Revert
Hands-On :
- Create Repository
- Create Branches
- Clone project from git
- Enable Version control implementation on android studio
- Commit and push code to git using Android VCS
- Merge code and remove conflicts
- Uploading App into Playstore
Sushmitha N
Hi there ! Im a experienced android developer with 4years of revelant exprience.My Skills include Android,Core Java ,Oops and Kotlin.Youtube Channel : SDK Book
Comments
Post a Comment