TY - BOOK AU - Mishra,Sanjay TI - Wearable Android: Android wear & Google Fit app development SN - 9781119050971 AV - QA76.592 U1 - 004.167 23 PY - 2015///] CY - Hoboken, New Jersey PB - John Wiley and Sons, Inc. KW - Wearable computers KW - Mobile apps KW - fast KW - COMPUTERS / Computer Literacy KW - bisacsh KW - COMPUTERS / Computer Science KW - COMPUTERS / Data Processing KW - COMPUTERS / Hardware / General KW - COMPUTERS / Information Technology KW - COMPUTERS / Machine Theory KW - COMPUTERS / Reference KW - Electronic books N1 - Includes bibliographical references and index; 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 N2 - 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). -- UR - http://onlinelibrary.wiley.com/book/10.1002/9781119051091 ER -