THEORY FILE - Android Programming (6th sem) !!
THEORY FILE - Android Programming (6th sem) !!
ER
MAINTAINED BY: TEACHER’S /MAM’:
Sahil Kumar Prof. Jiwanpreet Kaur
D
UNIVERSITY ROLL NO: 2200315
O
C
U
PT
@
Program BCA ➖➖
Course Name
Semester
➖ 6th.
Android Programming (Theory).
UNIT ➖01
● # Characteristics of Mobile applications, Introduction to Android Development
Environment, Advantages and Futures of Android, Architecture and working of
ER
➖
Android, User-interface design for mobile applications and managing application
data :
D
○ Mobile applications are designed to run on a variety of devices such as smartphones,
tablets, and wearables.
O ○ They support multiple operating systems (e.g., Android, iOS).
2. Touch Interaction
○ Optimized for touch screens, enabling gestures like tap, swipe, and pinch-to-zoom.
3. Connectivity
○ Mobile apps leverage network features like Wi-Fi, cellular data, Bluetooth, NFC, and GPS
C
for communication and functionality.
4. Performance Efficiency
○ Optimized to run on devices with limited hardware resources such as low RAM, CPU, and
battery life.
U
● Android Development Environment refers to the tools, frameworks, and resources used for
developing Android applications. It provides the necessary setup to create, test, and deploy apps
for the Android operating system.
● Android is an open-source mobile operating system developed by Google, based on the
Linux kernel.
● It powers billions of devices globally, including smartphones, tablets, TVs, and IoT devices.
➖
2
Key Components of Android Development Environment
ER
2. Android Software Development Kit (SDK)
○ A collection of tools, libraries, and resources required for Android development.
○ Key Components:
■ APIs: Predefined libraries to handle UI, multimedia, sensors, networking, etc.
■ ADB (Android Debug Bridge): Command-line tool for interacting with devices.
■ SDK Tools: Includes tools for debugging, profiling, and performance monitoring.
3. Emulator
D
○ Simulates an Android device for app testing without physical hardware.
○ Features:
O ■ Supports various Android versions and screen sizes.
■ Allows testing of features like GPS, camera, and network conditions.
4. Build Automation Tools
○ Gradle: Default build system in Android Studio for managing dependencies and build
configurations.
C
○ Maven and Ant: Alternative build tools for advanced users.
5. Programming Languages
○ Java: Traditional language for Android app development.
○ Kotlin: Modern, concise, and fully supported by Google as the preferred language.
U
○ C++/C: Used with the Android Native Development Kit (NDK) for performance-critical parts
of an app.
6. Version Control System
PT
○ Tools like Git and platforms like GitHub, GitLab, or Bitbucket are used for versioning and
collaboration.
ER
● Extensive Documentation: Well-documented resources, tutorials, and APIs.
● Open Source: Android SDK and tools are freely available, fostering innovation and collaboration.
D
2. Android Software Development Kit (SDK):
○ A set of tools, libraries, and APIs used to develop Android apps.
3. Build Automation Tools:
○ Gradle: Manages builds, dependencies, and versioning.
O
4. Android Emulator:
○ Simulates an Android device for testing apps on different configurations.
5. Version Control Tools:
C
○ Git for source code versioning and collaboration.
➖
U
Advantages
PT
Future of Android
ER
○ Core layer providing hardware abstraction, memory management, and security features.
2. Hardware Abstraction Layer (HAL):
○ Interfaces between the hardware and Android runtime.
3. Libraries:
○ Includes SQLite (database), OpenGL (graphics), WebKit (browser), etc.
4. Android Runtime (ART):
○ Executes app code in a virtualized environment for performance and security.
D
○ Uses Just-In-Time (JIT) and Ahead-Of-Time (AOT) compilation.
5. Application Framework:
O ○ APIs for UI design, app lifecycle management, notifications, and background processes.
6. Applications Layer:
○ The user-facing apps (e.g., Contacts, Browser) run on this topmost layer.
Working of Android
C
1. User interacts with an app.
2. App communicates with the Application Framework to request resources.
3. Framework interacts with the runtime and libraries to process the request.
U
ER
○ Used for saving files like images or documents.
○ Supports internal and external storage.
4. Cloud-Based Storage
○ Services like Firebase for real-time syncing and cloud backups.
5. Content Providers
○ Facilitates sharing of data between different apps in a secure way.
D
HAPPY ENDING BY : SAHIL RAUNIYAR / PTUCODER 😀
O
C
U
PT
@
6
UNIT ➖ 02
● # Integrating cloud services, networking, OS and hardware into mobile applications.
➖
Enterprise requirements in mobile applications: Performance, Scalability,
Modifiability, Availability and Security :
Integrating Cloud Services, Networking, OS, and Hardware into Mobile Applications ➖
ER
Modern mobile applications leverage various technologies to deliver seamless and efficient user
experiences. Integration with cloud services, networking capabilities, operating systems (OS), and
hardware is essential to meet functional and enterprise requirements.
D
1. Integrating Cloud Services
Cloud services provide the backbone for mobile applications by enabling remote storage, data
synchronization, and scalable computational resources.
O
● Benefits:
○ Data Storage and Backup: Securely store user data on cloud platforms like AWS, Azure,
or Google Cloud.
C
○ Real-Time Sync: Sync user data across devices (e.g., Google Drive, iCloud).
○ Scalability: Handle sudden spikes in traffic with elastic cloud resources.
○ AI/ML Integration: Utilize advanced services like machine learning APIs for speech
recognition, image processing, etc.
U
➖
○ Global Reach: Content Delivery Networks (CDNs) ensure fast content delivery globally.
○ Examples
○ Storing app user files in Amazon S3.
○ Using Firebase Authentication for secure login processes.
● Key Tools and Platforms:
○ Firebase (Google)
@
○ AWS Amplify
○ Microsoft Azure Mobile Apps
○ Backend-as-a-Service (BaaS) providers like Backendless.
ER
○ OAuth Authentication: Secure access using tokens from third-party services.
○ Data Encryption: Use HTTPS, SSL/TLS for secure data transmission.
● Challenges:
○ Network Variability: Handle different network speeds (Wi-Fi, 4G/5G, etc.).
○ Offline Functionality: Ensure the app works with cached data or local storage during
connectivity loss.
● Networking Libraries and Frameworks:
D
○ Retrofit, Volley (Android)
○ Alamofire (iOS)
O ○ GraphQL APIs for structured queries.
3. OS Integration ➖
C
Integration with the mobile OS is critical for accessing system-level features and ensuring compatibility.
● Key Features:
○ Platform APIs: Use platform-specific APIs for sensors, camera, and notifications.
U
○ System Updates: Keep the app compatible with the latest OS versions.
○ Permissions: Manage user permissions for location, storage, and camera.
○ UI Guidelines: Follow platform-specific design guidelines (e.g., Material Design for
Android, Human Interface Guidelines for iOS).
PT
4. Hardware Integration ➖
Mobile devices come with various hardware components that apps can use to deliver enhanced
functionality.
@
1. Performance ➖
● Definition: The app must provide fast, responsive, and smooth functionality.
ER
● Key Metrics:
○ Load time (e.g., < 2 seconds for most actions).
○ Minimal lag or stutter during animations and operations.
● Optimization Techniques:
○ Use efficient algorithms and asynchronous programming.
○ Compress images, videos, and other assets.
○ Optimize database queries and API calls.
D
2. Scalability
O ➖
● Definition: The app should handle an increasing number of users or data without performance
degradation.
● Strategies:
C
○ Use cloud services for elastic scalability.
○ Design microservices architecture to handle specific app features.
○ Load balance across multiple servers or instances.
U
3. Modifiability ➖
PT
● Definition: The app should be easily updated or extended to add new features or fix bugs.
● Best Practices:
○ Write modular and well-documented code.
○ Use version control systems like Git.
○ Follow design patterns such as MVVM or MVC for code organization.
@
4. Availability ➖
● Definition: The app should be accessible and functional at all times with minimal downtime.
● Key Strategies:
○ Implement failover systems and redundancy.
○ Use cloud-based Content Delivery Networks (CDNs) for global availability.
○ Monitor app performance and downtime using tools like New Relic or Firebase Crashlytics.
➖
9
5. Security
● Definition: Protect user data and ensure secure communication between devices and servers.
● Critical Aspects:
○ Data Encryption: Encrypt sensitive data using AES or RSA.
○ Authentication: Implement secure login mechanisms, such as OAuth or SSO.
○ Data Validation: Prevent attacks like SQL injection or XSS by validating input.
○ Compliance: Adhere to data privacy regulations like GDPR or HIPAA.
● Tools:
○ Use security libraries like OWASP ZAP for penetration testing.
○ Implement token-based security for APIs (JWT).
ER
Conclusion ➖
Integrating cloud services, networking, OS, and hardware into mobile applications is essential for creating
robust, feature-rich apps that meet enterprise requirements. By focusing on performance, scalability,
modifiability, availability, and security, developers can ensure their applications meet user expectations
D
and enterprise standards.
😀
O HAPPY ENDING BY : SAHIL RAUNIYAR / PTUCODER
C
U
PT
@
10
UNIT ➖ 03
➖
● # Mobile Software Engineering (Design Principles, Development, Testing
methodologies for mobile applications
ER
Mobile software engineering focuses on the systematic design, development, testing, and maintenance of
mobile applications. It emphasizes unique challenges like varying devices, operating systems, screen
sizes, and performance limitations.
D
Key Principles
4. Consistency:
○ Maintain a uniform interface using platform-specific guidelines (Material Design for Android,
HIG for iOS).
○ Keep branding consistent across screens.
PT
Design Tools
a. Native Development
ER
b. Cross-Platform Development
● Definition: Create apps that run on multiple platforms using a single codebase.
● Technologies:
○ Flutter (Dart): Fast, with customizable UI components.
○ React Native (JavaScript): Great for reusable components and a vast ecosystem.
● Advantages:
D
○ Faster development and reduced costs.
○ Consistency across platforms.
c. Hybrid Development
O
● Definition: Use web technologies (HTML, CSS, JavaScript) inside a native wrapper.
● Technologies: Ionic, Apache Cordova.
● Advantages:
C
○ Simplifies development for simple apps.
○ Faster time to market.
○ No installation required.
○ Works offline and provides app-like experience.
● Platforms like Firebase, AWS Amplify offer ready-made backend solutions, including
authentication, databases, and cloud storage.
@
Types of Testing
ER
○ Conduct with real users or tools like UserTesting.
6. Regression Testing:
○ Verifies that new updates do not break existing functionality.
○ Automate using tools like Appium, Selenium.
7. Localization Testing:
○ Checks for correct translations, formatting, and cultural appropriateness.
D
Testing Strategies
Conclusion ➖
ER
Mobile software engineering is a dynamic field requiring an understanding of design principles, modern
development methodologies, and rigorous testing approaches. Following best practices ensures the
delivery of high-quality, user-centric, and secure mobile applications.
D
O
C
U
PT
@
14
UNIT ➖ 04
➖
● # Directory Structure of an Android Project, Common Default Resources Folders,
The Values Folder, Leveraging Android XML :
ER
An Android project follows a specific directory structure to organize code, resources, assets, and other
configurations. The structure ensures that the application is modular, maintainable, and easy to navigate.
Here’s a deep dive into the typical directory structure of an Android project:
1. Root Directory
The root directory contains essential files for configuring and building the Android project.
D
● build.gradle (Project-level): Contains configuration for the entire project, including
dependencies, repositories, and build options.
● settings.gradle: Defines settings related to the structure of the project, such as which
Omodules to include in the build.
● gradle: A directory containing Gradle wrapper files, which ensure a consistent Gradle version
across different machines.
C
● local.properties: Contains the local settings, like the location of the SDK.
2. app/ Directory
U
This is the module directory that contains the core application code. Within the app/ directory, you’ll find
several important subdirectories and files:
2.1. src/
PT
This folder contains the source code for the application. It is divided into multiple subdirectories:
● main/: Contains the primary code, resources, and configurations for the application.
○ java/: This directory contains all Java/Kotlin files (for Android development).
■ com.example.appname/: The package structure for your application. Typically,
@
1. drawable/: Stores graphical resources like images, vector files, and other drawable assets. You
ER
can have different drawable folders based on screen density (e.g., drawable-mdpi/,
drawable-hdpi/).
2. layout/: Contains XML files defining the structure of your user interfaces. These layouts are
used to arrange UI elements like buttons, text fields, and more.
3. mipmap/: Similar to drawable/ but optimized for launcher icons.
4. values/: This folder contains XML files that define resources such as strings, colors, dimensions,
D
and styles. Key files include:
○ strings.xml: Defines text that can be referenced throughout the app.
○ colors.xml: Defines color values for the app.
○ styles.xml: Contains theme and style definitions.
O ○ dimens.xml: Defines fixed dimension values like padding, margin, and font sizes.
These folders allow for resource organization, and the system automatically selects the appropriate
C
resources based on the device's screen size, density, locale, etc.
➖
U
The values/ folder is one of the most important directories in the res/ folder. It stores various XML files
used for defining resource values that the application can reference. Here's a breakdown of common files
PT
1. strings.xml
This file is used to store string resources, which can then be referenced in Java/Kotlin code or XML
layout files.
@
Example:
xml
<resources>
<string name="app_name">My Application</string>
<string name="hello_message">Hello, World!</string>
</resources>
● Why it’s used: Storing strings in this file allows for easier localization and avoids hardcoding text
into your application code.
16
2. colors.xml
Defines color resources for the app, so that you can use them consistently across layouts and themes.
Example:
xml
<resources>
<color name="primary_color">#FF0000</color>
<color name="secondary_color">#00FF00</color>
</resources>
ER
● Why it’s used: This ensures that you can easily change your app’s color scheme by modifying the
colors.xml file, which is easier to manage than changing each individual color in your code.
3. dimens.xml
D
Contains dimension values like padding, margin, and text size.
Example:
xml
O
<resources>
<dimen name="padding_small">8dp</dimen>
<dimen name="padding_large">16dp</dimen>
C
</resources>
● Why it’s used: By using this file, developers can define standard sizes that can be reused across
U
4. styles.xml
PT
This file is used to define and customize the visual appearance of your app by declaring themes, colors,
and fonts. A theme defines the look and feel of the application (or an activity).
Example:
xml
<resources>
@
● Why it’s used: Styles enable you to easily reuse UI properties across different elements in your
app, allowing for faster updates and changes to your app’s look.
17
5. attrs.xml
This file defines custom attributes that can be used to style or configure UI elements. This file is not
always necessary but is often used in custom views.
Example:
xml
<declare-styleable name="CustomButton">
<attr name="customTextColor" format="color"/>
</declare-styleable>
ER
● Why it’s used: Custom attributes enable customization of UI components via XML and allow for
more flexibility in developing reusable custom views.
D
Android XML is used extensively throughout the development process. It's used for defining layouts,
resources, themes, and more. Here’s how Android XML is leveraged:
O
1. Layout Files (res/layout/)
XML layout files define the UI structure of the app. For example:
C
xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
U
android:layout_height="match_parent"
android:orientation="vertical">
PT
<TextView
android:id="@+id/hello_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_message" />
</LinearLayout>
@
● Why it’s used: Layout files use a declarative syntax to define UI components. The XML file is
easy to understand and modify, separating the UI structure from the logic.
2. Defining Resources
As discussed earlier, values like strings, colors, and dimensions are defined in XML and referenced
throughout the code. This promotes reuse and consistency.
➖
18
Example in layout:
xml
<Button
android:text="@string/login_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
ER
XML can also be used to define custom views and allow attributes to be passed to them.
Example in attrs.xml:
xml
<declare-styleable name="CustomView">
<attr name="backgroundColor" format="color" />
D
</declare-styleable>
● Why it’s used: Custom attributes in XML allow developers to easily configure UI elements through
OXML rather than programmatically.
C
Conclusion
The Android project directory structure helps organize the code, resources, and assets in a modular and
easy-to-maintain way. The values/ folder plays a vital role in defining reusable resources like strings,
U
colors, and styles, which can be referenced throughout the application. Leveraging XML in Android
ensures that the UI is scalable, flexible, and easy to maintain. By understanding the directory structure
and resource management in Android, developers can streamline the development process and create
PT
BCA (Sem.–6)
ANDROID PROGRAMMING
Subject Code : UGCA-1943
M.Code : 91681
Date of Examination : 04-07-22
SECTION ➖A
ER
1. Write briefly :
a) Java and JVM
b) Intent
c) Security
d) HTTP
e) XML
f) Spinner
D
g) Framework
h) DVM
i) Android XML
O
j) GPS
Detailed Explanations
C
a) Java and JVM
Java is a high-level, object-oriented programming language widely used for web, mobile, and enterprise
applications. It follows the principle of "Write Once, Run Anywhere" (WORA) because Java code is
U
compiled into bytecode, which can run on any platform with a Java Virtual Machine (JVM).
The Java Virtual Machine (JVM) is a runtime environment that executes Java bytecode. It provides
memory management, garbage collection, and security features. JVM is platform-specific, but Java
PT
bytecode remains platform-independent, allowing Java applications to run on different operating systems
without modification.
b) Intent
In Android, an Intent is a messaging object used to request actions from other components. It facilitates
@
Explicit Intent – Specifies the exact component to be launched (e.g., opening a specific activity).
java
Intent intent = new Intent(CurrentActivity.this, NextActivity.class);
startActivity(intent);
1.
20
Implicit Intent – Does not specify the target component, allowing the system to decide based on the
action (e.g., sharing text, opening a URL).
java
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("https://www.google.com"));
startActivity(intent);
c) Security
Security refers to protecting systems, applications, and data from threats such as hacking, malware, and
unauthorized access. Key security concepts include:
ER
● Authentication – Verifying user identity (e.g., login with username and password).
● Encryption – Converting data into an unreadable format to prevent unauthorized access (e.g.,
SSL/TLS for secure communication).
● Data Privacy – Ensuring that sensitive user data is protected (e.g., Android's permission system
for accessing user data).
● Secure Coding Practices – Preventing vulnerabilities such as SQL injection, cross-site scripting
D
(XSS), and buffer overflows.
O
d) HTTP (HyperText Transfer Protocol)
HTTP is a communication protocol that allows web browsers and servers to exchange data over the
internet. It follows a request-response model:
C
1. Client (browser/app) sends an HTTP request (e.g., requesting a webpage).
2. Server processes the request and responds with the requested resource (e.g., HTML, JSON).
Secure communication is ensured using HTTPS (HTTP Secure), which encrypts data using SSL/TLS.
XML is a markup language used for storing and transporting structured data. It defines custom tags to
organize data in a human-readable and machine-readable format.
xml
<employee>
<name>John Doe</name>
<age>30</age>
<department>IT</department>
</employee>
21
In Android, XML is used for:
f) Spinner
A Spinner is an Android UI widget that provides a dropdown list for users to select an option. It is similar
to a combo box in desktop applications.
ER
Example of a Spinner in XML:
xml
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
D
android:layout_height="wrap_content"/>
In Java:
java
O
Spinner spinner = findViewById(R.id.spinner);
ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
android.R.layout.simple_spinner_item, items);
C
spinner.setAdapter(adapter);
U
Spinners are useful for selecting options like country lists, categories, or filter settings.
PT
g) Framework
A framework is a pre-built collection of tools, libraries, and best practices that provide a structured way to
develop applications.
Examples of frameworks:
● Android Framework – Provides APIs and tools for building Android apps.
@
A framework helps developers by offering reusable components, reducing development time, and
ensuring code consistency.
Since Android 5.0 (Lollipop), DVM has been replaced by ART (Android Runtime), which improves
performance by using ahead-of-time (AOT) compilation instead of just-in-time (JIT).
i) Android XML
ER
Android uses XML extensively for defining UI components, themes, and settings. Important XML files in
Android include:
D
android:layout_height="match_parent">
<TextView
O android:text="Hello World!"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
C
1. Manifest XML (AndroidManifest.xml) – Contains app metadata, permissions, and component
declarations.
xml
U
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app">
<application
PT
android:allowBackup="true"
android:label="My App">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
@
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
23
2. Drawable XML – Defines vector graphics, shapes, and animations.
ER
Example of accessing GPS in Android:
java
LocationManager locationManager = (LocationManager)
getSystemService(Context.LOCATION_SERVICE);
Location location =
locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
D
To use GPS, the app must request location permissions in AndroidManifest.xml:
O
xml
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
C
GPS works by receiving signals from multiple satellites to calculate the device’s exact position. It can also
be enhanced using Wi-Fi, cellular networks, and Bluetooth for better accuracy.
U
PT
@
➖B
24
SECTION
ER
2. Architecture and Working of Android Phone
Android Architecture
D
1. Linux Kernel:
● The foundation of Android OS, responsible for process management, memory management,
security, and drivers for hardware components like the camera, Bluetooth, and Wi-Fi.
O
● Provides a stable and secure environment for app execution.
3. Native Libraries:
● ART replaces the older Dalvik Virtual Machine (DVM) to improve performance.
● Uses Ahead-of-Time (AOT) Compilation to convert bytecode into native machine code for faster
execution.
● Includes Garbage Collection (GC) to manage memory efficiently.
5. Application Framework:
6. Applications Layer:
● The topmost layer, where user applications run (e.g., Phone, Messages, Camera, and third-party
apps).
1. When an Android phone starts, it loads the bootloader, which initializes the Linux Kernel.
2. The Android Runtime (ART) loads system services and manages app execution.
ER
3. The System Server launches system components like Wi-Fi, telephony, and notifications.
4. When a user launches an app, the Activity Manager starts the app's process, and the UI is
displayed.
5. The system efficiently manages memory, processes, and battery life to ensure smooth operation.
D
3. Android Development Environment
The Android development environment consists of the tools and software required to build Android
applications.
O
1. Android Studio
● The official Integrated Development Environment (IDE) for Android development, based on
C
IntelliJ IDEA.
● Features include:
○ Code editor with auto-completion
○ Built-in emulator for testing
U
● Includes APIs, libraries, debugging tools, and system images for developing apps.
● Java and Kotlin are the primary languages for Android app development.
@
● The Android Emulator simulates different devices for testing apps without needing a physical
device.
● Firebase provides cloud-based features like authentication, databases, and push notifications.
● Google Play Services enables integration of maps, location services, and analytics.
26
4. Directory Structure of an Android Project
An Android project consists of several directories:
2. manifests/
ER
activities, and services.
3. java/
● Contains all Java/Kotlin source code files for activities, services, and other components.
D
● Stores XML-based resources:
O ○ layout/ – UI designs (.xml files).
○ drawable/ – Images and vector graphics.
○ values/ – Strings, colors, and styles.
5. gradle/
C
● Contains Gradle build scripts for managing dependencies and compiling the app.
U
1. Intent
Types of Intents
Explicit Intent – Targets a specific activity within the app.
java
@
ER
3. Threads
D
java
new Thread(new Runnable() {
O
@Override
public void run() {
// Background task
}
C
}).start();
U
xml
<CheckBox
android:id="@+id/checkBox"
@
android:text="Subscribe"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
28
<RadioButton
android:id="@+id/radioButton1"
android:text="Male"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<RadioButton
android:id="@+id/radioButton2"
android:text="Female"
android:layout_width="wrap_content"
ER
android:layout_height="wrap_content"/>
</RadioGroup>
D
java
CheckBox checkBox = findViewById(R.id.checkBox);
RadioGroup radioGroup = findViewById(R.id.radioGroup);
O
checkBox.setOnCheckedChangeListener((buttonView, isChecked) -> {
if (isChecked) Toast.makeText(this, "Subscribed!",
Toast.LENGTH_SHORT).show();
C
});
if (checkedId == R.id.radioButton1) {
Toast.makeText(this, "Male selected", Toast.LENGTH_SHORT).show();
} else {
PT
1. Unit Testing
2. UI Testing
3. Integration Testing
5. Performance Testing
ER
HAPPY ENDING BY : SAHIL RAUNIYAR / PTUCODER 😀
D
O
C
U
PT
@