Return to home page
Searching: Muskingum library catalog
Some OPAL libraries remain closed or are operating at reduced service levels. Materials from those libraries may not be requestable; requested items may take longer to arrive. Note that pickup procedures may differ between libraries. Please contact your library for new procedures, specific requests, or other assistance.
  Previous Record Previous Item Next Item Next Record
  Reviews, Summaries, etc...
Author Jackson, Wallace,
Title Pro Android wearables : building apps for smartwatches / Wallace Jackson.
Imprint [Berkeley, CA] : Apress, 2015.

View online
View online
Author Jackson, Wallace,
Series Online access with purchase: Springer (t)
Subject Android (Electronic resource)
Application software -- Development.
Wearable computers.
Description 1 online resource (xxvi, 552 pages) : illustrations
polychrome rdacc
Note Includes index.
Summary Pro Android Wearables details how to design and build Android Wear apps for new and unique Android wearable device types, such as Google Android smartwatches, which use the new WatchFaces API, as well as health-monitoring features and other cool features such as altimeters and compasses. It's time to take your Android 5 Wear application development skills and experience to the next level and get exposure to a whole new world of hardware. As smartwatches continue to grab major IoT headlines, there is a growing interest in building Android apps that run on these wearables, which are now being offered by dozens of major manufacturers. This means more revenue earning opportunity for today's indie app developers. Additionally, this book provides new media design concepts which relate to using media assets, as well as how to optimize Wear applications for low-power, single-core, dual-core or quad-core CPUs, and how to use the IntelliJ Android Studio IDE, and the Android device emulators for popular new wearable devices.
Contents Machine generated contents note: Wearable Technology Defined: What Is a Wearable? -- Wearable Application Development: What Types of Apps? -- Android Wearable Fun: Augmented Reality, Edutainment, and Gamification -- Mainstream Wearables: Smartwatches and Smartglasses -- Smartwatches: Round Watch Face vs. Square Organic Light-emitting Diode -- Smartglasses: Glasses and Other Smartglasses Manufacturers -- Wearable Application Programming Interfaces -- Android Studio 1.0: Android Wear SDK -- Google Glass Development Kit: GDK for Android or Mirror -- True Android or Android Peripheral: Bluetooth Link -- Wearable Apps Design: Android 5 Material Design -- Android Material Design Themes: Light and Dark -- Android Material Design View Widgets: Lists and Cards -- Android Material Design Effects: Shadows and Animation -- Android Material Design Graphics Processing: Drawables -- What You Will Learn from This Book -- Summary -- Work Process for Creating an Android Workstation -- Android Development Workstation: Hardware Foundation -- Android Development Workstation: Software Foundation -- Java 7: Installing the Foundation for Android Studio -- Android Studio 1.0: Download the Android 5 IDEA -- Installing Android Studio: IntelliJ IDEA and Android SDK -- Professional Digital Imaging Software: GIMP 2.8.14 -- Professional Digital Video Editing: Lightworks 12 -- Professional 3D Modeling and Animation: Blender -- Professional Digital Audio Editing: Audacity 2.0.6 -- Professional UI Design Wireframing: Pencil Project 2.0.5 -- Professional Business Software Suite: OpenOffice 4 -- Other Open Source and Affordable Media Software -- Summary -- Android's Project Volta: Power Management Tools -- Android 5 Process Scheduler: JobScheduler and JobInfo -- Android 5 Battery Optimizer: The BatteryHistorian Tool -- Android's Network Connection: NFC and Bluetooth -- Android 5 Multiple Network Support: ConnectivityManager -- Android 5 Low Energy Bluetooth: The Bluetooth LE API -- Android 5 NFC Improvements: Near Field Communication -- Android 5 Media: Adding Wow-Factor to Wearables -- Digital Video Playback: MediaController and MediaSession -- Digital Audio Playback: Enhanced AudioTrack Precision -- Real-Time 3D Rendering: OpenGL ES and Extension Pack -- WebKit Media: WebView, WebAudio, WebGL, and WebRTC -- Android MediaBrowser Class: Browsing Third-Party Media -- Android Camera 2 API: UHD Image Processing Support -- Android 5 Notifications: LockScreen and MetaData -- LockScreen Notifications: Privacy Safeguard Control APIs -- Notification MetaData: Intelligent Notification Classification -- More Android 5 Operating System Enhancements -- Recents Screen: Concurrent Document Support -- Data Storage: Directory Structure Selection Support -- Second Screen: Screen Capturing and Screen Sharing -- Summary -- Updating IntelliJ IDEA: Using the Update Info Dialog -- Exploring IntelliJ IDEA: Help, Tips, and Keymaps -- Configure Android Studio: Using the SDK Manager -- Run As Administrator: Installing Using Admin Privileges -- Learning the IntelliJ IDEA Basics: Projects and SDK -- IntelliJ Project Level: Developing Android Applications -- IntelliJ Features: SDK, Language Support, and Auto-Coding -- Creating an Android Wearable App: Using IntelliJ -- Summary -- Using the AVD Manager: Creating Wear Emulators -- Using Wear Emulators: Testing Your Wearable App -- Using IntelliJ Run: Running Wearable Apps in Round Wear -- Switching AVDs: Running Apps in Round Wear ARM AVD -- Switching AVDs: Running Apps in Square Wear ARM AVD -- Summary -- Watch Face Design: Considerations and Guidelines -- Watch Faces UI: Seamless Blending of Art and Function -- Watch Faces Power Usage: Interactive and Ambient Modes -- Watch Face Power Conservation: Low-bit and Burn Protect -- Watch Faces UI Design Shapes: Square vs.
Round -- Watch Faces Integration: Assimilating OS Functions -- Android Notifications: CardView UI Layout Messaging -- Android Hardware State Indicators: Hardware Mode Status -- Android Hotword Placement: The OK Google Phrase -- Android Peripheral Connection: The Wear Companion App -- Watch Faces Function: Functional Data Integration -- Data Visualization: The Data You Want a User to See -- Data Integration: A Fusion of Watch Face Design and Data -- Data Assimilation: Use a Simple, Unified Design Objective -- Watch Face Development: Start Basic and Add as You Go -- Watch Faces Graphic Design: Multimedia Concepts -- Vector Watch Faces: Using SVG, Shapes, and Gradients -- Bitmap Watch Faces: Bitmap Formats and Image Concepts -- Animated Watch Faces: Animation and AnimationDrawable -- Summary -- Gradle Scripts: Setting Gradle Build Dependencies -- Android Permissions: Watch Face Uses-Permission -- Canvas Watch Face Service: A Watch Face Engine -- CanvasWatchFaceService Class: An Overview -- Creating a ProWatchFaceService Subclass: extends Keyword -- CanvasWatchFaceService. Engine Class: The Engine -- Creating a Private Engine Class: Using onCreateEngine() -- Watch Face XML Assets: Create and Edit XML Files -- Watch Face Wallpaper: Creating a Wallpaper Object in XML -- Declaring a WatchFace Service: The XML <service> Tag -- Watch Face Image Preview: Using Drawable Assets -- Summary -- Your WatchFace Surface: Android SurfaceHolder -- Android SurfaceHolder Interface: The Watch Face Surface -- SurfaceHolder Object: onCreate(SurfaceHolder surface) -- Setting Watch Face Style: WatchFaceStyle. Builder -- Android WatchFaceStyle Class: Styling Your Watch Face -- Android WatchFaceStyle. Builder Class: Building the Style -- Building Your Watch Face: Using .setWatchFaceStyle() -- Setting Watch Face Time: The Time-Related Classes -- Java Time Utility Classes: TimeUnit and TimeZone -- Keep Watch Face Time: WATCH_FACE_UPDATE Constant -- Android Classes: Time, Handler, and BroadcastReceiver -- Summary -- WatchFace Seconds Time Engine: Using a Handler -- Android's Handler Class: Handling Time Update Messages -- Android's Message Class: Create a Time Update Message -- Creating a Second Hand Timer: The updateTimeHandler -- Watch Faces Time Calculation: Using System Time -- Java System Class: Accessing Time in Milliseconds -- Watch Face Seconds: Calculating Second Hand Movement -- WatchFaces API: Core Methods to Implement -- Android WatchFaceService Class: Core Constants -- Adding WatchFaceService Constants: Burn-In and Low-Bit -- Android WatchFaceService. Engine Class: Core Methods -- Adding WatchFaceService. Engine Methods: Core Function -- Summary -- WatchFace Painting Engine: Using the Paint Object -- Android's Paint Class: Paint Vector Shapes on the Canvas -- WatchFaces Painting: Creating Watch Face Paint Objects -- WatchFace Drawing Engine: The .onDraw() Method -- Android Canvas Class: Your Canvas Drawing Methods -- Drawing Your WatchFace: Using the .drawLine() Method -- Advanced Mode Support: Dynamic Paint Methods -- Controlling Anti-Aliasing: Creating a setAntiAlias() Method -- Controlling Burn-In: Creating a setBurnlnProtect() Method -- Ensuring Mode Support: An ensureModeSupport() Method -- Invoking Mode Methods: onAmbientModeChanged() -- Returning to Interactive Mode: checkTimer() Method -- Summary -- Testing a WatchFaces Design: Using the Round AVD -- Sending the Whole Second Delay to Your Handler Object -- Setting a Time Object to a Current Time in the Draw Logic -- Testing a WatchFace Design: Using a Square AVD -- AVD Crashes: Can't Connect and Not Responding Panels -- Special Screen Modes: Testing the Low-Bit Ambient Mode -- Special Screen Modes: Testing Low-Bit and Burn-In Modes -- Android WindowInsets Class: Polling Screen Shape -- Detecting WatchFace Shape: Using WindowInsets -- Android Bitmap Class: Using Digital Image Assets -- Android Resources Class: Using Your Res Folder -- Accessing Imagery: Using Bitmap and Resources -- Android Drawable Class: Creating Drawable Objects -- Loading the Drawable: Using the roundFlag Boolean -- Android's BitmapDrawable Class: Image Drawables -- Using BitmapDrawable Object: Extract and Scale -- Scaling Bitmaps: Using the .createScaledBitmap() Method -- Testing Background Bitmaps: Round vs. Square -- Solving the roundFlag Problem: onCreate() to onDraw() -- Optimizing Your onDraw(): First Draw vs. Every Draw -- Summary -- Ambient Mode Bitmap: GIMP Grayscale Image Mode -- Low-Bit Mode Bitmaps: GIMP's Posterize Algorithm -- Dithering Low-Bit Imagery: Indexed Mode Conversion -- Creating a Burn-In Mode Bitmap: Using an Invert Algorithm -- Multimodal Bitmaps: Changing Bitmaps Using Java -- Installing Bitmap Objects into Your Low-Bit Ambient Mode -- Refining Interactive Mode: Set Tick Marks Color to Black -- Testing Interactive and Ambient Modes in the Square AVD -- Android Wear Burn-In Mode: Bitmap and Java Code -- Creating Burn-In Mode Bitmaps: GIMP Brightness-Contrast -- Burn-In Protection in Java: if(enableBurnlnAmbientMode) -- Testing the Burn-In Protect Mode Bitmap and Java Code -- Summary -- Creating a ProWatchFaceCompanionConfigActivity -- Mobile App: Adding Your Activity to AndroidManifest -- Java Class: Creating a WatchFace Companion Activity -- Wear App: Adding Companion Metadata to Manifest -- Google Play Services: The GoogleApiClient Class -- Android's GoogleApiClient: Using Google Mobile Services -- Creating the Play Client: Coding Your .onCreate() method -- WatchFaceCompanion Class: Configuration Constants -- ComponentName Class: Specify a Component -- Setting Watch Face Identity: ComponentName and PeerId -- GoogleApiClient. Builder: Building a Google API Client -- Building the GoogleApiClient: Using the Wearable API.
Note continued: Starting and Stopping a Play Client: onStart() and onStop() -- Connect a Client: Creating the onConnected Method -- Android Uri Class: Uniform Resource Identifier Objects -- Android Uri. Builder Class: Building an Android URI Object -- Building a Uri for a Client: Finishing the onConnected() -- Android's GMS DataApi Interface: Configuring a Data API -- Using the DataApi Class: Configuring the Wearable. API -- Android PendingResult Class: Receiving the Result -- Creating a Not Connected Dialog: Using AlertDialog -- Android AlertDialog: Creating an Alert Dialog for Your App -- Android AlertDialog. Builder: Building the Alert Dialog -- Using AlertDialog. Builder: Coding the AlertDialog System -- Coding an onResult Method: Dataltem and DataMap -- Android's Dataltem Interface: A Foundation for Wear Data -- Loading a Dataltem Object: Using a .getDataltem() Method -- Android's DataMapltem Class: A Dataltem with a Map -- Using a DataMapltem Object: The .fromDataltem() Method -- Android Data Map -- Creating a DataMap Object: Using a .getDataMap() Method -- Creating a Listener Service: .onMessageReceived() -- Android MessageEvent Class: Processing a Message -- Implementing a MessageEvent Object: Extracting the Data -- ConnectionResult Class: Connecting to the Network -- Implementing a ConnectionResult: Blocking a Connection -- Summary -- ProWatchFaceUtility Class: Managing the Data -- Creating a ProWatchFaceUtility Class: Defining Constants -- Loading Dataltems into a DataMap: .putConfigDataItem() -- Android PutDataMapRequest Class: Put in a Data Request -- Using PutDataMapRequest to Put a Configuration DataItem -- Android Wearable Class: Android's Wearable APIs -- Using the Wearable Class: Putting a DataApi Data Request -- Using Android's Node API: .fetchConfigDataMap() Method -- Using Wearable DataApi: DataltemResultCallback() Class -- Replacing Changed Data: overwriteKeyslnConfigDataMap -- Updating a DataMap Object: onConfigDataMapFetched() -- Connect the Maps: Call the Utility from the Listener -- Finishing the Configuration Companion: UI Design -- Choosing Color Using the Spinner Widget: XML UI Layout -- Setting the Spinner Widget: setUpColorPickerSelection() -- Setting Up a Spinner Listener: setUpColorPickerListener() -- Setting Up All Four Spinners: A .setUpAllPickers() Method -- Testing the WatchFaceCompanion Activity: Nexus 5 -- Summary -- Interfacing a Device with a Computer: USB Drivers -- Installing Wear API: Linking Smartwatch with Phone -- Downloading and Installing Wear API: Google Play Store -- Setting Up the Smartwatch: Sony SmartWatch 3 -- Using ADB: Linking a Smartphone with the AVD -- Android Debug Bridge: Networking Hardware and Software -- Using AVD Inside Android Studio: ADB Port Forwarding -- Bluetooth Debugging: Linking to your Smartwatch -- Smartwatch Set Up: Pair and Enable Bluetooth Debugging -- Java Singleton: ProWatchFaceUtility() Constructor -- Testing and Debugging: Creating Your .APK Files -- Android Studio Build System: An Overview -- Configuring Gradle Builds: Creating Different APK Types -- Building Your Project: Using the Gradle Build Engine -- Summary -- Dealing with the Unexpected Update: Android 5.2 -- Dealing with Deprecation: .getDrawable() and Time -- Android's Resources Class: Two .getDrawable() Methods -- Resources. Theme Nested Class: Theme Attributes -- ResourcesCompat Class: Backward Compatibility -- Dealing with Deprecated Classes: The Time Class -- Upgrading Your Code: Calendar and .getDrawable() -- Upgrading the Time Class Code: Using the Calendar Class -- Upgrading timeZoneReceiver: The .setTimeZone() Method -- Upgrading the onDraw() Method: Using .setTimelnMillis() -- Loading Your Time Variables: Using the .get() Method -- Upgrade the onVisibilityChanged() Method: .setTimeZone() -- Upgrading the Code: Using the .getDrawable(int, Theme) -- Solving IDE Problems Introduced by SDK Upgrades -- Upgrading Gradle Files: Adding Build Definition Sections -- Using Invalidate and Restart: Rebuilding Project Structure -- Using Import Project -- Re-creating a Project from Scratch: Copy Code and Assets -- Moral of the Story: Android Is More than Java or XML -- Summary -- HD and UHD Android TV: The Opposite of Wear -- Android Auto: Android Apps for the Car Dashboard -- Google Glass: Develop Apps for Smart Eyeglasses -- Android Wear: Interesting API Elements to Explore -- Detecting Location: GPS Data from Google Play Services -- Voice Actions: Using Speech Recognition Technology -- Summary.
Note Online resource; title from PDF title page (EBSCO, viewed July 15, 2015).
ISBN 9781430265511 (electronic bk.)
1430265515 (electronic bk.)
1430265507 (print)
9781430265504 (print)
ISBN/ISSN 10.1007/978-1-4302-6551-1
OCLC # 913576130
Additional Format Printed edition: 9781430265504

If you experience difficulty accessing or navigating this content, please contact the OPAL Support Team