Tribhuvan University
Faculty of Management
Office of the Dean
Bachelor of Information Management (BIM)
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:
Lecture hours show the approximate classroom time allocated to each unit.
Unit 1.Android Programming Overview
Introduction to mobile programming, 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
Introduction to user interface, View Hierarchy, android layout and its type (Linear Layout, Frame Layout, Relative Layo ut, 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, Typ es, 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
Introduction to Activity, Activity Lifecycle, understanding inte nt 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
Adapter and its type, 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
Working with Shared preferences, storing and retrieving shared key -Value pairs. 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
Android Debugging, 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. Laboratory Works: The laboratory should contain all the features mentioned in a course, which should include
- Basic Concept of Android application architecture
- Installation and environment setup for Android studio.
- Source, resource folder concept
- Terminology for android
- 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
- Introduction to Activity, Fragment
- Simple activity information
- Working with intents
- Menu
- Option menu, context menu
- Database
- Simple overview to database (simple query)
- SQLite overview
- API Implementation
- Working with volley
- JSON Parsing
- Google Play Service (Maps, GPS)
Suggested Readings:
- Sills, B., Gardner B., Marsicano K. & Stewart .C (2022). Android Programming: The Big Nerd Ranch Guide, Big Nerd Ranch, LLC 5th Edition
- Fling B. (2009). Mobile Design and Development O’Reilly
- Marko Gargenta and Masumi Nakamura, “Learning Android” O’REILLY
- Lucas Jordan and Peiter Greyling, “Practical Android Projects”, Apress