A hands-on approach to iPad application development
Beginning iPad Application Development is written to help jumpstart beginning iPad developers. It covers the various topics in such a manner that you will progressively learn without being overwhelmed by the details. It adopts the philosophy that the best way to learn is by doing, hence the numerous Try It Out sections in all the chapters, which first show you how to build something and then explain how things work.
Although iPad programming is a huge topic, the aim for this book is to get you started with the fundamentals, and help you understand the underlying architecture of the SDK, and appreciate why things are done certain ways. After reading this book (and doing the exercises), you will be well equipped to tackle your next iPad programming challenge.
This book is for the beginning iPad developer who wants to start developing iPad applications using the Apple iPhone SDK. To truly benefit from this book, you should have some background in programming and at least be familiar with object-oriented programming concepts. If you are totally new to the Objective-C language, you might want to jump straight to Appendix D, which provides an overview of the language. Alternatively, you can use Appendix D as a quick reference while you tackle the various chapters, checking out the syntax as you try the exercises. Depending on your learning pattern, one of those approaches may work best for you.
What This Book Covers
This book covers the fundamentals of iPad programming using the iPhone SDK. It is divided into 18 chapters and four appendices.
Chapter 1: Getting Started with iPad Programming covers the various tools found in the iPhone SDK and explains their uses in iPad development.
Chapter 2: Write Your First Hello World! Application gets you started with Xcode and Interface Builder to build a Hello World application. The focus is on getting your hands dirty. More details on the various parts and components are covered in subsequent chapters.
Chapter 3: Views, Outlets, and Actions covers the fundamental concepts of iPad programming: outlets and actions. You learn how outlets and actions allow your code to interact with the visual elements in Interface Builder and why they are an integral part of every iPad application. You will also learn about the various UI widgets known as views that make up the user interface of your iPad application.
Chapter 4: View Controllers discusses the various view controllers available in the iPhone SDK. You will learn how to develop different types of iPad applications – View-based, Window-based, Split View-based, as well as Tab Bar applications.
Chapter 5: Keyboard Inputs shows you how to deal with the virtual keyboard in your iPad. You see how to hide the keyboard on demand and how to ensure that your views are not blocked by the keyboard when it is displayed.
Chapter 6: Screen Rotations demonstrates how you can reorient your application’s UI when the device is rotated. You learn about the various events that are fired when the device is rotated. You also learn how to force your application to display in a certain orientation.
Chapter 7: Using the Table View explores one of the most powerful views in the iPhone SDK – the Table view. The Table view is commonly used to display rows of data. In this chapter, you also learn how to implement search capabilities in your Table view.
Chapter 8: Application Preferences discusses the use of application settings to persist application preferences. Using application settings, you can access preferences related to your application through the Settings application available on the iPad.
Chapter 9: File Handling shows how you can persist your application data by saving the data to files in your application’s sandbox directory. You also learn how to access the various folders available in your application sandbox.
Chapter 10: Database Storage Using SQLLite3 covers the use of the embedded SQLite3 database library to store your data.
Chapter 11: Simple Animations provides an overview of the various techniques you can use to implement simple animations on the iPad. You also learn about the various affine transformations supported by the iPhone SDK.
Chapter 12: Gesture Recognizers provides an overview of the various gesture recognizers available in the iPhone SDK to help your device interpret user’s input gestures.
Chapter 13: Accessing the Accelerometer shows how you can access the accelerometer that comes with every iPad. You will also learn how to detect shakes to your device.
Chapter 14: Web Services teaches you how to consume Web services from within your iPad application. You will learn the various ways to communicate with Web services – SOAP, HTTP GET, and HTTP POST. You will also learn how to parse the returning XML result returned by the Web service.
Chapter 15: Bluetooth Programming explores the use of the Game Kit framework for Bluetooth programming. You will learn how to get two iPads to communicate using a Bluetooth connection. You will also learn how to implement voice chatting over a Bluetooth connection.
Chapter 16: Bonjour Programming shows how you can publish services on the network using the Bonjour protocol.
Chapter 17: Apple Push Notification Services explains how you can implement applications that use push notifications. The APNs allows your applications to constantly receive status updates from a service provider even though the application may not be running.
Chapter 18: Displaying Maps shows how to build location-based services application using the Map Kit framework. You will also learn how to obtain geographical locations data and use them to display a map.
Appendix A: Answers to Exercises contains the solutions to the end-of-chapter exercises found in every chapter except Chapter 1.
Appendix B: Getting Around in Xcode provides a quick run-through of the many features in Xcode.
Appendix C: Getting Around in Interface Builder provides an overview of the many features of Interface Builder.
Appendix D: Crash Course in Objective-C provides a crash course in Objective-C. Readers who are new to this language should read this chapter before getting started.