Chapter 1: Introduction to Mobile Computing PDF
Document Details
Uploaded by InsightfulBandoneon
Tags
Summary
This document provides an introduction to mobile computing. It covers key features, evolution, and real-world applications. It explores the Android operating system, development tools, and real-world examples.
Full Transcript
Chapter 1 Introduction to Mobile Computing Mobile computing refers to the use of portable computing devices (such as smartphones, tablets, and laptops) in wireless networks to enable users to access and manipulate data and applications from anywhere. Mobile computing is the a...
Chapter 1 Introduction to Mobile Computing Mobile computing refers to the use of portable computing devices (such as smartphones, tablets, and laptops) in wireless networks to enable users to access and manipulate data and applications from anywhere. Mobile computing is the ability to use computing devices while moving, connected wirelessly to the internet or other networks. Key Features Portability: Ability to use devices anywhere (smartphones, tablets) Connectivity: Real-time access to networks through 4G, 5G, Wi- Fi Convenience: Seamless access to data, emails, apps Interactivity: Touchscreen interaction, voice commands, sensors Example: Using Google Maps on your smartphone while driving—live GPS tracking, traffic data, real-time route suggestions. Evolution of Mobile Computing Early Stages: PDAs (Personal Digital Assistants) like the PalmPilot (1997) Early laptops: IBM ThinkPad (1992) Mobile Internet Revolution: Introduction of smartphones (iPhone, 2007) 3G and 4G networks enabled mobile web browsing, video streaming, and app stores. Current Era: 5G Networks: Ultra-fast speeds, low latency (e.g., streaming 4K videos, cloud gaming) Wearables and IoT: Apple Watch, Google Nest—seamless integration of devices Real-World Applications of Mobile Healthcare: Computing Telemedicine apps (e.g., Teladoc): Allow remote consultations, reducing the need for in-person visits. Mobile Health Monitoring (e.g., Fitbit, Apple Health): Track heart rate, activity, and sleep patterns. Education: E-learning platforms (e.g., Coursera, Duolingo): Allow learning anytime, anywhere. Collaboration tools (e.g., Google Classroom, Microsoft Teams): Facilitate mobile access to assignments, discussions, and learning resources. Banking: Mobile Banking Apps (e.g., PayPal, Revolut): Enable cashless transactions, investments, and money transfers from mobile devices. Key Technologies in Mobile Computing Wireless Networks: Wi-Fi: Standard for internet access in homes, cafes, and public places. 4G/5G Networks: Enable faster mobile internet access, video streaming, cloud gaming. Mobile Operating Systems: Android: Open-source, used in most smartphones globally (e.g., Samsung, Huawei). iOS: Exclusive to Apple devices (iPhone, iPad). Mobile Apps: Native Apps: Built specifically for platforms (e.g., Swift for iOS, Kotlin for Android). Cloud-based Apps: Apps like Google Drive store data on the cloud, accessible from multiple devices. Advantages of Mobile Computing Increased Productivity: Work from anywhere (e.g., sales agents using mobile CRMs like Salesforce). Improved Communication: Real-time messaging via apps like WhatsApp, Slack. Remote Collaboration: Teams using platforms like Zoom, Google Meet for virtual meetings. Challenges in Mobile Computing Security Risks: Phishing, data breaches through mobile apps (e.g., insecure Wi-Fi networks). Battery Life: Power-hungry apps (e.g., GPS, gaming apps) reduce battery performance. Network Issues: Limited coverage in rural areas (affects video calls, streaming services). What is Android? Android is an open-source operating system developed by Google for mobile devices, allowing developers to create apps using Java, Kotlin, and other technologies. Android is a software package and Linux based operating system for mobile devices such as tablet computers and smart phones released first version in 2007. It is developed by Google Conti… and later the OHA (Open Handset Alliance). Android is a complete set of software for mobile devices such as tablet computers, notebooks, smart phones, electronic book readers, set-top boxes etc. It contains a linux-based Operating System, middleware and key mobile applications. It can be thought of as a mobile operating system. But it is not limited to mobile only. It is currently used in various devices such as mobiles, tablets, televisions etc. Cont… Originally, Android was created by a company called Android Inc. Google acquired this company in 2005. After then, Google made it open-source and Android gained a big momentum. Cont… Features: Customizable UI: Developers can create unique interfaces using XML and Java. Extensive App Ecosystem: Access to millions of apps on the Google Play Store. Supports Various Devices: Works on smartphones, tablets, TVs, wearables Real-World Example: Apps like Uber and WhatsApp are developed using Android frameworks, leveraging real-time GPS, push notifications, and mobile data. Tools for Android Development Android Studio: The official integrated development environment (IDE) for building Android apps. Real-World Use Case: Android Studio was used to build apps like Instagram. Java/Kotlin: Programming languages used for writing Android applications. Kotlin: Google's recommended language due to its modern features and safety (used by major apps like Pinterest). Gradle: A build automation tool to compile and deploy Android apps. Emulator: Virtual Android devices used to test apps without physical hardware. Step-by-Step Installation of Android Development Environment 1. Download Java Development Kit (JDK): Visit Oracle JDK. Choose your operating system (Windows, macOS, Linux). Example: For a Windows user, select the.exe file, run the installer, and configure JAVA_HOME. 2. Download and Install Android Studio: Visit Android Studio. Download the version suitable for your system. Follow the installation wizard to complete the process. Real-World Practice: Major apps like TikTok were built using Android Studio for testing and debugging on different Android devices. Configuring Android Studio 1.Launch Android Studio and go through the setup wizard. 1.Select standard installation for first-time users. 2.Install SDK Components: 1.Android SDK, build tools, and emulator images. 3.Configure Emulator: Install an Android Virtual Device (AVD) to simulate real-world Android devices. Setting Up the Android Emulator Example: Developers working on WhatsApp extensively use emulators to test how the app performs on devices with different screen sizes, resolutions, and Android versions. 1.Go to Tools > AVD Manager. 2.Click Create Virtual Device and choose a phone model (e.g., Pixel 5). 3.Select a system image (Android 11) and download it. 4.Click Finish and start the emulator. Install & Setup Android Studio Java JDK & SDK Android Studio, Java JDK & SDK are part of Android Development for building Android Apps. Java. Android Studio SDK Java The Android developers mostly used Java programming languages to build Android apps. If we want to use Java tools or functionality, so for that we have need to download and install Java Development Kit (JDK) is a distribution of Java Technology by Oracle Corporation. Cont… It implements the Java Language Specification and the Java Virtual Machine Specification and provides the Standard Edition of the Java Application Programming Interface. Android Studio What is IDE? IDE is an integrated development environment. In simple words, this is a tool that gives us an environment to create an Android app. There are many tools are available in the market for different purposes like MS word for documentation creation, Cont… PowerPoint for presentation making, and Photoshop for photo editing, and much more, the same as Android studio is a tool or IDE for building Android apps. SDK The Android SDK stands for a software development kit. It is a set of development tools that are used to develop applications. The Android SDK includes the following: Required libraries Debugger An emulator Offline documentation for the Android application program Tutorials for the Android OS The Android SDK includes The Following Platform-tools Platform tools are used to help the features for the current android platform including ADB, which is working as a bridge to communicate with emulators or devices. Cont… Build-tools Android SDK Tools is a part of the Android SDK. It is required for building Android apps. Cont… SDK-tools SDK is a part of the Android SDK and it includes the complete set of development and debugging tools, such as an emulator, SD card, SQLite, APK builder, etc. Cont… The Android Debug Bridge (ADB) ADB is a tool that gives us to communicate with the device, such as installing and debugging the Android apps. Cont… Android Emulator The Android Emulator is a virtual Android device. It’s called an emulator and it provides to live test your application on different devices including the Android API level without needing to have each physical device. The emulator provides you with almost all of the functionality of a real Android device. Install & Setup Android Studio Java JDK & SDK Before installing the Android SDK, you need to install the JDK (Java Development Kit). if you want to verify the java version then go to run (start button+R) and open CMD after typing”javac -version“. Install JAVA JDK The Java Development Kit (JDK), officially called “Java SE”, is needed for writing Java programs. The JDK is freely available from Sun Micro-systems, now it is part of Oracle. check it– http://www.oracle.com/technetwork/java/javase/overview/i ndex.html. Cont… Un-Install Older Version(s) of JDK/JRE Install only the newest Java JDK. If you have installed the older versions of JDK/JRE, uninstall all of them. Go to Control Panel >> “Programs” >> Select Programs and Features” >> Uninstall ALL programs begin with “Java”, like “Java SE Development Kit, etc. Cont… Step 1: Download JDK Goto Java SE download site http://www.oracle.com/technetwork/java/javase/downloads/ index.html. Click the “Oracle JDK Download” button. Check “Accept License Agreement”. Choose the JDK as per your system requirement. Cont… Step 2: Install JDK Double clicks on download to setup and Run. By default, JDK is installed in the directory “C:\Program Files\Java\jdk-13.0.“, Accept the defaults. Cont… Step 3: Verify the JDK Installation Open a CMD via the following steps: Click the Search button and Type “cmd” ⇒ Choose “Command Prompt”, or Right-click “Start” button ⇒ run ⇒ enter “cmd”. the following commands to verify that JDK/JRE is properly installed and display their version. Cont… Install “Android Studio IDE” Android Studio, which is an Integrated Development Environment (IDE) based on IntelliJ is a popular Java IDE Reference: “Install Android Studio” at https://developer.android.com/studio/install. (For Windows) Verify that environment variable JAVA_HOME is set to the JDK installation directory by the using command “set JAVA_HOME“. Check the system requirements for Android Studio and SDK ( https://developer.android.com/studio#Requirements) e.g > For Windows 7,8,10, recommended 4GB of RAM, 4GB of disk space, and 1280×800 minimum screen resolution. Go to “Android Studio” @ https://developer.android.com/studio ⇒ Click “Download Android Studio for Windows 64-bit. Run.exe step >> Launch Android Studio. Continue to the Next Step. Cont… Installing the Android SDK Note: You can copy the SDK from your friends or any other computer with the same OS because the download size is 3GB of zip data and expand to 5 GB of disk data. Cont… 1.Start Android Studio. 2.Select >Tools > SDK Manager. 3.As you can see default Settings dialog box, click these tabs to install Android SDK platform packages and developer tools. Cont… 1.SDK Platforms: Select the latest Android SDK package. 2.SDK Tools: Select these Android SDK tools: Android SDK Build-Tools. NDK. Android SDK Platform-Tools. Android SDK Tools. Cont… Cont… 4. Click Apply. Android Studio starts installing your selected packages. After completing the installation, the Status of the installed packages and tools changes from Not Installed to Installed. 5. Click OK. Now ready to launch your First Android App Android native apps are basically written in Java and Kotlin and XML is use for UI design. Create a New Android Project Launch Android Studio. Choose “Start a new Android Studio Project”. Select a Project Template >> select “Phone and Tablet” tab >> Empty Activity >> Next. Configure your project : 1- ⇒ Set “Name” to “Hello Android” (this will be the “Title” in your phone’s app menu) Cont… 2- ⇒ The “Package name” and “Save Location” will be updated automatically 3- ⇒ In “Language”, select “Java” 4- ⇒ Leave the “Minimum API Level” and the rest to default ⇒ Finish. It could take a few minutes to set up your first app. Run the App on Real Android Phones Run the app on a real device. Follow step by step. Connect the real device to your computer. Make sure that you have the “USB Driver” for your device installed on your computer. If not, go to https://developer.android.com/studio/run/oem-usb.html to Install OEM USB Drivers. Enable “USB Debugging” mode on your real device: Enable “Developer options” through “Settings” ⇒ About Phone ⇒ Scroll to the bottom and tap “Build number” seven (3 or 4) times until “Developer Mode” is displayed. Return to the previous screen to find “Developer options” ⇒ Open “Developer options” ⇒ Enable “USB debugging”. Cont… Go to “Settings” ⇒ Select Developer options” ⇒ Check “USB Debugging“. In Android Studio, select the “Run” menu⇒ “Run app”⇒ Your device will be listed under “Choose a running device” ⇒ Select the device and press OK ⇒ “Hello-world” will appear on your phone. First Android Project – Hello World App 1.Open Android Studio and select "Start a new Android Studio project". 2.Choose an Empty Activity. 3.Name your project, choose Java or Kotlin as the language. 4.Click Finish. Example: After following these steps, developers can start building basic apps like a "Hello World" app, commonly used as the first step in learning Android development. Running the App on Emulator or Device Connect Your Android Device (enable USB debugging). Click the green play button to run the app on the device or emulator. Real-World Practice: Mobile developers typically run their apps on real devices and emulators to test features like GPS, camera, and notifications. Real-World Examples of Android Apps Uber: Uses GPS, real-time tracking, and mobile payments, developed on Android. Spotify: Streaming app with background services and cloud integration. Google Pay: Secure payments using near-field communication (NFC), developed using Android APIs. A brief history of Mobile Mobile devices are no longer simple voice communication devices. They have become a medium to create voice, music, text, video, and image communications. Importantly, these various interactions can be created and shared on demand by the mobile user. In addition to communication methods, mobile devices are also a tool used to access the Internet, view television and movies, interact with GPS (Global Positioning System), play games, and read and respond to barcode and augmented reality messages. Cont… A mobile phone is a portable telephone that can make and receive calls over a radio frequency carrier while the user is moving within a telephone service area. The radio frequency link establishes a connection to the switching systems of a mobile phone operator, which provides access to the Public Switched Telephone Network (PSTN). Most modern mobile telephone services use cellular network architecture, and therefore mobile telephones are often also called cellular telephones or cell phones. Cont… In addition to telephony, 2000s-era mobile phones support a variety of other services, such as text messaging, MMS, email, Internet access, short-range wireless communications (infrared, Bluetooth), business applications, gaming, and digital photography. Mobile phones which offer these and more general computing capabilities are referred to as smart phones The first handheld mobile phone was demonstrated by John F. Mitchell and Martin Cooper of Motorola in 1973, using a handset weighing c. 4.4 lbs (2 kg). In 1983, the DynaTAC 8000x was the first commercially available handheld mobile phone. Types of mobile phone generations The Mobile Ecosystem Cont… Cont… Mobile Apps testing tools continue….