You are previewing Professional Android 4 Application Development, 3rd Edition.

Professional Android 4 Application Development, 3rd Edition

  1. Cover
  2. Chapter 1: Hello, Android
    1. A Little Background
    2. What Android Isn't
    3. Android: An Open Platform for Mobile Development
    4. Native Android Applications
    5. Android SDK Features
    6. Introducing the Open Handset Alliance
    7. What Does Android Run On?
    8. Why Develop for Mobile?
    9. Why Develop for Android?
    10. Introducing the Development Framework
  3. Chapter 2: Getting Started
    1. Developing for Android
    2. Developing for Mobile and Embedded Devices
    3. Android Development Tools
  4. Chapter 3: Creating Applications and Activities
    1. What Makes an Android Application?
    2. Introducing the Application Manifest File
    3. Using the Manifest Editor
    4. Externalizing Resources
    5. The Android Application Lifecycle
    6. Understanding an Application's Priority and Its Process' States
    7. Introducing the Android Application Class
    8. A Closer Look at Android Activities
  5. Chapter 4: Understanding Fragments
    1. Fundamental Android UI Design
    2. Android User Interface Fundamentals
    3. Introducing Layouts
    4. To-Do List Example
    5. Introducing Fragments
    6. The Android Widget Toolbox
    7. Creating New Views
    8. Introducing Adapters
  6. Chapter 5: Intents and Broadcast Receivers
    1. Introducing Intents
    2. Creating Intent Filters and Broadcast Receivers
  7. Chapter 6: Using Internet Resources
    1. Downloading and Parsing Internet Resources
    2. Using the Download Manager
    3. Using Internet Services
    4. Connecting to Google App Engine
    5. Best Practices for Downloading Data Without Draining the Battery
  8. Chapter 7: Files, Saving State,and Preferences
    1. Saving Simple Application Data
    2. Creating and Saving Shared Preferences
    3. Retrieving Shared Preferences
    4. Creating a Settings Activity for the Earthquake Viewer
    5. Introducing the Preference Framework and the Preference Activity
    6. Creating a Standard Preference Activity for the Earthquake Viewer
    7. Persisting the Application Instance State
    8. Including Static Files as Resources
    9. Working with the File System
  9. Chapter 8: Databases and Content Providers
    1. Introducing Android Databases
    2. Introducing SQLite
    3. Content Values and Cursors
    4. Working with SQLite Databases
    5. Creating Content Providers
    6. Using Content Providers
    7. Adding Search to Your Application
    8. Creating a Searchable Earthquake Content Provider
    9. Native Android Content Providers
  10. Chapter 9: Working in the Background
    1. Introducing Services
    2. Using Background Threads
    3. Using Alarms
    4. Using the Intent Service to Simplify the Earthquake Update Service
  11. Chapter 10: Expanding the User Experience
    1. Introducing the Action Bar
    2. Adding an Action Bar to the Earthquake Monitor
    3. Creating and Using Menus and Action Bar Action Items
    4. Refreshing the Earthquake Monitor
    5. Going Full Screen
    6. Introducing Dialogs
    7. Let's Make a Toast
    8. Introducing Notifications
    9. Adding Notifications and Dialogs to the Earthquake Monitor
  12. Chapter 11: Advanced User Experience
    1. Designing for Every Screen Size and Density
    2. Ensuring Accessibility
    3. Introducing Android Text-to-Speech
    4. Using Speech Recognition
    5. Controlling Device Vibration
    6. Working with Animations
    7. Enhancing Your Views
    8. Advanced Drawable Resources
    9. Copy, Paste, and the Clipboard
  13. Chapter 12: Hardware Sensors
    1. Using Sensors and the Sensor Manager
    2. Monitoring a Device's Movement and Orientation
    3. Introducing the Environmental Sensors
  14. Chapter 13: Maps, Geocoding, and Location-Based Services
    1. Using Location-Based Services
    2. Using the Emulator with Location-Based Services
    3. Selecting a Location Provider
    4. Finding Your Current Location
    5. Best Practice for Location Updates
    6. Using Proximity Alerts
    7. Using the Geocoder
    8. Creating Map-Based Activities
    9. Mapping Earthquakes Example
  15. Chapter 14: Invading the Home Screen
    1. Introducing Home Screen Widgets
    2. Creating App Widgets
    3. Creating an Earthquake Widget
    4. Introducing Collection View Widgets
    5. Introducing Live Folders
    6. Surfacing Application Search Results Using the Quick Search Box
    7. Creating Live Wallpaper
  16. Chapter 15: Audio, Video, and Using the Camera
    1. Playing Audio and Video
    2. Manipulating Raw Audio
    3. Creating a Sound Pool
    4. Using Audio Effects
    5. Using the Camera for Taking Pictures
    6. Recording Video
    7. Using Media Effects
    8. Adding Media to the Media Store
  17. Chapter 16: Bluetooth, NFC, Networks, and Wi-Fi
    1. Using Bluetooth
    2. Managing Network and Internet Connectivity
    3. Managing Wi-Fi
    4. Transferring Data Using Wi-Fi Direct
    5. Near Field Communication
  18. Chapter 17: Telephony and SMS
    1. Hardware Support for Telephony
    2. Using Telephony
    3. Introducing SMS and MMS
    4. Introducing SIP and VOIP
  19. Chapter 18: Advanced Android Development
    1. Paranoid Android
    2. Introducing Cloud to Device Messaging
    3. Implementing Copy Protection Using the License Verification Library
    4. Introducing In-App Billing
    5. Using Wake Locks
    6. Using AIDL to Support Inter-Process Communication for Services
    7. Dealing with Different Hardware and Software Availability
    8. Optimizing UI Performance with Strict Mode
  20. Chapter 19: Monetizing, Promoting, and Distributing Applications
    1. Signing and Publishing Applications
    2. Distributing Applications
    3. An Introduction to Monetizing Your Applications
    4. Application Marketing, Promotion, and Distribution Strategies
    5. Analytics and Referral Tracking
  21. Introduction
  22. Advertisements
O'Reilly logo

Chapter 4

Understanding Fragments

What's in this Chapter?

Using Views and layouts

Optimizing layouts

Creating resolution-independent user interfaces

Extending, grouping, creating, and using Views

Using Adapters to bind data to Views

To quote Stephen Fry on the role of style as part of substance in the design of digital devices:

As if a device can function if it has no style. As if a device can be called stylish that does not function superbly…. Yes, beauty matters. Boy, does it matter. It is not surface, it is not an extra, it is the thing itself.

Stephen Fry, The Guardian (October 27, 2007)

Although Fry was describing the style of the devices themselves, the same can be said of the applications that run on them. Bigger, brighter, and higher resolution displays with multitouch support have made applications increasingly visual. The introduction of devices optimized for a more immersive experience—including tablets and televisions—into the Android ecosystem has only served to increase the importance of an application's visual design.

In this chapter you'll discover the Android components used to create UIs. You'll learn how to use layouts, Fragments, and Views to create functional and intuitive UIs for your Activities.

The individual elements of an Android UI are arranged on screen by means of a variety of Layout Managers derived from the ViewGroup class. This chapter introduces several native layout classes and demonstrates how to use them, how to create your own, and how to ensure ...

The best content for your career. Discover unlimited learning on demand for around $1/day.