Cargando…

Wearable Android : Android wear & Google Fit app development /

Providing relevant history, background and core concepts, this book covers wearable computing and wearable application development particularly for Android Wear (smartwatches) and Google Fit (fitness sensors). --

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Mishra, Sanjay
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Hoboken, New Jersey : John Wiley and Sons, Inc., [2015]
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)
Tabla de Contenidos:
  • 1. Wearables: Introduction
  • 1.1. Wearable Computing
  • 1.2. Wearable Computers and Technology
  • 1.3."Wearables"
  • 1.4. The word: "Wearables"
  • 1.5. Wearables and Smartphones
  • 1.6. Wearable Light, Glanceable Interactions
  • 1.7. Smartphone Dependency, Inconveniences
  • 1.8. Wearable Interaction
  • 1.9. User's Real-world Context
  • 1.10. Variety of Wearable Devices
  • 1.10.1. Smart Watches
  • 1.10.2. Fitness Sensors
  • 1.10.3. Smart Jewelry
  • 1.11. Android Wear and Google Fit
  • 1.11.1. Device/Hardware Purchases
  • References and Further Reading
  • 2. Wearable Computing Background and Theory
  • 2.1. Wearable Computing History
  • 2.1.1. Wearable Computing Pioneers
  • 2.1.2. Academic Research at Various Universities
  • 2.2. Internet of Things (IoT) and Wearables
  • 2.2.1. Machine to Machine (M2M)
  • 2.3. Wearables' Mass Market Enablers
  • 2.3.1."ARM-ed" revolution
  • 2.3.1.1. ARM alternatives
  • 2.3.2. System on Chip (SoC)
  • 2.3.3. Human Dependence on Computing.
  • 2.3.4. Smartphone extensions
  • 2.3.5. Sensors
  • 2.3.5.1. Micro-Electro-Mechanical Systems (MEMS) Sensors
  • 2.4. Human-Computer Interface and Human-Computer Relationship
  • 2.4.1. Human-Computer Interface: over the years
  • 2.4.2. Human Computer Interaction (HCI): Demand and Suggest
  • 2.4.2.1. Demand Paradigm
  • 2.4.2.2. Suggest Paradigm
  • 2.4.2.3. Demand or Suggest?
  • 2.4.2.4. Demand and Suggest: A Healthy Balance
  • 2.4.3. Evolution of the Human-Computer Relationship
  • 2.5.A Multi-Device World
  • 2.5.1. Spatial Scope of Computing: Devices near and Devices far
  • 2.5.2. Body Area Network (BAN)
  • 2.5.3. Personal Area Network (PAN)
  • 2.5.4. Home Area Network (HAN)
  • 2.5.5. Automobile Network
  • 2.5.5.1. Controller Area Network (CAN)
  • 2.5.6. Near-Me Area Network (NAN)
  • 2.5.7. Campus Area Network
  • 2.5.8. Metro Area Network
  • 2.5.9. Wide Area Network
  • 2.5.10. Internet
  • 2.5.11. Interplanetary Network
  • 2.6. Ubiquitous Computing.
  • 2.7. Collective, Synergistic Computing Value
  • 2.7.1. Importance of the User Centricity and the User Context
  • 2.7.2. Distributed Intelligent Personal Assistant
  • 2.8. Bright and Cloudy: Cloud-based Intelligent Personal Agent
  • 2.8.1. Google/Cloud-Based Intelligent Personal Agent
  • 2.9. Leveraging Computer Vision
  • 2.9.1. Enhanced Computer Vision/Subtle Change Amplification
  • 2.10. IoT and Wearables: Unnatural and over the top?
  • 2.10.1. Human History of Tool Use and Computation
  • 2.10.2.Communication Networks in Nature
  • 2.10.3. Consumption of Power: by computational systems, biological and artificial
  • 2.11. Security and Privacy Issues
  • 2.11.1. Use Awareness and complete end-to-end Transparency
  • 2.11.2. User Control and Choice
  • 2.11.3. User Access to Collected Data and Erasure capability
  • 2.11.4. Device side, transit, and cloud side protection: Data Anonymization
  • 2.11.5. Practical Considerations: User Centricity
  • 2.11.5.1. OpenID.
  • 2.12. Miscellaneous
  • 2.12.1. PhoneBloks: Waste Reduction
  • 2.12.1.1. Project "Ara"
  • 2.12.2. Google Cardboard: inexpensive Virtual Reality
  • References and Further Reading
  • 3. Android Fundamentals/Hello Lollipop
  • 3.1. Android: Introduction
  • 3.2. Linux: "*nix" or Unix-like OS
  • 3.2.1. Unix
  • 3.2.2. Open Source
  • 3.2.3. GNU/Free Software Foundation
  • 3.2.3.1. Free as in Freedom: GNU Public License
  • 3.2.4. Apache Software Foundation: Apache Software License
  • 3.3. Linux: yesterday and today
  • 3.4. Unix System Architecture
  • 3.4.1. Unix Processes
  • 3.4.1.1. Linux Processes
  • 3.4.1.2. Android Processes
  • 3.4.1.3. Process Tree
  • 3.4.1.4. Unix Interprocess Communication (IPC)
  • 3.4.1.5. Remote Procedure Calls (RPC)
  • 3.4.2. Unix Kernel
  • 3.4.2.1. Linux Kernel
  • 3.5. Java
  • 3.5.1. Java Origins
  • 3.5.2. Java Platform: Language, JVM
  • 3.5.3. Java memory: Heap, Stack, and native
  • 3.5.4. Security Policy: Permissions
  • 3.6. Apache Harmony.
  • 3.7. Android OS and platform
  • 3.7.1. Android Kernel
  • 3.7.2. Android Open Source Project (AOSP)
  • 3.7.2.1. Android Framework
  • 3.7.3. Android Development
  • 3.7.3.1. Android SDK
  • 3.7.3.2. Android NDK
  • 3.7.4. Android Runtime Environment
  • 3.7.4.1. Dalvik Virtual Machine
  • 3.7.4.2. ART (Android Runtime)
  • 3.7.4.3. Zygote
  • 3.7.4.4. System Server: Android System Services
  • 3.7.5. Android Interface Definition Language (AIDL)
  • 3.8. Setting up your Android Development Environment
  • 3.8.1. Installing Java SDK version 7 (JDK 1.7) from Sun Microsystems/Oracle
  • 3.8.2. Installing Android SDK from Google
  • 3.8.3. Installing Build Tools (gradle and ant)
  • 3.8.4. Setting up environment variables (Java, Android SDK, gradle and ant)
  • 3.8.5. Android (Lollipop) Development Device setup
  • 3.8.5.1. Creating a new Android project (classic/ant)
  • 3.8.5.2. Creating a new Android project (new/gradle)
  • 3.8.6. Installing Android Studio "IDE."
  • 3.8.7. Android Studio: Hello World App
  • 3.8.8. Configuring Android Studio
  • 3.9. Android "Classic" project tree and build system
  • 3.10. Android "New" Build System
  • 3.11. Managing Java Installations
  • 3.11.1. Avoid sudo apt-get/rpm style installation
  • 3.11.2. Maintain discrete Java JDK versions
  • 3.11.3. Set JAVA_HOME in your .profile
  • 3.11.4. Project-wise JAVA_HOME
  • 3.11.5. IDE independent build
  • 3.12. Managing Android SDK installation and updates
  • 3.12.1. Update your Android SDK often
  • 3.12.2. Target your App to the latest SDK/API level
  • 3.12.3. Be sure to specify a minimum SDK/API level for your App
  • 3.13. Code Samples: Android Lollipop
  • References and Further Reading
  • 4. Android SDK
  • 4.1. Software Components, in general
  • 4.2. Android Application Development Model
  • 4.2.1. DEX file format
  • 4.2.2. APK file
  • 4.2.3. Android Project Build Process
  • 4.2.4. APK installation and execution
  • 4.2.4.1. Application main thread/UI thread.
  • 4.3. Android SDK API
  • 4.3.1. Android Application Manifest (AndroidManifestxml)
  • 4.3.2. Android API package Overview
  • 4.4. Android's Four Fundamental Components
  • 4.4.1. Android Project Artifacts
  • 4.5. Activity
  • 4.5.1. Activity life cycle
  • 4.6. Service
  • 4.7. BroadcastReceiver
  • 4.8. ContentProvider
  • 4.9. Intent
  • 4.9.1. Intent Action and Data
  • 4.9.1.1. Intent Extras
  • 4.9.1.2. Intent Flags
  • 4.9.2. Explicit Intents
  • 4.9.3. Implicit Intents
  • 4.9.4. Intent Filter
  • 4.9.5. Intent Resolution
  • 4.9.6. Intent Use Cases
  • 4.9.6.1. Starting Activities
  • 4.9.6.2. Starting Services
  • 4.9.6.3. Delivering Broadcasts
  • 4.10.android package, sub-packages
  • 4.11.dalvik package, sub-packages
  • 4.12. Java and javax package, sub-packages
  • 4.13.org package, sub-packages
  • 4.14. Sample code in this book
  • References and Further Reading
  • 5. Android Device Discovery and Communication
  • 5.1. Android Interconnectivity
  • 5.2. Advertisement and Discovery.
  • 5.3. Bluetooth
  • 5.3.1. Bluetooth Low Energy (LE)
  • 5.3.2. Bluetooth Generic Attribute Profiles (GATT)
  • 5.3.3. Android support for Bluetooth LE
  • 5.4. Wi-Fi Peer-to-Peer (Wi-Fi Direct)
  • 5.4.1. Android Wi-Fi Direct/P2P API
  • 5.5. Zero Configuration Networking (zeroconf)
  • 5.5.1. Android Network Service Discovery (NSD)
  • 5.6. Near Field Communication (NFC)
  • 5.7. Universal Serial Bus (USB)
  • 5.7.1. USB On-The-Go (USB OTG)
  • References and Further Reading
  • 6. Android Wear Platform
  • 6.1. Android Wear
  • 6.2. Android Wear Platform: Android Wear OS, Wear Devices, and Wear API
  • 6.2.1. Android Wear OS
  • 6.2.2. Android Wear Devices
  • 6.2.3. Android Wear API and Wear Apps
  • 6.3. Android Notifications and Android Wear
  • 6.3.1. Android 5.0 (Lollipop) Notifications
  • 6.4. Notification Settings and Control
  • 6.4.1. Sound and Notification and Priority Notification
  • 6.4.2. Notification Configuration and Control
  • 6.4.3. Locked Screen and Notifications.
  • 6.4.3.1. Notification Access
  • 6.4.4. Interruptions
  • 6.5. App Notification Strategy
  • 6.6. Google Now and Android Wear
  • 6.7. Android Wear Devices: Getting Started
  • 6.7.1. Android SDK Wear Platform updates
  • 6.7.2. Procuring an Android Wear device
  • 6.7.2.1. Using Android Emulator with Wear AVD
  • 6.7.3. Pairing and Enabling Developer Mode
  • 6.7.3.1. Unboxing your Wear device
  • 6.7.3.2. Pairing your Handheld device with your Wear device
  • 6.7.3.3. Enabling Developer Mode and Debugging Settings on your Wear device
  • 6.7.3.4. Enabling Wear ADB Debugging and Debug over Bluetooth
  • 6.8. Wear Debugging and Android SDK
  • 6.8.1. Wear Debugging via USB
  • 6.8.2. Wear Debugging via Bluetooth
  • 6.9. Peeking under the hood of your Wear Device
  • 6.10. Engaging your Android Wear device via Notifications
  • 6.10.1. Engaging Android Wear via Notification Sync
  • 6.10.2. Wear Extended Notifications
  • 6.11. Android Wear Targeted Apps.
  • 6.12. Hello Wear World: Writing our first Wear App
  • References and Further Reading
  • 7. Android Wear API
  • 7.1. Google Services and Google Play Services
  • 7.1.1. GoogleApiClient class
  • 7.2. Android Wear Network
  • 7.3. Android Wear API, in depth
  • 7.3.1. Wear API: wearable package
  • 7.3.1.1. Node interface
  • 7.3.1.2. WearableListenerService
  • 7.3.1.3. DataEvent
  • 7.3.1.4. MessageEvent
  • 7.3.2. Wearable class
  • 7.3.3. NodeApi
  • 7.3.4. DataApi
  • 7.4. DataItem, DataMapltem, and DataMap
  • 7.4.1. DataItem
  • 7.4.2. DataMapItem
  • 7.4.3. DataMap
  • 7.5. PutDataRequest and PutDataMapRequest
  • 7.5.1. PutDataRequest
  • 7.5.2. PutDataMapRequest
  • 7.6. Asset and DataItemAsset
  • 7.6.1. Asset class
  • 7.6.2. DataltemAsset interface
  • 7.7. MessageApi
  • 7.8. Wearable UI Library
  • 7.9. Wear Interaction Design
  • 7.10. Accessing Sensors
  • 7.11. Production Wear Apps
  • References and Further Reading
  • 8. Google Fit Platform
  • 8.1. Google Fit Platform Overview.
  • 8.2. Google Fit Core Concepts
  • 8.3. Fit Data Types
  • 8.4. Fit Data Store (Storage)
  • 8.5. Sensors
  • 8.6. Permissions, User Consent
  • 8.6.1. Permission Groups, Fitness Scopes
  • 8.6.1.1. Activity Scope
  • 8.6.1.2. Body Scope
  • 8.6.1.3. Location Scope
  • 8.7. Google Fit: Developer Responsibilities
  • 8.7.1. Developer Terms and Conditions
  • 8.7.2. Developer Branding Guidelines
  • 8.8. Procuring Sensor Peripherals
  • 8.9. Hello Fit: hands-on example
  • 8.9.1. Google Play Services library project, dependency
  • 8.9.2. Using the SHA1 fingerprint of the keystore
  • 8.9.3. Google Developer's Console Activating Fit API
  • 8.9.4. Creating the Android App
  • 8.10. Google's Fit App
  • 8.11. Google Settings App
  • References and Further Reading
  • 9. Google Fit API
  • 9.1. Google Fit API
  • 9.2. Google fit main package (com.google.android.gms.fitness)
  • 9.2.1. Fitness class
  • 9.2.2. FitnessActivities class
  • 9.2.3. FitnessStatusCodes class
  • 9.2.4. BleApi interface.
  • 9.2.5. SensorsApi
  • 9.2.6. RecordingApi
  • 9.2.7. SessionsApi
  • 9.2.8. HistoryApi
  • 9.2.9. ConfigApi
  • 9.3.data sub-package
  • 9.3.1. Device
  • 9.3.2. BleDevice
  • 9.3.3. DataSource
  • 9.3.4. DataType
  • 9.3.5. DataPoint
  • 9.3.6. Field
  • 9.3.7. Value
  • 9.3.8. Subscription
  • 9.3.9. DataSet
  • 9.3.10. Session
  • 9.3.11. Bucket
  • 9.4.request sub-package
  • 9.4.1. StartBleScanRequest
  • 9.4.2. BleScanCallback
  • 9.4.3. SensorRequest
  • 9.4.4. DataSourcesRequest
  • 9.4.5. OnDataPointListener
  • 9.4.6. DataReadRequest
  • 9.4.7. DataDeleteRequest
  • 9.4.8. SessionlnsertRequest
  • 9.4.9. SessionReadRequest
  • 9.4.10. DataTypeCreateRequest
  • 9.5.result sub-package
  • 9.5.1. BleDevicesResult
  • 9.5.2. DataSourcesResult
  • 9.5.3. ListSubscriptionsResult
  • 9.5.4. DataReadResult
  • 9.5.5. SessionReadResult
  • 9.5.6. SessionStopResult
  • 9.5.7. DataTypeResult
  • 9.6.service sub-package
  • 9.6.1. FitnessSensorService
  • 9.6.2. FitnessSensorServiceRequest.
  • 9.6.3. SensorEventDispatcher interface
  • References and Further Reading
  • 10. Real-World Applications
  • 10.1. Real-World Applications
  • 10.2. Handheld Application Extension
  • 10.3. Home Automation
  • 10.3.1. Home Entertainment
  • 10.3.2. Gaming
  • 10.4. Wearables at the Workplace
  • 10.5. Fitness, Health, and Medical
  • 10.5.1. Predictive and Proactive Consumer Health
  • 10.5.2. Wearables for Medical Professionals
  • 10.5.3. Wearables and Remote Medical Diagnostics
  • 10.6. Industrial Manufacturing
  • 10.7. Civic, Government, and Democracy
  • References and Further Reading.