Logo

BITM Mobile Application Development

bitmsemester 7Elective

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

This course is designed to provide a comprehensive knowledge related to the mobile programming based on android which encompasses integrated development environment, architecture, design, develop, and publish mobile application. The course covers essential topics, including app lifecycle, layouts, and handling user input, databases to store and retrieve data as well as use APIs to retrieve data from remote server with a focus on real-world, practical app-building skills.

Course Objective

The objectives of course typically aim to equip students with the knowledge and skills necessary to design, develop, and deploy applications for mobile devices such as smartphones and tablets that solve real world problem with use of current mobile technology.

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)