SlideShare a Scribd company logo
28th May 2015, NED University
Daniel Muhammad Idrees
• Software Engineer - Interactive Health Solutions
(www.ihsinformatics.com) (Dec 2013 – Present)
• Lead Android Trainer – SkillOrbit
(www.skillorbit.com) (May 2015 – Present)
• Private Tutor and Trainer (Dec 2014 – Present)
• Internee - Open Integrated Solutions (May 2012 – Sept
2012)
• Computer & Information Systems Engineer
(NED University, Batch 2009-10)
• O Levels Teacher (2009 – May 2015)
Email: enggdaniyal@hotmail.com
LinkedIn: www.linkedin.com/in/danielmidrees
Facebook: www.facebook.com/daniel.mi
What to Expect?
• Guidance
• Counseling
• Mentorship
What not to Expect?
Spoon Feeding!
Variables
• Data Types
o Primitive Types
o Non-primitive Types
• Local Variables
o Choosing Data Type
o Declaring (String string;)
o Initializing (string = “Hello”)
• Access Modifiers
• Class (static) Variables
• Instance (non-static) Variables
Primitive Data Types
Non-Primitive Data Types
• User-created
• Nullable
• Also called “Reference Types”
• Examples:
o Arrays
o String
o Lists
Access Modifiers
• Access Modifiers
o Public
o Private
o Protected
o Default
Operators
• Airthematic (+, -, *, /, ++, --, %)
• Relational (==, >=, <=, !=, >, <)
• Logical (&& , | |, !)
Controlling Flow of Execution
• Conditions
o if – else
o switch
• Loops
o for
o while
• Special Control Statements
o break, continue
o Return
o try-catch-finally
Function
• Signatures
• Naming
• Parameters
• Returning Values
• Static/Non-static Functions
• Calling Functions
Arrays
• Arrays
o Collection of Similar Items in Sequence
o Contains values or references
o Fixed, Finite Length
• Length
• Index
• Initialization
• Enhanced for loop
Best Coding Practices
• Indentation
• Naming Convention
• Use of Comments
Be an Engineer!
Not a Mechanic!
Object Oriented Programming
• Objects and Classes
o Object: Instance of a Class
o Class: Blueprint of an Object
Pillars of OOP
• Inheritance
• Polymorphism
o Method Overloading
o Method Overriding
Pillars of OOP
• Abstraction
o Biggest Challenge in OOP
o Relevant Attributes and Behavior
o Abstract and Concrete Classes
• Encapsulation
o Hiding Data
o Hiding Implementation
o Access/Mutate (simply, get/set)
Interfaces
• Why Not Multiple Inheritance?
• Interfaces are Pure Abstract Classes
• Rules
o No Instances
o No Constructors
o Only Method Signatures
o Only static final Members
Read more JAVA from:
• Java Actually by Khalid A. Mughal
• The Complete Reference Java by Herbert Schildt
• http://www.tutorialspoint.com/java/
• http://www.javatpoint.com/java-tutorial
Take Help From:
• Stackoverflow
• Google!
Introduction to
Android Development
Manifest File
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.package.default"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="21" />
<application>
<activity
android:name="com.resume.daniyalmuhammadidrees.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Strings.xml
<rescource
<string name="app_name">The name of your App!</string>
</resource>
@String/app_name “The name of your App!”
Layout.xml
• Types of Layouts
o LinearLayout
o RelativeLayout
o TableLayout
o GridLayout
o FrameLayout
o Fragment
• Views (Buttons, TextView, EditText etc)
• ViewGroup (Invisible container, contains Views)
Width and Height of Views
android:layout_width="match_parent"
android:layout_height="match_parent“
android:layout_width=“fill_parent"
android:layout_height=“fill_parent“
android:layout_width=“wrap_content"
android:layout_height=“wrap_content“
• wrap_content ( Take only as much as you need)
• match_parent (Take everything you can )
• fill_parent (Take as much as your parent have)
Accessing views through code
Activity Lifecycle
• Activity
• Lifecycle Methods
Orientation
• Landscape and Portrait
• Changing Orientation of Device
• Emulator shortcut key ‘Left Ctrl + F11’
• Setting fix Orientation of an Activity
More on UI
• Padding
• Margin
• Gravity
• Weightsum
Weightsum = 3 Layout_weight (View)= 1
Linear Layout
• Arrange views in a line vertically or horizontally.
• Views can have Layout Weight and Layout Gravity.
Relative Layout
• Place views with respect to other view or Parent
• Views inside RL does not have Layout Weight and Layout
Gravity.
Table Layout
• Arrange views in rows and columns.
• TableRow is MATCH_PARENT in width and
WRAP_CONTENT in height
• <TableRows> (Views) </TableRows>
• Columns in a row will be equal to number of views in that
row.
Grid Layout
• Arrange views in rows and columns.
• Available in API Level 14 and higher.
• Set Row Count and Column Count.
Frame Layout
• Views are stacked on top of each other.
ScrollView
• ScrollView
• HorizontalScrollView
• Events
• Listener
• Example of Button Click
Concept of Listener
Custom Button
• Design an Image of a Button.
• Design an Image of a pressed Button.
• Create an xml file in drawable folder.
• Call that xml in your layout View.
http://angrytools.com/android/button/
http://www.dibbus.com/2011/02/gradient-buttons-for-android/
Click
Click
Building Blocks of Android
• Activities
Something which user interacts with.
• Services
Something that runs in the background.
• Broadcast Receivers
Respond to broadcast messages by applications
or the system itself.
• Intents
Messenger carrying message.
• Used to start a new Activity
• Used to start a Service
• Used to get notifications from Broadcast Receivers
• <Intent-filter>
• Explicit Intents (there is a target)
• Implicit Intents (there is no SPECIFIC target)
Intents
Thank You!

More Related Content

What's hot

Introduction to java
Introduction to javaIntroduction to java
Introduction to java
Ahmed Abbadi
 
Content Strategy for WordPress: Case Study
Content Strategy for WordPress: Case StudyContent Strategy for WordPress: Case Study
Content Strategy for WordPress: Case Study
Stephanie Leary
 
Php Online Training
Php Online TrainingPhp Online Training
Php Online Training
Nagendra Kumar
 
Ui development Online Training from AkiraIT Solutions
Ui development Online Training from AkiraIT SolutionsUi development Online Training from AkiraIT Solutions
Ui development Online Training from AkiraIT Solutions
AkiraIT Solutions
 
Mendeley
MendeleyMendeley
Mendeley
astevens2
 
Themes & Styles - Android Mubasher
Themes & Styles - Android MubasherThemes & Styles - Android Mubasher
Themes & Styles - Android Mubasher
Mohammed Ersan
 
Web Development - Lecture 4
Web Development - Lecture 4Web Development - Lecture 4
Web Development - Lecture 4
Syed Shahzaib Sohail
 
Reporting On Your Xml Field Data
Reporting On Your Xml Field DataReporting On Your Xml Field Data
Reporting On Your Xml Field Data
Will Trillich
 
Web Development - Lecture 6
Web Development - Lecture 6Web Development - Lecture 6
Web Development - Lecture 6
Syed Shahzaib Sohail
 
Content Strategy for WordPress
Content Strategy for WordPressContent Strategy for WordPress
Content Strategy for WordPress
Stephanie Leary
 
CSUN - Accessibility and Rapid e-Learning Tools
CSUN - Accessibility and Rapid e-Learning ToolsCSUN - Accessibility and Rapid e-Learning Tools
CSUN - Accessibility and Rapid e-Learning Tools
Eduardo Meza-Etienne
 
Web Development - Lecture 5
Web Development - Lecture 5Web Development - Lecture 5
Web Development - Lecture 5
Syed Shahzaib Sohail
 
Entity API in Drupal 8 (Drupal Tech Talk October 2014)
Entity API in Drupal 8 (Drupal Tech Talk October 2014)Entity API in Drupal 8 (Drupal Tech Talk October 2014)
Entity API in Drupal 8 (Drupal Tech Talk October 2014)
Bart Feenstra
 
A Deep Dive into Javascript
A Deep Dive into JavascriptA Deep Dive into Javascript
A Deep Dive into Javascript
Tiang Cheng
 
An hour with Database and SQL
An hour with Database and SQLAn hour with Database and SQL
An hour with Database and SQL
Iraj Hedayati
 
Object Oriented Programming in Swift Ch1 - Inheritance
Object Oriented Programming in Swift Ch1 - InheritanceObject Oriented Programming in Swift Ch1 - Inheritance
Object Oriented Programming in Swift Ch1 - Inheritance
Chihyang Li
 
1 dotnet syllabus
1 dotnet syllabus1 dotnet syllabus
1 dotnet syllabus
Ajay Goswami
 
Career Options for CS/IT/IS graduates
Career Options for CS/IT/IS graduatesCareer Options for CS/IT/IS graduates
Career Options for CS/IT/IS graduates
Alfred Jett Grandeza
 
Css
CssCss
Git超入門
Git超入門Git超入門
Git超入門
Sherlock Chiang
 

What's hot (20)

Introduction to java
Introduction to javaIntroduction to java
Introduction to java
 
Content Strategy for WordPress: Case Study
Content Strategy for WordPress: Case StudyContent Strategy for WordPress: Case Study
Content Strategy for WordPress: Case Study
 
Php Online Training
Php Online TrainingPhp Online Training
Php Online Training
 
Ui development Online Training from AkiraIT Solutions
Ui development Online Training from AkiraIT SolutionsUi development Online Training from AkiraIT Solutions
Ui development Online Training from AkiraIT Solutions
 
Mendeley
MendeleyMendeley
Mendeley
 
Themes & Styles - Android Mubasher
Themes & Styles - Android MubasherThemes & Styles - Android Mubasher
Themes & Styles - Android Mubasher
 
Web Development - Lecture 4
Web Development - Lecture 4Web Development - Lecture 4
Web Development - Lecture 4
 
Reporting On Your Xml Field Data
Reporting On Your Xml Field DataReporting On Your Xml Field Data
Reporting On Your Xml Field Data
 
Web Development - Lecture 6
Web Development - Lecture 6Web Development - Lecture 6
Web Development - Lecture 6
 
Content Strategy for WordPress
Content Strategy for WordPressContent Strategy for WordPress
Content Strategy for WordPress
 
CSUN - Accessibility and Rapid e-Learning Tools
CSUN - Accessibility and Rapid e-Learning ToolsCSUN - Accessibility and Rapid e-Learning Tools
CSUN - Accessibility and Rapid e-Learning Tools
 
Web Development - Lecture 5
Web Development - Lecture 5Web Development - Lecture 5
Web Development - Lecture 5
 
Entity API in Drupal 8 (Drupal Tech Talk October 2014)
Entity API in Drupal 8 (Drupal Tech Talk October 2014)Entity API in Drupal 8 (Drupal Tech Talk October 2014)
Entity API in Drupal 8 (Drupal Tech Talk October 2014)
 
A Deep Dive into Javascript
A Deep Dive into JavascriptA Deep Dive into Javascript
A Deep Dive into Javascript
 
An hour with Database and SQL
An hour with Database and SQLAn hour with Database and SQL
An hour with Database and SQL
 
Object Oriented Programming in Swift Ch1 - Inheritance
Object Oriented Programming in Swift Ch1 - InheritanceObject Oriented Programming in Swift Ch1 - Inheritance
Object Oriented Programming in Swift Ch1 - Inheritance
 
1 dotnet syllabus
1 dotnet syllabus1 dotnet syllabus
1 dotnet syllabus
 
Career Options for CS/IT/IS graduates
Career Options for CS/IT/IS graduatesCareer Options for CS/IT/IS graduates
Career Options for CS/IT/IS graduates
 
Css
CssCss
Css
 
Git超入門
Git超入門Git超入門
Git超入門
 

Similar to 2 Day Android Workshop

October 2014 - USG Rock Eagle - Drupal 101
October 2014 - USG Rock Eagle - Drupal 101October 2014 - USG Rock Eagle - Drupal 101
October 2014 - USG Rock Eagle - Drupal 101
Eric Sembrat
 
Adventures in enterprise architecture
Adventures in enterprise architectureAdventures in enterprise architecture
Adventures in enterprise architecture
Jeff Bramwell
 
Polyglot Persistence with MongoDB and Neo4j
Polyglot Persistence with MongoDB and Neo4jPolyglot Persistence with MongoDB and Neo4j
Polyglot Persistence with MongoDB and Neo4j
Corie Pollock
 
Software Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry PracticesSoftware Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry Practices
Alfred Jett Grandeza
 
The Characteristics of a Successful SPA
The Characteristics of a Successful SPAThe Characteristics of a Successful SPA
The Characteristics of a Successful SPA
Gil Fink
 
Creating Responsive eLearning With FRED
Creating Responsive eLearning With FREDCreating Responsive eLearning With FRED
Creating Responsive eLearning With FRED
Upside Learning Solutions
 
Angular mobile angular_u
Angular mobile angular_uAngular mobile angular_u
Angular mobile angular_u
Doris Chen
 
1_Object Oriented Programming.pptx
1_Object Oriented Programming.pptx1_Object Oriented Programming.pptx
1_Object Oriented Programming.pptx
umarAnjum6
 
Service Architectures at Scale
Service Architectures at ScaleService Architectures at Scale
Service Architectures at Scale
Randy Shoup
 
Everything you need to know about Associate Android Developer
Everything you need to know about Associate Android DeveloperEverything you need to know about Associate Android Developer
Everything you need to know about Associate Android Developer
Roque Buarque Junior
 
C++ in object oriented programming
C++ in object oriented programmingC++ in object oriented programming
C++ in object oriented programming
Saket Khopkar
 
RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...
RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...
RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...
Joaquin Delgado PhD.
 
RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning...
 RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning... RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning...
RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning...
S. Diana Hu
 
Software development fundamentals
Software development fundamentalsSoftware development fundamentals
Software development fundamentals
Alfred Jett Grandeza
 
Lecture#5.pptx
Lecture#5.pptxLecture#5.pptx
Lecture#5.pptx
GulRana13
 
Introduction to Software - Coder Forge - John Mulhall
Introduction to Software - Coder Forge - John MulhallIntroduction to Software - Coder Forge - John Mulhall
Introduction to Software - Coder Forge - John Mulhall
John Mulhall
 
iOS Beginners Lesson 1
iOS Beginners Lesson 1iOS Beginners Lesson 1
iOS Beginners Lesson 1
Calvin Cheng
 
Object Oriented Programming Principles
Object Oriented Programming PrinciplesObject Oriented Programming Principles
Object Oriented Programming Principles
Andrew Ferlitsch
 
Orthogonality: A Strategy for Reusable Code
Orthogonality: A Strategy for Reusable CodeOrthogonality: A Strategy for Reusable Code
Orthogonality: A Strategy for Reusable Code
rsebbe
 
QA / Testing Tools, Automation Testing, Online & Classroom Training
QA / Testing Tools, Automation Testing, Online & Classroom Training QA / Testing Tools, Automation Testing, Online & Classroom Training
QA / Testing Tools, Automation Testing, Online & Classroom Training
AnanthReddy38
 

Similar to 2 Day Android Workshop (20)

October 2014 - USG Rock Eagle - Drupal 101
October 2014 - USG Rock Eagle - Drupal 101October 2014 - USG Rock Eagle - Drupal 101
October 2014 - USG Rock Eagle - Drupal 101
 
Adventures in enterprise architecture
Adventures in enterprise architectureAdventures in enterprise architecture
Adventures in enterprise architecture
 
Polyglot Persistence with MongoDB and Neo4j
Polyglot Persistence with MongoDB and Neo4jPolyglot Persistence with MongoDB and Neo4j
Polyglot Persistence with MongoDB and Neo4j
 
Software Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry PracticesSoftware Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry Practices
 
The Characteristics of a Successful SPA
The Characteristics of a Successful SPAThe Characteristics of a Successful SPA
The Characteristics of a Successful SPA
 
Creating Responsive eLearning With FRED
Creating Responsive eLearning With FREDCreating Responsive eLearning With FRED
Creating Responsive eLearning With FRED
 
Angular mobile angular_u
Angular mobile angular_uAngular mobile angular_u
Angular mobile angular_u
 
1_Object Oriented Programming.pptx
1_Object Oriented Programming.pptx1_Object Oriented Programming.pptx
1_Object Oriented Programming.pptx
 
Service Architectures at Scale
Service Architectures at ScaleService Architectures at Scale
Service Architectures at Scale
 
Everything you need to know about Associate Android Developer
Everything you need to know about Associate Android DeveloperEverything you need to know about Associate Android Developer
Everything you need to know about Associate Android Developer
 
C++ in object oriented programming
C++ in object oriented programmingC++ in object oriented programming
C++ in object oriented programming
 
RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...
RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...
RecSys 2015 Tutorial - Scalable Recommender Systems: Where Machine Learning m...
 
RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning...
 RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning... RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning...
RecSys 2015 Tutorial – Scalable Recommender Systems: Where Machine Learning...
 
Software development fundamentals
Software development fundamentalsSoftware development fundamentals
Software development fundamentals
 
Lecture#5.pptx
Lecture#5.pptxLecture#5.pptx
Lecture#5.pptx
 
Introduction to Software - Coder Forge - John Mulhall
Introduction to Software - Coder Forge - John MulhallIntroduction to Software - Coder Forge - John Mulhall
Introduction to Software - Coder Forge - John Mulhall
 
iOS Beginners Lesson 1
iOS Beginners Lesson 1iOS Beginners Lesson 1
iOS Beginners Lesson 1
 
Object Oriented Programming Principles
Object Oriented Programming PrinciplesObject Oriented Programming Principles
Object Oriented Programming Principles
 
Orthogonality: A Strategy for Reusable Code
Orthogonality: A Strategy for Reusable CodeOrthogonality: A Strategy for Reusable Code
Orthogonality: A Strategy for Reusable Code
 
QA / Testing Tools, Automation Testing, Online & Classroom Training
QA / Testing Tools, Automation Testing, Online & Classroom Training QA / Testing Tools, Automation Testing, Online & Classroom Training
QA / Testing Tools, Automation Testing, Online & Classroom Training
 

Recently uploaded

KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
sjcobrien
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
YousufSait3
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
ISH Technologies
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
Project Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdfProject Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdf
Karya Keeper
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
Rakesh Kumar R
 

Recently uploaded (20)

KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
Project Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdfProject Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdf
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
 

2 Day Android Workshop

  • 1. 28th May 2015, NED University Daniel Muhammad Idrees
  • 2. • Software Engineer - Interactive Health Solutions (www.ihsinformatics.com) (Dec 2013 – Present) • Lead Android Trainer – SkillOrbit (www.skillorbit.com) (May 2015 – Present) • Private Tutor and Trainer (Dec 2014 – Present) • Internee - Open Integrated Solutions (May 2012 – Sept 2012) • Computer & Information Systems Engineer (NED University, Batch 2009-10) • O Levels Teacher (2009 – May 2015) Email: enggdaniyal@hotmail.com LinkedIn: www.linkedin.com/in/danielmidrees Facebook: www.facebook.com/daniel.mi
  • 3. What to Expect? • Guidance • Counseling • Mentorship
  • 4. What not to Expect? Spoon Feeding!
  • 5.
  • 6. Variables • Data Types o Primitive Types o Non-primitive Types • Local Variables o Choosing Data Type o Declaring (String string;) o Initializing (string = “Hello”) • Access Modifiers • Class (static) Variables • Instance (non-static) Variables
  • 8. Non-Primitive Data Types • User-created • Nullable • Also called “Reference Types” • Examples: o Arrays o String o Lists
  • 9. Access Modifiers • Access Modifiers o Public o Private o Protected o Default
  • 10. Operators • Airthematic (+, -, *, /, ++, --, %) • Relational (==, >=, <=, !=, >, <) • Logical (&& , | |, !)
  • 11. Controlling Flow of Execution • Conditions o if – else o switch • Loops o for o while • Special Control Statements o break, continue o Return o try-catch-finally
  • 12. Function • Signatures • Naming • Parameters • Returning Values • Static/Non-static Functions • Calling Functions
  • 13. Arrays • Arrays o Collection of Similar Items in Sequence o Contains values or references o Fixed, Finite Length • Length • Index • Initialization • Enhanced for loop
  • 14. Best Coding Practices • Indentation • Naming Convention • Use of Comments
  • 15. Be an Engineer! Not a Mechanic!
  • 16. Object Oriented Programming • Objects and Classes o Object: Instance of a Class o Class: Blueprint of an Object
  • 17. Pillars of OOP • Inheritance • Polymorphism o Method Overloading o Method Overriding
  • 18. Pillars of OOP • Abstraction o Biggest Challenge in OOP o Relevant Attributes and Behavior o Abstract and Concrete Classes • Encapsulation o Hiding Data o Hiding Implementation o Access/Mutate (simply, get/set)
  • 19. Interfaces • Why Not Multiple Inheritance? • Interfaces are Pure Abstract Classes • Rules o No Instances o No Constructors o Only Method Signatures o Only static final Members
  • 20. Read more JAVA from: • Java Actually by Khalid A. Mughal • The Complete Reference Java by Herbert Schildt • http://www.tutorialspoint.com/java/ • http://www.javatpoint.com/java-tutorial Take Help From: • Stackoverflow • Google!
  • 21.
  • 23. Manifest File <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.package.default" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="21" /> <application> <activity android:name="com.resume.daniyalmuhammadidrees.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
  • 24.
  • 25. Strings.xml <rescource <string name="app_name">The name of your App!</string> </resource> @String/app_name “The name of your App!”
  • 26. Layout.xml • Types of Layouts o LinearLayout o RelativeLayout o TableLayout o GridLayout o FrameLayout o Fragment • Views (Buttons, TextView, EditText etc) • ViewGroup (Invisible container, contains Views)
  • 27. Width and Height of Views android:layout_width="match_parent" android:layout_height="match_parent“ android:layout_width=“fill_parent" android:layout_height=“fill_parent“ android:layout_width=“wrap_content" android:layout_height=“wrap_content“ • wrap_content ( Take only as much as you need) • match_parent (Take everything you can ) • fill_parent (Take as much as your parent have)
  • 30. Orientation • Landscape and Portrait • Changing Orientation of Device • Emulator shortcut key ‘Left Ctrl + F11’ • Setting fix Orientation of an Activity
  • 31. More on UI • Padding • Margin • Gravity • Weightsum Weightsum = 3 Layout_weight (View)= 1
  • 32. Linear Layout • Arrange views in a line vertically or horizontally. • Views can have Layout Weight and Layout Gravity.
  • 33. Relative Layout • Place views with respect to other view or Parent • Views inside RL does not have Layout Weight and Layout Gravity.
  • 34. Table Layout • Arrange views in rows and columns. • TableRow is MATCH_PARENT in width and WRAP_CONTENT in height • <TableRows> (Views) </TableRows> • Columns in a row will be equal to number of views in that row.
  • 35. Grid Layout • Arrange views in rows and columns. • Available in API Level 14 and higher. • Set Row Count and Column Count.
  • 36. Frame Layout • Views are stacked on top of each other.
  • 38. • Events • Listener • Example of Button Click Concept of Listener
  • 39. Custom Button • Design an Image of a Button. • Design an Image of a pressed Button. • Create an xml file in drawable folder. • Call that xml in your layout View. http://angrytools.com/android/button/ http://www.dibbus.com/2011/02/gradient-buttons-for-android/ Click Click
  • 40. Building Blocks of Android • Activities Something which user interacts with. • Services Something that runs in the background. • Broadcast Receivers Respond to broadcast messages by applications or the system itself. • Intents Messenger carrying message.
  • 41. • Used to start a new Activity • Used to start a Service • Used to get notifications from Broadcast Receivers • <Intent-filter> • Explicit Intents (there is a target) • Implicit Intents (there is no SPECIFIC target) Intents