×

Uh-oh, it looks like your Internet Explorer is out of date.

For a better shopping experience, please upgrade now.

Learning MonoTouch: A Hands-On Guide to Building iOS Applications with C# and .NET / Edition 1
     

Learning MonoTouch: A Hands-On Guide to Building iOS Applications with C# and .NET / Edition 1

by Michael Bluestein
 

See All Formats & Editions

ISBN-10: 0321719921

ISBN-13: 9780321719928

Pub. Date: 08/08/2011

Publisher: Addison-Wesley

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

Overview

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.

Product Details

ISBN-13:
9780321719928
Publisher:
Addison-Wesley
Publication date:
08/08/2011
Series:
Learning Series
Pages:
360
Product dimensions:
7.00(w) x 8.90(h) x 0.90(d)

Table of Contents

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

Customer Reviews

Average Review:

Post to your social network

     

Most Helpful Customer Reviews

See all customer reviews