ISME

Explore - Experience - Excel

Mobile Application Development in BCA: Learning How Everyday Apps Are Designed, Built, and Deployed – Prof. Anand Kumar

https://medium.com/@anandagarwala56/prof-anand-kumar-assistant-professor-international-school-of-management-excellence-1bdbfc93a39b

Introduction: Why Mobile Applications Matter to BCA Students

In the modern era ,mobile phones has become an integral components in everyone life .India is moving towards digitalization and smart phones are becoming an integral component for achieving it completely. For students pursuing BCA in the 6th semester, Mobile Application Development is not just another subject—it is a practical extension of everything they have studied so far.

Currently in India more than 95 percent of population is using android mobile phones,3 percent approximately is using IOS and remaining 2 percent belongs to person using devices of Nokia Lumia,Blackberry,Samsung etc which possess different operating system.This shows the importance of Mobile application with respect to number of users who are using this in their day to day life and this isn the reason students especially in the technical segment should defineatly learn about this MAD.

In the final semester of BCA ,Students study in the subject Mobile Application development regarding evolution of mobile phones with respect to technology, the core components of Mobile application development like Activities,Intents and Services.

CATEGORY OF MOBILE APPLICATION

These are divided into 3 major  categories like:

  • Android
  • IOS
  • Flutter

For Android Mobile application ,Android Studio is the framework which is used to develop and design the MAD.We can use Java/Kotlin for the logic part as a programming language  in this tool.

IOS is basically used for the Apple devices framework and the language to implement which is used is called swift.

Flutter is used for hybrid platform.It means using flutter we design application in Android as well as IOS and the language which is generally used for the implementation is Dart.

BASIC BUILDING BLOCKS

  • Activities
  • Intents
  • Services

Activities is like an empty sheet in MAD.We will have n number of activities for an application .E.g->in any websites there are n number of webpages which makes a website and each individual webpage is 1 activity.

Intents are knows as user intentions. It is basically way of communication /data exchange between resources.Intents are further divided in 2 types:

  • Implicit Intent-The data exchange will takes place between 2 different platform/applications.Eg->When we try to apply a job in linkedIN portal sometimes it takes us to an external website of company and then we are navigated from linkedIN portal to the Company Portal where are applying for the job.Here the data exchange is between 2 different application as we can see and this is known as Implicit Intent.
  • Explicit Intent-Here the data exchange takes place within the same application.Eg->For Watsapp Application we can navigate from chat menu to call log menu within our watsapp application.

Services are like Utility wchich is already present in Android studio ,We just have to use the service with respect to our requirement.E.g->SQLite,Alarm,Music Player etc

METHOD INVOCATION

When we talk about method invocation ,the design part (which is the .xml file) and the logic/code part (which is java /kotlin as per logic) will come into picture.Generally design is the view part like adding components like button,text etc and corresponding logic for this design is written in .java file /kotlin file.So this merging of design file and logic file which comprises(java/kotlin logic) together is termed as method invocation.In simple terms it means that how we can invoke the method/functions which we have used in the java/kotlin by using the design file like clicking button will internally invoke function in the java file.

There are various types of components in MAD wchich are referred as views like Buttons,Radio Buttons,Checkbox etc.Basically we will add these components in the design file and the user can view it.Now adding more than one component will form a view groups in the design file .There are 5 predominently view groups like :

  • Constraint layout (Default)
  • Relative layout
  • Linear layout
  • Table Layout
  • Frame layout

The first 3 layout mentioned above are majorly used in mobile application development. Constraint layout is to set the constraint with respect to UP,DOWN,LEFT AND RIGHT Position.E.g->If we select the button then we need to set the constraint for this button in all direction and then we can place it in the activity page as our preference position.

Relative layout is for example if one button is already present in the design file and we need to place one more button relative to the position of existing one then this would be used.

Linear layout is like a scale ruler in 1: 1 ration means we can set the design horizontally or vertically in 1:1 design.

Table layout will give design in tabular rows and column.

Frame layout will divide the empty sheet(Activity)in different segment within the empty sheet and we can design in each individual frame with respect to our preference.

Whenever we create a project in Android studio the design will be set to constraint layout means we have set the cursor to up ,down,left ,right and then set the button.

Method Invocation in plays a very pivotal role in Mobile application development and it is categorized into 2 parts direct invocation and indirect invocation. From below, Direct Invocation is simple and Indirect Invocation is little complex to implement.

:

DIRECT INVOCATION

  • Identify Component ID
  • Identify the component in java part by using find view by id(ID)
  • Add Action listener,it will add on Click()
  • Write logic inside that onclick()
  • onClick()

{

Logic

}

                  INDIRECT INVOCATION

  • Write logic in Java part
  • Go to design->component
  • Add feature called onclick=”method name”

DEVICE REQUIREMENT

Generally since the android software is little bulky ,we would require minimum i5 processor and above and 8 GB RAM for smooth execution of the application in Android Studio.

Why Mobile Application Development Is Placed in BCA 6th Semester

The placement of this course in the 6th semester of BCA is deliberate. By this stage, students have already studied:

  • Programming in C, Java, or Python
  • Database Management Systems
  • Operating Systems
  • Computer Networks

Mobile Application Development builds upon these foundations. For example:

  • UI components relate to basic software engineering principles
  • Activities and services connect to operating system concepts
  • Data storage connects directly with DBMS knowledge

This course acts as a bridge between academics and employability, preparing students for real-world development roles.

Industry Relevance of Mobile Application Development

From an employability perspective, Mobile Application Development opens multiple career paths:

  • Android application developer
  • Mobile UI designer
  • Backend integration developer
  • Entry-level software engineer

Even students who do not pursue mobile development professionally benefit from this course, as it strengthens problem-solving, modular thinking, and system-level understanding.

Discussion Questions

   How does understanding the mobile application lifecycle influence the way an app is designed and structured?

   Why is user interface design as important as backend logic in mobile applications?

   How do concepts like activities, intents, and services relate to operating system principles studied in BCA?

  What challenges arise when developing mobile applications for different devices and user environments?

Course Relevance

This topic helps students connect theoretical computing concepts with real mobile applications used in everyday life.
It encourages learners to view software development from a user-centric and system-level perspective rather than focusing only on code execution.
The subject fits well into the BCA curriculum by preparing students for industry expectations without requiring deep specialization at the undergraduate level.

Academic Concepts Covered

• Mobile application architecture and component-based design
• User interface and user experience principles
• Application lifecycle management and event-driven programming
• Data storage, client–server interaction, and backend connectivity

Teaching Note

• Start with commonly used mobile apps to relate concepts to student experience.
• Explain application flow visually before introducing technical implementation.
• Focus on understanding design decisions rather than memorizing framework syntax.

Learning Objectives

• Explain mobile application concepts using real-world examples.
• Relate mobile development components to BCA syllabus topics such as OS and DBMS.
• Develop a practical understanding of how complete applications are designed and deployed.