8. How Long Will it Take?
Experts say 10
years!
Okason.com
9. 10 years Really!
I will say more like 2 years to be
“Proficient”
in Android Development
Okason.com
10. Find out in One Day!
My Course can help you create your first Android
App Okason.com
11. It really takes time!
It really takes time to master any topic
Programming is not for everyone
You can do it.
Stop thinking about it
Jump in!
Test the water.
Okason.com
12. Save Time!
Do not wait for 10 years to know
Find out in 1 Day!
Okason.com
13. Just Do It
Design, Develop &
publish an Android App
Action brings clarity!
Okason.com
14. App Idea
How about Your Resume App
Or
A List of your favorite snacks
Okason.com
15. It Does not matter
Your First
App will
not go
viral! Okason.com
22. Complete Apps
Look for books, courses that are focused on
completing an App from start to finish.
Not just using Hello World to demonstrate
concepts
Okason.com
23. What do you need
Okason.com
Development PC
Code Editor
IDE
SDK
Fingers ready to type
24. Development Environment
You need a computer
MAC or
Mac® OS X® 10.8.5 or higher, up to 10.9 (Mavericks)
2 GB RAM minimum, 4 GB RAM recommended
Windows
Microsoft® Windows® 8/7/Vista/2003 (32 or 64-bit)
2 GB RAM minimum, 4 GB RAM recommended
Okason.com
25. Code Editor
Painters use paint
Brush
Carpenters use
hammer, etc.
Mechanics use
spanners, etc.
Programmers use
text editor, etc.
Okason.com
27. Saying the same thing
ProgrammingDevelop
Code
Build
Create
Write
Okason.com
28. Type of Code Editors
An Editor for Web Development
An Editor for .Net Development
An Editor for iOS Development
An Editor for Embedded Development
An Editor for Android Development
Could be text only or GUI
Okason.com
29. Other Tools
Debugger
Build System
APK Generation Tool
Installation Tool
SDK
Cannot
do
without it!
Okason.com
31. Android Studio
Official IDE for
Android
Development
Contains
Everything you
need to start
Android
Development Okason.com
32. New Terms and Concepts
Activity – app logic
Intent – message transfer object
Layout – user interface
XML – user interface definition language
Java – app logic programming language
Widgets – GUI objects in the screen
Okason.com
33. Activity
An activity represents a single screen with a user interface.
Can be likened to a web page.
It is the screen that the user sees.
A page in your application.
It is what the user refers to the “app”.
Activities work together to form a cohesive user experience.
Okason.com
34. Intent
Delivery Messenger
Used to declare and
deliver your Intentions
Primarily used to start
Activity
Service
Broadcast
Okason.com
36. ViewPager
Layout manager that allows us to implement
swipe view.
Allows us to swipe from page to page
Each page is a fragment
We need an adapter to manage the Fragments
Okason.com
37. XML Layout Fundamentals
Elements on the screen are laid out with XML
XML defines “how it looks”
Java code defines “how it works”
Each screen has a root layout
Everything in screen derives from the View
object
Programmatic reference need to use XMLOkason.com
38. Java Basics for Android
This course is not heavy on “core” Java
Programming
The course is Android Development Focused
A lot of the code/concepts are unique to Android
and
Android provides lots of plumbing code
When in Doubt Copy and Paste
Some knowledge of Object Oriented
Programming highly recommended
Okason.com
39. Object Oriented Programming (OOP)
Objects are key to
understanding OOP.
They have
state and behavior.
They stores state
in fields/variables
They exposes behavior
through methods or functions
Are created from Classes Okason.com
40. External Libraries
Are programs that you did not write
Use other people work often for free
Why do you want to use other people
Okason.com
42. Don’t Repeat Yourself
Find out the
piece of the
puzzle that
already exist
Create the parts
that are needed
Put them
together Okason.com
43. Lesson Learned
Develop
You need just enough Java to get started,
Android programming consists mainly of
responding to lifecycle events. Use
FindViewById to link view objects to Java
variables.
Deploy
Damn it! 84 other developers just
published their app while you are busy
building yours. They should have waited
for you but they did not. So you have to
create amazing graphic assets, compelling
app description to compete.
Design
XML is used to layout out widgets on the
screen. Every widget derives from View.
Composite views can contain other views
such as Linear Layout, Relative Layout,
etc
Debug
Something will always go wrong, someone
planted a bug in your beautiful code – so
go crush that bug. The debugger got you
covered you just have to get used to
reading stack trace!.
Did your light bulb go off?
Did you get an app
mindset? Did this course
scare you off?
Are you ready to start a career in Android Development
According to Peter Norvig a highly respected thought leader in Software Engineering, it takes 10 years to truly learn programming.
I believe that you can become proficient in Android development in 2 years (build Apps with intermediate to advanced level of complexity), however your have to apply yourself to hundreds of hours of study & practice.
Why wait 10 years, why wait 2 years, you can find out in 3 days if Android development is for you.
Passion for learning and sharing
I work on a Windows PC
What do you need the requirements for, you need the minimum requirements for editor
What do you use the editor for? You need the editor for typing
If you go to any website say, cnn.com
On the home page you see a list of news and it you click on any new it opens another web page.
Each of the page can be likened to an Activity
A unique concept to Android
Very powerful
Do not re-invent the wheel
Enables the perceived appearance of cohesion within an app
To insert child views that represent each page, you need to hook this layout to a PagerAdapter. There are two kinds of adapter you can use:
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which are data structures that contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known asmethods. A distinguishing feature of objects is that an object's procedures can access and often modify the data fields of the object with which they are associated (objects have a notion of "this"). In OO programming, computer programs are designed by making t