You are previewing Migrating to Android for iOS Developers.
O'Reilly logo
Migrating to Android for iOS Developers

Book Description

Migrating to Android for iOS Developers gives you—as an experienced native iOS app developer—the skills to learn native Android apps development from scratch. Starting with preparing your Android integrated development environment and introducing just enough Android application framework fundamentals, you'll understand how to create a simple but meaningful HelloAndroid project immediately.

This book provides the guidelines and tutorial projects to show you how to translate your existing iOS app to the Android platform. You'll use your mobile app knowledge to structure your Android apps in a similar way to how you would structure your iOS apps. To implement use cases with detailed screens, the most common mobile topics are discussed, including user interfaces, managing data, and networking with remote services. As you move through the book, you'll create Android apps with rich UI components to handle common CRUD operations locally and remotely.

There are many Android goodies described in the book. Instead of relying on routine text descriptions, you'll discover the uniqueness of Android and appreciate the many features that are unique to the platform. This book also explores more powerful mobile UX patterns that are commonly used on the iOS and Android platforms.

When you finish reading Migrating to Android for iOS Developers, you'll be an Android developer as well as an iOS developer. And, you will be fully convinced you can do everything in Android that you can do in iOS.

Table of Contents

  1. Cover
  2. Title
  3. Copyright
  4. Contents at a Glance
  5. Contents
  6. About the Author
  7. About the Technical Reviewer
  8. Acknowledgments
  9. Introduction
  10. Part 1: Prepare Your Tools
    1. Chapter 1: Setting Up the Development Environment
      1. The Android Developer Tools Plugin for Eclipse
        1. Installing the All-in-One Bundled Package
        2. Installing the Eclipse ADT Plugin
        3. MacBook Retina Display
      2. The Eclipse Workbench
        1. The Eclipse Workspace
      3. Summary
    2. Chapter 2: Android Programming Basics
      1. The Java Language in a Nutshell
        1. HelloJava with Eclipse
        2. Create a Java Project
      2. Android Application Framework Fundamentals
        1. Android Applications
        2. Application Components
        3. Intents and Intent Filters
        4. Application Resources
        5. The HelloAndroid Project
      3. Summary
  11. Part 2: Come Sail Away: A Roadmap for Porting
    1. Chapter 3: Structure Your App
      1. Model-View-Controller in Android
        1. Content View
        2. ADT Graphical Layout Editor
        3. View Controller: Lifecycle
        4. Content View Controller: Fragment
        5. Container View Controller: Activity
      2. Android Storyboard: Screen Navigation Patterns
        1. Navigation Stack
        2. MVC Project Template
        3. Master List with Details Drilldown
        4. Navigation Tabs
        5. ActionBar
        6. Swipe Views
        7. ViewPager
        8. Sliding Menu
        9. DrawerLayout
        10. Dialogs
      3. Summary
    2. Chapter 4: Implement Piece by Piece
      1. User Interface
        1. Layout and View Anatomy
        2. Common Layout Managers
        3. Common UI Widgets
        4. Screen Animations
      2. Save Data
        1. SharedPreferences
        2. Object Serialization with File Storage
        3. SQLite Database
      3. Networking and Using Remote Service
        1. Perform Network Operations in Background
        2. Getting Data from the Server
        3. HttpURLConnection: HTTP GET
        4. Send Data to Server
        5. HttpURLConnection: HTTP POST
        6. Consume RESTFul Web Services
        7. HTTP in Android
      4. Summary
  12. Part 3: One Step Further
    1. Chapter 5: More About Android Application Components
      1. Intent and Intent Filter
        1. Explicit Intents
        2. Implicit Intents
      2. Services
        1. IntentService
        2. PendingIntent
      3. Broadcast Receivers
      4. LocalBroadcastManager
      5. Content Providers
        1. ContentProvider
        2. ContentResolver
      6. Summary
    2. Chapter 6: Android Application Resources
      1. Resource Types
        1. String Resources
        2. Drawable Resources
        3. Layout and Menu Resources
        4. Value Resource Types
        5. Color State List Resource
        6. Animation Resources
        7. Style Resource
      2. Configuration Qualifiers
      3. Internationalization
      4. Summary
    3. Chapter 7: Common Mobile Use Cases
      1. Hybrid Apps: Embedded Browsers
        1. WebView
        2. Interface with JavaScript
      2. Use System Apps
        1. Phone Dialer
        2. SMS Messaging
        3. E-mail
        4. Media Player
      3. Mobile Search Framework
        1. SearchView
        2. Voice Search
        3. Recent Search Suggestions
      4. Map and Location Awareness
        1. Google Play Services
        2. Google Maps Android API
        3. Location Services
      5. Mobile Analytics
        1. Google Mobile Analytics
        2. Using the Google Analytics SDK
      6. Summary
    4. Chapter 8: Pulling It All Together
      1. Recap with a Case Study
      2. Structure Your App
        1. Choose a Screen Navigation Pattern
      3. Implement Piece by Piece
        1. Objective-C to Java Class Porting Steps
        2. Model Class: RentalProperty
        3. EditTextView Fragment
        4. RentalPropertyView
        5. RESTful Service and Saving Data
        6. AmortizationView Fragment
        7. MonthlyTermView Fragment
      4. Summary
  13. Part 4: Final: The Beginning of Disparity
    1. Appendix A: The O f f icial Android Developers Site
  14. Index