Rules of the GameSchedule Course WorkTotal Duration: 80 hoursSessions Per Week: 3 Weekly AssignmentsHours Per Session: 4 hours Weekly QuizDays: Sunday, Tuesday, Thursday Projects Written TestLecture: 2.5 hoursAssignments& Q/A: 1.5 hours Evaluation Attendance: 10%Course Materials Assignments: 50% Project:20%Tutorial Slides Written TestsClassroom Videos & Quiz: 20%Sample Projects
Android Application DevelopmentWe are going to learn worlds most popular MobilePlatform http://developer.android.com/about/index.html
Course PrerequisiteTo take this course, you must know Java or C#. Youshould be able to answer most of the followingquestions:● What is a difference between a class and an object?● What is the difference between static and non-static field?● What is the difference between extends and implements keywords? ● What is the purpose of @Override? etc.
Course OutlineAndroid Overview Main Building Blocks Databases ● Android Overview ● Overview ● About SQLite ● Prospects ● Activities ● Using SQLite ● History Intents ● A bit optimization ● Versions ● Services ● ContentProviders ServicesThe Stack ● BroadcasrReceivers ● Stack Overview ● Lifecycle ● Application ContextLinux ● IntentService ● Native Libraries ● Binding User Interface Common Patterns ● Dalvik ● ● App Framework ● Activity Lifecycle ● Applications ● Ways to Create UI ● Views & LayoutsQuick Start ● UI Widgets ● Installing SDK ● Activities & Dialogs ● Hello World ● Menus ● Anatomy of Project ● Fragments & ActionBar ● UI Design Patterns
Course OutlineBroadcastReceivers Lists & Adapters Location API● Overview ● About Adapters ● Retrieving● Examples ● ListActivity Location● RebootReceiver ● Custom ListViews ● Location Providers● Broadcasting ● Best Practices Intents Preferences● Network Receiver Maps API ● Overview● SMS Receiver SharedPreference ● ● Google Maps ● IssuesContentProviders File System ● Obtaining API Key File System ● OpenStreetMap● Creating ● ContentProviders explained● Accessing ● Reading and Writing Telephony API ContentProviders files in External ● Retrieving Storage Network Info ● Accessing Phone Call States
So.. Today..● Basic Idea on Mobile, Smartphone & Tablet Platforms● Basic Idea on Application Development● Identify the Position of Android● Some Background and History● Prospects: Why Should We Learn Android● What is Android (and What it isnt)● Introduction to Android SDK Features
Why Android● Android powers hundreds of millions of mobile devices in● more than 190 countries around the world.● Its the largest installed base● growing fast—every day another 900,000 users power up their Android devices
Why AndroidA Complete Eco-System Open Handset Alliance: Nov 2007
Why AndroidWide Range of Device Support● Smartphones● Tablets● Television
Why AndroidTechnical Advantages ● Java Programming Language ● Open Source Platform with less Proprietary Restrictions and more Opportunities of Innovation ● Development Environment Support in Windows, Mac OSX and Linux ● No need to pay to start development ● Low barrier to Market (No app approval procedure and Low fee) ● Rich and Easy to Integrate Feature Set ● Easy and Cost-effective Prototyping for Research and Business Imagination is the Limit !!!
What is AndroidGoogle’s Andy Rubin describes Android as follows:The first truly open and comprehensive platform formobile devices. It includes an operating system, user-interface and applications — all of the software to run amobile phone but without the proprietary obstacles thathave hindered mobile innovation. —Where’s My Gphone? http://googleblog.blogspot.com/2007/11/ wheres-my-gphone.html
What is AndroidAndroid is an ecosystem made up of a combination of threecomponents:● A free, open-source operating system for embedded devices● An open-source development platform for creating applications● Devices, particularly mobile phones, that run the Android operating system and the applications created for it
What is AndroidMore specifically, Android is made up of several necessary anddependent parts, including the following:● A Compatibility Definition Document (CDD) and Compatibility Test Suite (CTS) that describe the capabilities required for a device to support the software stack.● A Linux operating system kernel● Open source libraries including SQLite, WebKit, OpenGL and Media Manager● A run time used to execute and host Android applications, including the Dalvik Virtual Machine (VM)● An application framework● A user interface framework● A set of core pre-installed applications● A software development kit (SDK) used to create applications, including the related tools, plugins, and documentation
Android SDK Features● Access to Hardware, including Camera, GPS and Sensors● Data Transfers using Wi-Fi, Bluetooth and NFC● Maps, Geocoding and Location Based Services● Background Services● SQLite Database● Shared Data and Inter-Application Communication● Full Multimedia Hardware control including Playback and Recording● GSM, EDGE, 3G, 4G and LTE networks support for Telephony and Data Transfer● Integrated HTML5 supported WebKit based Browser● 2D and 3D Graphics using OpenGL ES 2.0