Learning MonoTouch: A Hands-on Guide to Building iOS Applications with C# and .NET

Learning MonoTouch: A Hands-on Guide to Building iOS Applications with C# and .NET

By: Michael Bluestein (author)Paperback

1 - 2 weeks availability


Develop State-of-the-Art iPhone/iPad Apps with MonoTouch and .NET! Are you an experienced C#/.NET developer who wants to reach the huge iPhone/iPad market? Now, you can create great iOS apps without first mastering Objective-C and Apple's development toolset. With MonoTouch, you can leverage the skills you already have to create powerful apps that can be sold in Apple's App Store or deployed throughout your organization. In Learning MonoTouch, Michael Bluestein helps you get started with MonoTouch fast and make the most of its remarkably robust capabilities. The book first walks you through setting up your MonoTouch development environment, explaining how MonoTouch abstracts the iOS SDK to permit development against native iOS classes from C#. Through simple examples, you'll start building working apps, establishing a firm foundation for more advanced coding. One step at a time, you'll master increasingly sophisticated cases through practical examples. Bluestein even shows you how to leverage powerful .NET tools in your iOS apps, including LINQ. Coverage includes * Applying common iOS development patterns and techniques in C# * Using MonoTouch to handle memory management and garbage collection * Structuring MonoTouch apps for the MVC design pattern * Making the most of iOS user interface classes * Leveraging the address book, camera access, email, and iOS media features * Customizing tables and navigation for richer experiences and better performance * Accessing the iOS Core Graphics and Core Animation subsystems * Building iOS location-based applications with Core Location and MapKit * Consuming web services from MonoTouch * Integrating iOS and .NET networking capabilities * Saving data with the ADO.NET provider to SQLite, .NET serialization, and NSUserDefaults All code samples are available for download at github.com/mikebluestein.

Create a review

About Author

Michael Bluestein is a software developer, consultant, and active participant in the MonoTouch developer community. A former Principal Software Engineer at Dassault Systemes Solidworks Corporation, he has developed software professionally since the early 1990s.


Preface xiii The Audience for This Book xiii About the Sample Code xiv Acknowledgments xv About the Author xvi Introduction 1 How This Book Is Organized 1 Chapter 1: Hello MonoTouch 1 Chapter 2: iOS SDK via MonoTouch 2 Chapter 3: Views and View Controllers 2 Chapter 4: Common iOS Classes 2 Chapter 5: Tables and Navigation 2 Chapter 6: Graphics and Animation 2 Chapter 7: Core Location 3 Chapter 8: MapKit 3 Chapter 9: Connecting to Web Services 3 Chapter 10: Networking 3 Chapter 11: Saving Application Data 3 Chapter 12: iPad Development 3 Chapter 1 Hello MonoTouch 5 Setting Up Your Environment 5 Installing the iOS SDK and Apple Developer Tools 5 Installing MonoTouch 10 Creating a MonoTouch Application 14 Creating the User Interface 14 Adding Outlets 16 Developing on the Device 24 Provisioning for Development 24 Using the MonoTouch Debugger 29 Summary 31 Chapter 2 iOS SDK via MonoTouch 33 iOS SDK Overview 33 Objective-C Versus MonoTouch By Example 35 Getting the App Started from Xcode 36 Implementing the Same Functionality with MonoTouch 41 Comparing the AppDelegate Implementations 43 Implementing UIActionSheet via Xcode 46 Implementing UIActionSheet in MonoTouch 48 How MonoTouch Works 52 Memory Management 54 Summary 56 Chapter 3 Views and View Controllers 57 Structuring a MonoTouch Application to MVC 57 Working with Views and Controllers in Interface Builder 59 Adding Functionality to a View Controller and Its View 67 Working with Multiple Views and Controllers 71 Implementing a Custom UIView 75 Summary 80 Chapter 4 Common iOS Classes 81 User Interface Views and Controls 81 UISegmentedControl 81 UISlider 85 UISwitch 88 UIPageControl and UIScrollView 89 UIActivityIndicatorView 92 UIProgressView 94 UIImageView 95 UIWebView 97 ADBannerView 100 Device Capabilities 103 MFMailComposeViewController 103 MPMediaPickerController and MPMusicPlayerController 105 Address Book 108 UIImagePickerController 111 Summary 116 Chapter 5 Tables and Navigation 117 Introduction to UITableView and UITableViewController 117 What Are Tables Used For? 117 Displaying Data in a UITableView 119 UITableViewCell Parts and Styles 125 Using Tables and Navigation 128 Additional UITableView Customizations 144 Customizing Tables Further with Custom Cells 144 Adding Multiple Sections 148 MonoTouch.Dialog 153 Summary 155 Chapter 6 Graphics and Animation 157 Core Graphics 157 Core Graphics Fundamentals 157 Drawing Images 165 Drawing PDFs 170 Animation 180 UIView Animation 181 Core Animation 185 Summary 194 Chapter 7 Core Location 195 Introducing Core Location 195 Standard Location Service 197 Retrieving Heading Updates 207 Significant Location Changes 209 Region Monitoring 211 Background Location 214 Summary 216 Chapter 8 MapKit 217 Introducing MapKit 217 Adding Annotations 224 Map Overlays 233 Summary 240 Chapter 9 Connecting to Web Services 241 Connecting to REST-based Web Services 241 Connecting over HTTP 241 Parsing XML Results 244 Parsing JSON Results 247 Consuming SOAP-based Web Services 248 Using a .NET 2.0 Client Proxy 248 WCF under MonoTouch 250 Using CocoaTouch HTTP Classes 251 Using NSUrlConnection and Friends 252 Summary 254 Chapter 10 Networking 255 GameKit Networking 255 Core GameKit Networking Classes 255 Using GKPeerPickerController 264 GameKit Voice Chat 268 Bonjour 272 Summary 281 Chapter 11 Saving Application Data 283 The Notes Sample Application 283 SQLite 289 Serialization 295 Settings Bundle and NSUserDefaults 297 Summary 306 Chapter 12 iPad Development 307 Porting to iPad 307 iPhone Applications with Pixel Doubling 307 Universal Applications 308 Designing for the iPad 311 UISplitViewController 312 UIPopoverController 323 Summary 326 Index 327

Product Details

  • publication date: 25/07/2011
  • ISBN13: 9780321719928
  • Format: Paperback
  • Number Of Pages: 360
  • ID: 9780321719928
  • weight: 567
  • ISBN10: 0321719921

Delivery Information

  • Saver Delivery: Yes
  • 1st Class Delivery: Yes
  • Courier Delivery: Yes
  • Store Delivery: Yes

Prices are for internet purchases only. Prices and availability in WHSmith Stores may vary significantly