Teaching Scheme (in Hours)
Subject Credit : 5
Examination Scheme (in marks)
ESE Viva (V)
Syllabus Content Download
Unit-1: The Basics
Hello World: Intro to Android, Why develop apps for Android?, Flavors of Android operating systems, Challenges of developing for Android (multiple OS, need backwards compatibility, need to consider performance and offline capability)
Unit-2: The Basics
Concept: Create Your First Android App: Overview of the development process - Java, Android Studio, Project layout in Android Studio, Target and minimum SDKs, Android Virtual Device (AVD) Monitor, Viewing logs in logcat and AVD, Android manifest file, App Architecture: An app consists of one or more activities. For an activity, write Java code and layout xml, and hook them together, and register the activity in the manifest file.
Unit-3: The Basics
Concept: Layouts, Views and Resources: Layout elements can be viewed and edited in Layout Editor and XML, Introduction to the range of UI elements, Resources (layouts, strings, styles, themes), Identifying resources with IDs, Programmatically referencing resources using resource IDs, on Click attribute, Getting user input from a view, Programmatically changing UI elements, Layout Managers, Defining layouts for activities, inflating the layout.
Unit-4: The Basics
Concept: Scrolling Views: How to make activities scrollable: compare ScrollView, ListView, RecyclerView , Getting the resource ID for a UI element by inflating a layout (needed for RecyclerView) , How to implement RecyclerView (requires layout managers and ViewHolders) , Performance impications of different kinds of scrolling UI elements
Concept: Resources to Help You Learn: Resources to help you learn: Samples that ship with the SDK, Templates for projects, developer.android.com, Android developer blog , Android developer YouTube channel, Source code and samples in github, Stack overflow, Google search! Activities and Intents :About activities, Defining Activities , Activity Lifecycle , Activity navigation , About intents ,Explicit vs Implicit intents ,Passing info to new activity ,Returning data from activity.
The Activity Lifecycle and Managing State: Activity lifecycle , Activity lifecycle callback methods , Activity instance state
Starting Activities with Implic
Unit-5: User Interface
User Input Controls: Getting user input , Changing keyboards , Buttons , Dialogs and pickers , Spinners, checkboxes, and radio buttons , Gestures , Speech recognition (not done), Sensors (not done) Menus: Options menu, contextual menus (floating and action bar), and popup menu, Adding menu items. Handling on Clicks from menus. Screen Navigation: Terminology, Different ways a user can navigate through an app, Action bar, Settings menu, Navigation drawer, Directed workflow (funnels), Best practices for navigation Themes and Styles: Best practices for themes and styles, Performance benefits for themes, When and how to use drawables, best practices for drawable, When and how to use nine-patches, best practices for nine-patches, Tools for creating drawables ? Material Design: What is material design? Material design best practices. Material Design guidelines, Implementing Material Design look and feel, with compatibility with previous versions, Support library for Material Design design,
Unit-6: Background Tasks
Connect to the Internet: Background Tasks, Synchronous versus async tasks, What is the UI thread and when should you use it? , Example of a background task -- retrieving data over the internet, Creating background tasks. (schedule, send data, etc.) , Implementing AsyncTask (doInBackground(), callbacks) , Limitations of AsyncTask , Passing info to background tasks, Initiating background tasks, Scheduling background tasks (intro only, more later). Connecting to the Internet: Permissions, Building URIs, Opening and closing Internet connections, Parsing JSON in Android. (Because it’s common.) , Sending requests and parsing response. AsyncTaskLoade: Intro to AsyncTaskLoader loadInBackground() , AsyncTaskLoader callbacks , Benefits of loaders Broadcast Receivers: What is a Broadcast Receiver and a Broadcast Intent? , Broadcast Receiver Security and Lifecycle Services: What is a service? Long running task without a UI, Difference between Activity and Service , Start and stop services, Lif
Unit-7: Data -- Saving, Retrieving, Loading
Storing Data in your app: Internal versus external storage, Privacy, sharing, security, encryption of your data , Shared Preferences: Store private primitive data in key-value pairs, SQLite Databases: Store structured data in a private database , Store data on the web with your own network server, Firebase for storing and sharing data in the cloud, Concept: Preferences , What are Settings and Preferences? , Settings best practices (harder to take away settings than to add, for usability reasons, Storing and retrieving preferences as key/value pairs using SharedPreference, Different Settings types, Settings menu, Using Activity and PreferenceFragments to allow users to set preferences Store data using SQLite database: Overview of SQLite, OpenHelper Android class , Querying (dev) Searching (user) databases , Best practices for using databases in Android , Best practices for testing your database Using Content Resolvers to access data: Content Providers and Content Resolvers work togeth
Unit-8: Polish and Publish
Permissions: The permissions model Libraries: Using libraries Widgets: What are widgets? When to use them and how to implement them. Publishing your App: Different ways to monetize your app (overview only) Making and publishing APKs: Guidelines for publishing in Google Play , Make and sign the APK, Beta test your app , Publish your app to Google Play
Darshan Institute of Engineering & Technology is a leading institute offering undergraduate (B.E.), postgraduate (M.E.) and Diploma programs in engineering.