Professional iPhone Programming with MonoTouch and .NET/C#ISBN: 978-0-470-63782-1
Paperback
384 pages
July 2010
This title is out-of-print and not currently available for purchase from this site.
|
FOREWORD xxi
INTRODUCTION xxiii
CHAPTER 1: INTRODUCTION TO IPHONE DEVELOPMENT WITH MONOTOUCH FOR C# DEVELOPERS 1
Product Comparison 2
.NET Framework 2
Mono 2
MonoTouch 3
MonoDevelop 5
iPhone 5
Mobile Development 7
Apple iPhone SDK Tools 8
Tools 8
Licensing 9
Summary 9
CHAPTER 2: INTRODUCTION TO MONOTOUCH 11
Before You Begin Developing 11
The Components of MonoTouch 12
What Is Mono? 12
Namespaces and Classes of MonoTouch 13
Working with MonoDevelop 16
Using Interface Builder 19
Working with Library Controls 20
Setting Up Outlets 22
Setting Up Actions 24
Hello World with Interface Builder 25
Hello World in Code 28
Debugging 30
On the Simulator 30
On the Device 30
Understanding the Linker 31
Deploying Your Application 32
Summary 33
CHAPTER 3: PLANNING YOUR APP’S UI: EXPLORING THE SCREEN CONTROLS 35
Creating iPhone(y) UI and Application Interaction Patterns 35
Command Interfaces 36
Radio Interfaces 37
Navigation Interfaces 37
Modal Interfaces 38
Combination Interfaces 38
UILabel 39
UIButton 40
UITextField 42
UISwitch 43
UISlider 44
UIActivityIndicatorView 44
UISegmentedControl 45
UIPageControl 46
Summary 46
CHAPTER 4: DATA CONTROLS 49
Windows and Views 50
UIWindow 51
UIView 52
Data View Controls 52
UIWebView 52
UIScrollView 58
UITextView 61
UIPickerView 65
UIDatePicker 69
Controllers and Bars 71
UIViewController 72
UIToolbar 73
UITabBarController 76
UINavigationController 82
Summary 85
CHAPTER 5: WORKING WITH DATA ON THE IPHONE 87
Working with SQLite 87
Using Mono.Data.Sqlite 88
Setting Up a Database 88
Setting Up Tables 89
Using SQL Statements 90
Upgrading Strategies 92
Working with Remote Data 93
Using SOAP 94
Using REST-Based Web Services 98
Retrieving Data 99
Posting Data with POST 104
Using Web Services Responsibly 106
Summary 106
CHAPTER 6: DISPLAYING DATA USING TABLES 107
Displaying Data in a Table 109
Selecting a Cell 111
Changing the Cell Layout 113
Presenting Grouped Data 114
Adding an Index 118
Grouped Table Style 119
Customizing the Cell Layout 120
Navigating with Tables 123
Using UINavigationController 123
Implementing a Second Level of Navigation 126
Creating Static Row Content 127
Editing Table Rows 130
Adding Swipe to Delete 130
Enabling Edit “Mode” 131
Re-Ordering Cells 132
Creating an Insert Icon 133
Adding New Rows 134
Adding a Search Bar to a Table 136
Enabling the Search Bar 137
Customizing Search Appearance 140
Summary 140
CHAPTER 7: MAPPING 141
Map Basics 142
Introducing MapKit 142
Introducing CoreLocation 142
Using CoreLocation 145
Determining Device Location 145
Tracking Device Movement 150
Using MapKit 154
Showing a Map 156
Annotating the Map 158
Using the Geocoding Feature 167
Summary 172
CHAPTER 8: APPLICATION SETTINGS 173
Exploring the Info.plist 173
UIStatusBarHidden 174
UIInterfaceOrientation 175
UIRequiresPersistentWiFi 175
UIPrerenderedIcon 175
Peeking in the Settings Bundle 175
The Settings Application 176
Adding Your App to the Settings Application 176
Reading Your Settings 188
Updating Your Settings 189
Summary 189
CHAPTER 9: PROGRAMMING WITH DEVICE HARDWARE 191
Responding to Acceleration 192
Accelerometer 192
Using the XYZ Coordinate System 192
Coding with the Accelerometer 193
Using Acceleration for UI Input 194
Determining Device Orientation 196
Beginning Notification 196
Determining Static Device Orientation 196
Determining Event-Based Orientation 197
Reading the Proximity Sensor 198
Networking 199
Taking Battery Life into Account 200
Determining the Static Battery State 200
Using Battery Change Events 201
Accessing System Information 201
Mobile Development 202
Summary 202
CHAPTER 10: PROGRAMMING WITH MULTIMEDIA 203
Images 203
Displaying Images 203
Picking an Image 206
Handling a Picked Image 208
Creating an Image from the Camera 209
Editing an Image 210
Customizing the Camera 211
Saving an Image to the Photo Album 212
Video 213
Playing a Video 213
Customizing the Video Player 215
Picking a Video 218
Recording Video 219
Editing a Video 221
Saving a Video to the Saved Photo Album 222
Audio 223
Playing Audio 223
Recording Audio 225
Animation 227
Creating Basic Animation 227
Using UIView Animations 229
Summary 231
CHAPTER 11: TALKING TO OTHER APPLICATIONS 233
Integrating Apple Applications 233
Opening Up Safari 233
Opening Up E-Mail 234
Making a Telephone Call 234
Sending a Text/SMS Message 235
Opening a Location in the Maps Application 235
Opening a YouTube Video 235
Opening Up the iTunes Store and the App Store 236
Third-Party Application Integration 236
Simple Integration with Google Earth 236
Further Integration with Skype 237
Accepting Calls from Other Applications 237
Configuring Your Info.plist File 238
Implementing an OpenURL Schema 240
Integrating with the Address Book 240
ABPersonViewController 242
ABPeoplePickerNavigationController 243
ABNewPersonViewController 244
ABUnknownPersonViewController 245
Handling the Selection of Properties 247
Integrating with iPod Music Collections 248
Interfacing with Objective-C 252
MonoTouch.Foundation 252
MonoTouch.ObjCRuntime 253
Automatic Binding to Objective-C with btouch 253
Summary 257
CHAPTER 12: LOCALIZING FOR AN INTERNATIONAL AUDIENCE 259
Internationalizing an Application 261
Changing Language and Region Settings 261
Displaying Multiple Languages 263
Showing Translated Text 265
Displaying Images 269
Localizing App Icon and Name 271
Displaying “Double Byte” Characters 271
Formatting Dates, Times, Numbers and Currency 272
Managing Localized.strings in Real-World Applications 274
genstrings 274
ngenstrings 274
Summary 276
CHAPTER 13: PROGRAMMING THE IPAD 277
The iPad Device 277
What Makes an iPad Application? 279
Device Orientation Support 280
Startup Images 282
New iPad Features 284
Using UISplitViewController 284
Creating a Custom UIPopover 288
Displaying Modal Views 291
Recognizing Gestures 292
Building a Universal App 296
Summary 302
CHAPTER 14: JUST ENOUGH OBJECTIVE-C 303
How to Use This Chapter 304
A Brief Look at Objective-C and Cocoa 305
Academic Versus Pragmatic Approaches 307
Basic Syntax and Concepts 308
Initialization 309
Messages and Methods 311
Memory Management 313
Cheat Sheets 314
Terminology 314
Compiler Directives 316
Data Types 319
Summary 320
CHAPTER 15: THE APP STORE: SUBMITTING AND MARKETING YOUR APP 321
Using an Ad-Hoc Build for Presubmission Testing 321
Getting a UDID from Your Testers 322
Making Ad-Hoc Provisioning Profiles 324
Building an Ad-Hoc Version of Your App 325
Packaging Your Ad-Hoc Build 326
Prepping for Submission 329
Building a Distribution Version of Your App 329
Adding a New Configuration for Distribution 329
Changing the Signing Options for the Configuration 330
Reviewing Bundle Settings 330
Building the Project 330
Presubmission Checklist 330
Submitting via iTunes Connect 331
Promoting Your App 333
Supporting Your App Promotion 333
Key App Promotion Techniques 334
Summary 337
INDEX 339