0% found this document useful (0 votes)
12 views8 pages

Chapter 1

Mobile Computing enables data, voice, and video transmission through wireless devices without fixed connections, encompassing mobile communication, hardware, and software. It includes various devices like PDAs, smartphones, and tablets, each serving unique functions while allowing users to stay connected and engaged. The document also outlines the Android development environment, detailing hardware and software requirements, development processes, and best practices for creating and optimizing mobile applications.

Uploaded by

gaffiketema
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views8 pages

Chapter 1

Mobile Computing enables data, voice, and video transmission through wireless devices without fixed connections, encompassing mobile communication, hardware, and software. It includes various devices like PDAs, smartphones, and tablets, each serving unique functions while allowing users to stay connected and engaged. The document also outlines the Android development environment, detailing hardware and software requirements, development processes, and best practices for creating and optimizing mobile applications.

Uploaded by

gaffiketema
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Chapter 1.

Introduction to Mobile Computing

Mobile Computing is a technology that allows transmission of data, voice and video via a
computer or any other wireless enabled device without having to be connected to a fixed
physical link.

The main concept involves -

• Mobile communication

• Mobile hardware

• Mobile software

Mobile communication

The mobile communication in this case, refers to the infrastructure put in place to ensure that
seamless and reliable communication goes on. These would include devices such as protocols,
services, bandwidth, and portals necessary to facilitate and support the stated services. The data
format is also defined at this stage. This ensures that there is no collision with other existing
systems which offer the same service.

Since the media is unguided/unbounded, the overlaying infrastructure is basically radio


wave-oriented. That is, the signals are carried over the air to intended devices that are
capable of receiving and sending similar kinds of signals.
Mobile Hardware

Mobile hardware includes mobile devices or device components that receive or access the
service of mobility. They would range from portable laptops, Smartphone’s, tablet Pc's,
Personal Digital Assistants.

These devices will have a receptor medium that is capable of sending and receiving signals.
These devices are configured to operate in full- duplex, whereby they are capable of
sending and receiving signals at the same time. They don't have to wait until one device has
finished communicating for the other device to initiate communications.

Above mentioned devices use an existing and established network to operate on. In most
cases, it would be a wireless network.

Mobile software

Mobile software is the actual program that runs on the mobile hardware. It deals with the
characteristics and requirements of mobile applications. This is the engine of the mobile
device. In other terms, it is the operating system of the appliance. It's the essential
component that operates the mobile device.
Since portability is the main factor, this type of computing ensures that users are not tied
or pinned to a single physical location, but are able to operate from anywhere. It
incorporates all aspects of wireless communications.

2) Mobile Computing - Classification

Mobile computing is not only limited to mobile phones, but there are various gadgets
available in the markets that are built on a platform to support mobile computing. They
are usually classified in the following categories -

Personal Digital Assistant (PDA)

The main purpose of this device is to act as an electronic organizer or day planner that is
portable, easy to use and capable of sharing information with your computer systems.

PDA is an extension of the PC, not a replacement. These systems are capable of sharing
information with a computer system through a process or service known as
synchronization. Both devices will access each other to check for changes or updates in the
individual devices. The use of infrared and Bluetooth connections enables these devices to
always be synchronized.

With PDA devices, a user can browse the internet, listen to audio clips, watch video clips,
edit and modify office documents, and many more services. The device has a stylus and a
touch sensitive screen for input and output purposes.

Smartphones
This kind of phone combines the features of a PDA with that of a mobile phone or camera
phone. It has a superior edge over other kinds of mobile phones.

Smartphones have the capability to run multiple programs concurrently. These phones
include high-resolution touch screens, web browsers that can access and properly display
standard web pages rather than just mobileoptimized sites, and high-speed data access via
Wi-Fi and high speed cellular broadband.

The most common mobile Operating Systems (OS) used by modern smartphones include
Google's Android, Apple's iOS, Nokia's Symbian, RIM's BlackBerry OS, Samsung's Bada,
Microsoft's Windows Phone, and embedded Linux distributions such as Maemo and
MeeGo. Such operating systems can be installed on different phone models, and typically
each device can receive multiple OS software updates over its lifetime.

Tablet PC and iPads

This mobile device is larger than a mobile phone or a PDA and integrates into a touch screen and
is operated using touch sensitive motions on the screen. They are often controlled by a pen or by
the touch of a finger. They are usually in slate form and are light in weight. Examples would
include ipads, Galaxy Tabs, Blackberry Playbooks etc.
They offer the same functionality as portable computers. They support mobile computing
in a far superior way and have enormous processing horsepower. Users can edit and
modify document files, access high speed internet, stream video and audio data, receive and
send e-mails, attend/give lectures and presentations among its very many other functions.
They have excellent screen resolution and clarity.

The Benefits of Mobile Computing

There are many benefits to mobile computing including the ability to get directions,
entertain you when bored, do business, and more, including:

• Connectivity: You can stay connected to all sources at all times.

• Social Engagement: You can interact with a variety of users via the Internet.

• Personalization: You can tailor your mobile computing to your individual needs.

Android Development Environment

Android development involves creating applications for the Android operating system. To
embark on this journey, you'll need a suitable development environment. Here's a breakdown of
the essential components:

Hardware Requirements

 Computer: A computer with a decent processor, sufficient RAM (at least 4GB
recommended), and adequate storage space.
 Operating System: Windows, macOS, or Linux.

Software Requirements
1. Android Studio: The official integrated development environment (IDE) from Google. It
provides a comprehensive set of tools for developing, testing, and debugging Android
apps. Key features include:
o Visual Layout Editor: Drag-and-drop interface for designing app layouts.
o Code Editor: Intelligent code completion, refactoring, and debugging tools.
o Emulator: A virtual device for testing apps on various Android versions and
screen sizes.
o Gradle: A build automation system for managing dependencies and building your
app.
2. Java Development Kit (JDK): Required for compiling Java code, which is the primary
language used for Android app development.
3. Android SDK: A collection of tools, APIs, and libraries necessary for developing
Android apps. It includes:
o Platform tools: For interacting with the Android device or emulator.
o Build tools: For compiling and packaging your app.
o System images: For creating emulators with different Android versions and
configurations.

Additional Tools and Resources

 Android Virtual Device (AVD) Manager: Used to create and manage emulators for
testing your app on various devices.
 Android Debug Bridge (ADB): A command-line tool for interacting with an Android
device or emulator.
 Google Play Console: For publishing your app to the Google Play Store.
 Android Developer Documentation: Official documentation providing tutorials, guides,
and API references.
 Online Communities and Forums: Places to ask questions, share knowledge, and
connect with other developers.

Getting Started

1. Download and Install: Download Android Studio from the official website and follow
the installation instructions.
2. Set Up SDK: Configure the Android SDK to include the desired target platforms and
tools.
3. Create a New Project: Start a new Android Studio project, choosing a template based on
your app's type (e.g., phone app, tablet app).
4. Develop Your App: Use the IDE's tools to design the UI, write code, and test your app.
5. Build and Run: Compile your app and run it on an emulator or connected device.
6. Debug and Iterate: Identify and fix issues, then refine your app based on user feedback.

A Deeper Dive into Android Development Environment


Android Studio: A Closer Look

 Visual Layout Editor: Beyond drag-and-drop, the editor supports constraint-based


layouts for flexible UI design across various screen sizes.
 Code Editor: Features intelligent code completion, syntax highlighting, and quick fixes
to improve productivity.
 Emulator: The emulator offers advanced features like camera simulation, GPS
emulation, and network throttling for realistic testing.
 Gradle: Gradle's flexibility allows for custom build configurations, dependency
management, and integration with other tools.

Kotlin: The Preferred Language

 Interoperability: Kotlin can seamlessly interoperate with existing Java code, making it
easy to adopt in Android projects.
 Null Safety: Kotlin's type system helps prevent null pointer exceptions, a common
source of bugs in Java.
 Concise Syntax: Kotlin's syntax is more concise and expressive than Java, leading to
cleaner and more readable code.

Testing and Debugging

 Unit Testing: Write automated tests to verify the correctness of individual components.
 UI Testing: Use frameworks like Espresso to test the behavior of your app's user
interface.
 Debugging Tools: Android Studio provides powerful debugging features, including
breakpoints, step-by-step execution, and variable inspection.

Performance Optimization

 Profiling Tools: Use tools like Android Profiler to identify performance bottlenecks in
your app.
 Memory Management: Optimize memory usage to prevent out-of-memory errors.
 Efficient Code: Write efficient code by avoiding unnecessary calculations, minimizing
object creation, and using data structures appropriately.

Material Design

 Guidelines: Adhere to Google's Material Design guidelines to create visually appealing


and consistent user interfaces.
 Components: Use pre-designed components like cards, buttons, and text fields to ensure
a consistent look and feel.
 Themes: Customize the appearance of your app using themes and styles.

Publishing to the Play Store


 App Signing: Sign your app with a unique key to ensure its authenticity.
 Metadata: Provide essential information about your app, including its name, description,
and screenshots.
 Pricing and Distribution: Choose a pricing model (free or paid) and select the countries
where your app will be available.
 A/B Testing: Experiment with different versions of your app to optimize its performance
and user experience.

You might also like