BITM Mobile Application Development
Mobile Application Development
Subject Code: IT272
Course Title: Mobile Application Development
Course No: IT272
Nature of Course: Theory & Practical
Full Marks: 60
Pass Marks: 30
Credit Hours: 3
Course Description
Course Objective
Course Contents
| Course Contents | Teaching Methodology | Teaching Hours |
|---|---|---|
| Unit 1: Android Programming Overview (5 Hrs.) | ||
| Introduction to mobile programming | Lecture/Lab | |
| Introduction to Android OS: Android Architecture | ||
| Setting up the Android Application Development Environment | ||
| Creating an android project | ||
| laying out user interface (The View hierarchy, widget attributes, creating string resources, previewing the layout, Resources and Resource IDS) | ||
| Creating new class | ||
| Setting up the project | ||
| Creating, Testing and Debugging Applications | ||
| Making Toasts | ||
| Running on Emulator | ||
| Unit 2: Android UI Controls (8 Hrs.) | ||
| Introduction to user interface | Lecture/Lab | |
| View Hierarchy | ||
| android layout and its type (Linear Layout, Frame Layout, Relative Layout, Table Layout, Absolute Layout and Constraint Layout) | ||
| layout attributes | ||
| Android Widget: TextView, EditText, ImageView, Button, CheckBox, RadioButton, Spinner etc. And its attributes | ||
| User Interface Events and Event Handling | ||
| Menus (Introduction, Types, Implementing menu in an application) | ||
| Drawable | ||
| Themes and Style | ||
| Color | ||
| String and String Array | ||
| adding Icon to the Project | ||
| Unit 3: Activity and Fragment in Android (10 Hrs.) | ||
| Introduction to Activity | Lecture/Lab | |
| Activity Lifecycle | ||
| understanding intent and its type | ||
| Intent filter | ||
| Creating a new Activity | ||
| Declaring activities in manifest | ||
| passing data between activities | ||
| Getting a result back from child activity | ||
| Fragments: The Need for UI Flexibility | ||
| Introduction and Lifecycle of Fragment | ||
| Creating UI Fragment | ||
| Adding Fragment to an activity | ||
| wiring widgets in fragments | ||
| Introduction to fragment manager | ||
| Activity vs. Fragment | ||
| Passing data between Fragments | ||
| Dialogs (Introduction, creating a dialog fragment, a setting a dialog’s content) and its type | ||
| Unit 4: Displaying Data with Views (7 Hrs.) | ||
| Adapter and its type | Lecture/Lab | |
| List View: Introduction, Feature, attribute, implementing ListView in an Application, Creating Custom ListView | ||
| GridView: Introduction, Feature, attribute, implementing GridView in an Application, Creating Custom GridView | ||
| RecylerView: Introduction, Features, Implementing RecylcerView in an application | ||
| Unit 5: Content Provider (8 Hrs.) | ||
| Working with Shared preferences, storing and retrieving shared key-Value pairs | Lecture/Lab | |
| Using internal storage, retrieving cache files | ||
| Working with External storage and working with files shared by other applications | ||
| Local Database with SQLite: SQLite programming, SQLiteOpenHelper, SQLite Database, Cursor, Reading and updating contacts, Implementation of CRUD Operation | ||
| Unit 6: Android Advanced Concept (10 Hrs.) | ||
| Android Debugging | Lecture/Lab | |
| Notification | ||
| Thread | ||
| AsyncTask | ||
| Handler and Runnable | ||
| gradle plugins | ||
| Introduction to API | ||
| API types | ||
| Introduction to JSON | ||
| Retrieving and sending contents from/to remote server | ||
| Localization | ||
| SMS sending and receiving | ||
| Phone calls | ||
| Sending Emails | ||
| implementing Google Maps in application | ||
| Create mini Project | ||
| Procedure for publishing application on Google Play Store |
Text Books
1. Sills, B., Gardner B., Marsicano K. & Stewart .C (2022). Android Programming: The Big Nerd Ranch Guide, Big Nerd Ranch, LLC 5th Edition
2. Fling B. (2009). Mobile Design and Development O’Reilly
3. Marko Gargenta and Masumi Nakamura, “Learning Android” O’REILLY
4. Lucas Jordan and Peiter Greyling, “Practical Android Projects”, Apress
Lab Works
The laboratory should contain all the features mentioned in a course, which should include
1. Basic Concept of Android application architecture
Installation and environment setup for Android studio.
Source, resource folder concept
Terminology for android
2. Concept of android Layouts
Concept of Linear layout, Relative layout, Absolute Layout, Table Layout and Constraint Layout Concepts of list view, recycler view, grid view, scroll view, view pager, tab Layout
Create form and form validation
Alert Dialogs, Toast
Popup
3. Introduction to Activity, Fragment
Simple activity information
Working with intents
4. Menu
Option menu, context menu
5. Database
Simple overview to database (simple query)
SQLite overview
6. API Implementation
Working with volley
JSON Parsing
Google Play Service (Maps, GPS)
