SYLLABUS OF PROGRAMMING MOBIL APPLICATIONS FOR ANDROID LECTURE NOTES ON

advertisement
Department of Information Network
The University of Babylon
LECTURE NOTES ON SYLLABUS OF
PROGRAMMING MOBIL APPLICATIONS FOR
ANDROID
By
Dr. Samaher Hussein Ali
College of Information Technology, University of Babylon, Iraq
Samaher@inet.uobabylon.edu.iq
15 October 2014
Introduction
this course is logically organized into two parts.
Part one introduces the Android platform, and its development tools, and it explains the basic concepts you ll
need
to
create
simple
Android
apps.
Part two on the other hand, dives into additional services that come into play when you re ready to create more
advanced
apps.
And
each
of
these
parts
runs
for
four
weeks.
In week one, we ll talk about the Android platform and the Android development environment.
In week two, we ll cover how apps are created and we ll go over the activity class, which is the primary class
that s responsible for presenting an app to user interface. The following week, I ll introduce intents and
permissions, which allow one app or activity to start up and use other apps and activities. And I ll also talk
about the fragment class, another class that plays a key role, in presenting an app s user interface. And finally
in
week
four,
I
ll
go
into
detail
on
the
full
range
of
classes
and
patterns, used to create sophisticated user interfaces. And at this point we ll have finished part one, and we ll
be
ready
to
start
in
on
part
two.
In week five we ll discuss a number of topics including user notifications, event notifications using the
BroadcastReceiver class. And handling concurrency, with threads, AsyncTasks and handlers. I ll also include
two optional lectures. One on using alarms to invoke code at scheduled times. And another one on acquiring
data,
over
the
internet.
Week six gets into more visual topics, including graphics and animation, touch processing and multimedia.
And during week seven, we ll focus on using the many sensors that now come standard on most hand held
devices, and we ll talk about how to acquire and display, location information. And finally in week eight, we ll
close
out
with
lectures
on
how
to
manage
data,
how to share data across application using The ContentProvider Class. And how to do work in the background
and across processes, using the service class.
15 October 2014
Dr. Samaher Hussein Ali
Notes of Lecture
SYLLABUS
Schedule
• Week #1:
Objective: In this lesson, I discuss the Android Platform and the Android
Development Environment. By the end of this lesson you should understand the
components comprising the Android Platform and be able to use various tools
found in the Android Development Environment
• Lecture #1 – The Android Platform
• Lecture #2 – The Android Development Environment
• Lab #1: Setup: Students identify required software & install it on their personal
computers. Students perform several tasks to familiarize themselves with the
Android Platform and Development Environment.
15 October 2014
Dr. Samaher Hussein Ali
Notes of Lecture
SYLLABUS
• Week #2:
Objective: In this lesson, I explain the basic components from which all Android
applications are created. I also present the Activity class - one of the main class
responsible for displaying an application's user interface. By the end of
this lesson, you should recognize the four fundamental components of Android
applications, be able to create a simple Android application and understand the
lifecycle of the Activity class.
• Lecture #3 – Application Fundamentals
• Lecture #4 – The Activity Class
• Lab #2 – The Activity Lifecycle & Reconfiguration: Students build applications
that trace the lifecycle callback methods issued by the Android platform and that
demonstrate Android's behavior when the device configuration changes (e.g.,
when the device moves from portrait to landscape mode and back).
15 October 2014
Dr. Samaher Hussein Ali
Notes of Lecture
SYLLABUS
•
•
Week #3:
Objective: In this lesson, I explain the Intent class and Permissions. I also
present the Fragment class - another key class responsible for displaying an
application's user interface. By the end of this lesson, you should be able
to create applications comprising more than one Activity, understand how to
define and enforce permissions and be able to design applications that run on
multiple, differently-sized devices.
• Lecture #5 – The Intent Class
• Lecture #6 – Permissions
• Lecture #7 – The Fragment Class
• Lab #3a - Intents & Permissions: Students build applications that require
starting multiple Activities via both standard and custom Intents.
• Lab #3b - Permissions: Students build applications that require standard
and custom permissions.
• Lab #3c – Multi-pane and single-pane User Interfaces: Students build an
application that uses a single code base, but creates different user interfaces
depending on a device's screen size.
15 October 2014
Dr. Samaher Hussein Ali
Notes of Lecture
SYLLABUS
•
•
Week #4:
Objective: In this lesson, I summarize and demonstrate the many class
Android provides for creating user interfaces. By the end of this lesson, you
should be able to define and deploy applications with sophisticated user
interfaces.
• Lectures #8 – User Interface Classes - Part I
• Lectures #9 – User Interface Classes - Part II
• Lab #4 – ToDoManager: Students build a ToDo list manager using the user
interface elements discussed in lecture. The application allows users to create
new ToDo Items and to display them in a ListView.
• Mini-project - Modern Art User Interfaces: Students will build a complete app
from scratch. Collaborators from the Musuem of Modern will help student draw
some inspiration from the work of several Modern Art masters.
15 October 2014
Dr. Samaher Hussein Ali
Notes of Lecture
SYLLABUS
•
Week #5:
•
Objective: In this lesson, I dive deeper in Android, focusing on advanced some of the
advanced capabilities it provides. I discuss using User Notifications to interact with the
user, listening for and responding to events using the BroadcastReceiver class, and
handling concurrency with Threads, AsyncTask & Handlers. There are also two
optional lectures dealing with using Alarms to run code at pre-scheduled times and
with understanding how to access data over the network. By the end of this lesson,
you should understand how these key technologies are used to support more
advanced Android applications.
• Lecture #10 – User Notifications
• Lecture #11 – The BroadcastReceiver Class
• Lecture #12 – Threads, AsyncTask & Handlers
• Lecture #13 - Alarms
• Lecture #14 - Networking
• Lab #5 – Tweet app: Students build an app that downloads and displays Tweet data.
The app uses an AsyncTask for downloading data over the network. The app will also user
Broadcast Receivers and User Notifications to apprise the user of the apps behavior and
state.
15 October 2014
Dr. Samaher Hussein Ali
Notes of Lecture
SYLLABUS
Week #6:
Objective: In this lesson, I present a number of technologies related to presenting
and interacting with dynamic content. This includes graphics and animation,
handling touch input from the user, and recording and playing multimedia. By the
end of this lesson, you should be able to animate your applications, create apps
that respond to both standard and custom gestures, and display and use
multimedia content.
• Lecture #15 – Graphics & Animation I
• Lecture #16 – Graphics & Animation II
• Lecture #17 – Multi-touch & Gestures
• Lecture #18 – MultiMedia
• Lab #6 - Bubble Popper: Students write an application to display and
animate bubbles (graphics that look like bubbles) on the device's screen. When
users touch the screen where a bubble is displayed, the bubble pops. The app
will also accept gesture input, allowing the user to change the direction and
speed of the bubble, using a fling gesture.
15 October 2014
Dr. Samaher Hussein Ali
Notes of Lecture
SYLLABUS
•
•
Week #7:
Objective: In this lesson, I go over the many sensors that now come standard
on most mobile devices. I also provide a focused discussion of using sensors
to capture location information and using maps to display that information.
By the end of this lesson, you should be able to create context aware
applications whose behavior changes based on environmental conditions.
• Lecture #19 – Sensors
• Lecture #20 – Location & Maps
• Lab #7 - Place Badge Collector: Students build an application that uses
location information to collect Badges for the places they visit.
15 October 2014
Dr. Samaher Hussein Ali
Notes of Lecture
SYLLABUS
•
•
Week #8:
Objective: In this lesson, I wrap up with a discussion of some behind the
scenes Android capabilities. I discuss how to manage structured data, how to
share that data across applications using the Content Provider class, and how
to run operations in the background and across processes using the Service
class. By the end of this lesson, you should be able to design complex
applications that leverage complex structured data sets and that perform
processing in the background.
• Lecture #21 – DataManagement
• Lecture #22 – The ContentProvider Class
• Lecture #23 – The Service Class
• Lab #8 - Place Badge Collector Content Provider: Students build a Content
Provider to store the Place Badges they collect with the app from Week 7
application that uses location information to collect Badges for the places they
visit.
• Mini-project - TBD
15 October 2014
Dr. Samaher Hussein Ali
Notes of Lecture
References
• Book of “Beginning Android 4 Application Development”, 2012
by John Wiley & Sons, Inc., Indianapolis, Indiana, www.itebooks.info
• Lectures of Dr. Adam Porter, Programming Mobile Applications
,2014.
15 October 2014
Dr. Samaher Hussein Ali
Notes of Lecture
Download