INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011
|
|
|
- Rafe Harris
- 10 years ago
- Views:
Transcription
1 INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011 1
2 Goals of the Lecture Present an introduction to Objective-C 2.0 Coverage of the language will be INCOMPLETE We ll see the basics there is a lot more to learn There is a nice Objective-C tutorial located here: 2
3 History (I) Brad Cox created Objective-C in the early 1980s It was his attempt to add object-oriented programming concepts to the C programming language NeXT Computer licensed the language in 1988; it was used to develop the NeXTSTEP operating system, programming libraries and applications for NeXT In 1993, NeXT worked with Sun to create OpenStep, an open specification of NeXTSTEP on Sun hardware 3
4 History (II) In 1997, Apple purchased NeXT and transformed NeXTSTEP into MacOS X which was first released in the summer of 2000 Objective-C has been one of the primary ways to develop applications for MacOS for the past 11 years In 2008, it became the primary way to develop applications for ios targeting (currently) the iphone and the ipad and (soon, I m guessing) the Apple TV 4
5 Objective-C is C plus Objects (I) Objective-C makes a small set of extensions to C which turn it into an object-oriented language It is used with two object-oriented frameworks The Foundation framework contains classes for basic concepts such as strings, arrays and other data structures and provides classes to interact with the underlying operating system The AppKit contains classes for developing applications and for creating windows, buttons and other widgets 5
6 Objective-C is C plus Objects (II) Together, Foundation and AppKit are called Cocoa On ios, AppKit is replaced by UIKit Foundation and UIKit are called Cocoa Touch In this lecture, we focus on the Objective-C language, we ll see a few examples of the Foundation framework we ll see examples of UIKit in Lecture 13 6
7 C Skills? Highly relevant Since Objective-C is C plus objects any skills you have in the C language directly apply statements, data types, structs, functions, etc. What the OO additions do, is reduce your need on structs, malloc, dealloc and the like and enable all of the object-oriented concepts we ve been discussing Objective-C and C code otherwise freely intermix 7
8 Development Tools (I) Apple s XCode is used to develop in Objective-C Behind the scenes, XCode makes use of either gcc or Apple s own LLVM to compile Objective-C programs The latest version of Xcode, Xcode 4, has integrated functionality that previously existed in a separate application, known as Interface Builder We ll see examples of that integration next week 8
9 Development Tools (II) XCode is available on the Mac App Store It is free for users of OS X Lion Otherwise, I believe it costs $5 for previous versions of OS X Clicking Install in the App Store downloads a program called Install XCode. You then run that program to get XCode installed 9
10 Hello World As is traditional, let s look at our first objective-c program via the traditional Hello World example To create it, we launch XCode and create a New Project select Application under the MacOS X select Command Line Tool on the right (click Next) select Foundation and type Hello World (click Next) select a directory, select checkbox for git (click Finish) 10
11 Step One 11
12 Step Two 12
13 Step Two 13
14 Similar to what we saw with Eclipse, XCode creates a default project for us; There are folders for this program s source code (.m and.h files), frameworks, and products (the application itself) Note: the Foundation framework is front and center and HelloWorld is shown in red because it hasn t been created yet 14
15 Exciting, isn t it? The template is ready to run; clicking Build and Run brings up a console that shows Hello, World! being displayed; One interesting thing to note is that the program is being run by gdb You can hide gdb s output by switching the pop-up menu in the upper left to Target Output 15
16 The resulting project structure on disk does not map completely to what is shown in Xcode; The source file, man page, and pre-compiled header file are all stored in a sub-directory of the main directory. The project file HelloWorld.xcodeproj is stored in the main directory. It is the file that keeps track of all project settings and the location of project files. XCode project directories are a lot simpler now that files generated during a build are stored elsewhere. 16
17 Where is the actual application? After you ran the application, HelloWorld switched from being displayed in red to being displayed in black You can right click on HelloWorld and select Show in Finder to see where XCode placed the actual executable By default, XCode creates a directory for your project in ~/Library/Developer/XCode/DerivedData For HelloWorld, XCode generated 20 directories containing 31 files! 17
18 Why so many files and directories? In addition to the actual results of compiling the source code, XCode stores in DerviedData Logs and Indexes (for code autocomplete feature) Build information, including.o files, precompiled headers, debug information, etc. The actual executable was located at ~/Library/Developer/Xcode/DerivedData/HelloWorlddotwnmcnqdjnnigmgnesuacnsxfh/Build/Products/Debug 18
19 The resulting executable can be executed from the command line, fulfilling the promise that we were creating a command-line tool As you can see, most of the text on Slide 15 was generated by gdb our command line tool doesn t do much but say hi to the world. Note the :43: HelloWorld[4900:707] is generated by a function called NSLog() as we ll see next 19
20 Objective-C programs start with a function called main, just like C programs; #import is similar to C s #include except it ensures that header files are only included once and only once Ignore the NSAutoreleasePool stuff for now Thus our program calls a function, NSLog, and returns 0 The blue arrow indicates that a breakpoint has been set; gdb will stop execution on line 7 the next time we run the program 20
21 gdb is integrated into XCode; here gdb is stopped at our breakpoint; this is XCode 3, XCode 4 looks similar 21
22 Let s add objects Note: This example comes from Learning Objective-C 2.0: A Hands-On Guide to Objective-C for Mac and ios Developers written by Robert Clair It is an excellent book that I highly recommend His review of the C language is an excellent bonus to the content on Objective-C itself We re going to create an Objective-C class called Greeter to make this HelloWorld program a bit more objectoriented 22
23 First, we are going to add a class Select File New File In the resulting Dialog (see next three slides) Select Cocoa Class under Mac OS X Select Objective-C class (click Next) Select NSObject as your superclass (click Next) Name file Greeter.m add to HelloWorld Group and HelloWorld Target. (Click Save.) 23
24 Step One 24
25 Step Two 25
26 Step Three 26
27 Greeter.h and Greeter.m are added to our project. (Note: the A next to their names is a git annotation meaning that git has detected that two new files are ready to be added to the repository.) Greeter.m is shown with a default constructor. 27
28 Objective-C classes Classes in Objective-C are defined in two files A header file which defines the attributes and method signatures of the class An implementation file (.m) that provides the method bodies 28
29 Header Files The header file of an Objective-C class traditionally has the following structure <import <classname> : <superclass name> { } <attribute definitions> <method signature 29
30 Header Files With Objective-C 2.0, the structure has changed to the following (the previous structure is still supported) <import <classname> : <superclass name> <property definitions> <method signature 30
31 What s the difference? In Objective-C 2.0, the need for defining the attributes of a class has been greatly reduced due to the addition of properties When you declare a property, you automatically get an attribute (instance variable) a getter method and a setter method synthesized (automatically added) for you 31
32 New Style In this class, I ll be using the new style promoted by Objective-C 2.0 Occasionally we may run into code that uses the old style, I ll explain the old style when we encounter it 32
33 Objective-C additions to C (I) Besides the very useful #import, the best way to spot an addition to C by Objective-C is the presence of this 33
34 Objective-C additions to C (II) In header files, the two key additions from Objective-C @interface is used to define a new objective-c class As we saw, you provide the class name and its superclass; Objective-C is a single inheritance does what it says, ending compiler directive 34
35 Greeter s interface (I) 35
36 We ve added one property: It s called greetingtext. Its type is NSString* which means pointer to an instance of NSString We ve also added one method called greet. It takes no parameters and its return type is void. (By the way, NS stands for NeXTSTEP! NeXT lives on!) 36
37 Objective-C Properties (I) An Objective-C property helps to define the public interface of an Objective-C class It defines an instance variable, a getter and a setter all in one (nonatomic, copy) NSString* greetingtext nonatomic tells the runtime that this property will never be accessed by more than one thread (use atomic otherwise) copy is related to memory management and will be discussed later 37
38 Objective-C Properties (nonatomic, copy) NSString* greetingtext After the property attributes (in this case nonatomic and copy), the type of the property is specified and finally the property s name A property can be of any C or Objective-C type, although they are primarily used with Objective-C classes and (sometimes) primitive types such as int, long, and the like 38
39 Objective-C Properties (nonatomic, copy) NSString* greetingtext If you have an instance of Greeter Greeter* ken = [[Greeter alloc] init]; You can assign the property using dot notation ken.greetingtext Say Hello, Ken ; You can retrieve the property also using dot notation NSString* whatsthegreeting = ken.greetingtext; 39
40 Objective-C Properties (IV) Dot notation is simply syntactic sugar for calling the automatically generated getter and setter methods NSString* whatsthegreeting = ken.greetingtext; is equivalent to NSString* whatsthegreeting = [ken greetingtext]; The above is a call to a method that is defined as - (NSString*) greetingtext; 40
41 Objective-C Properties (V) Dot notation is simply syntactic sugar for calling the automatically generated getter and setter methods ken.greetingtext Say Hello, Ken ; is equivalent to [ken setgreetingtext:@ Say Hello, Ken ]; The above is a call to a method that is defined as - (void) setgreetingtext:(nsstring*) newtext; 41
42 Objective-C Methods (I) It takes a while to get use to Object-C method signatures - (void) setgreetingtext: (NSString*) newtext; defines an instance method (-) called setgreetingtext: The colon signifies that the method has one parameter and is PART OF THE METHOD NAME newtext of type (NSString*) The names setgreetingtext: and setgreetingtext refer to TWO different methods; the former has one parameter 42
43 Objective-C Methods (II) A method with multiple parameters will have multiple colon characters and the parameter defs are interspersed with the method name - (void) setstrokecolor: (NSColor*) strokecolor andfillcolor: (NSColor*) fillcolor; The above signature defines a method with two parameters called setstrokecolor:andfillcolor: 43
44 NSString * and NSColor * We ve now seen examples of types NSString * and NSColor * What does this mean? The * in C means pointer Thus, this can be read as pointer to <class> it simply means an instance has been allocated and we have a pointer to the instance 44
45 Let s implement the method bodies The implementation file of a class looks like this <import statements> <optional class <classname> <method body Let s ignore the optional class extension part for now 45
46 Greeter s implementation 46
47 @synthesize is used to actually create the instance variable, setter and getter of a property. In this case, we are asking that the instance variable for the property greetingtext be called _greetingtext. This allows us to be certain when we are accessing the property in the.m file and when we are accessing 47
48 init is the constructor. It calls init on the superclass and makes sure we got an allocated object. If so, we initialize our property to a proper value. If the call to init on the superclass fails it returns nil which is what we then return 48
49 Here is the implementation of our greet method. It simply prints our greetingtext to standard out using the NSLog() function. NSLog() is similar to C s printf(). It can take any number of arguments, one for each placeholder in its format string. %@ means object ; %s, %d, etc. also supported 49
50 Note: we do not access our property in dealloc; there are situations where the property mechanism may not work in the dealloc method Finally, dealloc is the destructor of the class. Unlike finalize() in Java, dealloc is guaranteed to be called when an instance of Greeter is deallocated. Here we access our instance variable directly and tell it to go away. We then call dealloc on the super class 50
51 Note: we do NOT define method bodies for greetingtext and setgreetingtext: The getter and setter methods are automatically generated. We don t need to implement them. Note: We could override them if we needed to. 51
52 But first, calling methods (I) The method invocation syntax of Objective-C is [object method:arg1 method:arg2 ]; Method calls are enclosed by square brackets Inside the brackets, you list the object being called Then the method with any arguments for the methods parameters 52
53 But first, calling methods (II) Here s a call using Greeter s setter Howdy! is a shorthand syntax for creating an NSString instance [greeter Howdy! ]; Here s a call to the same method where we get the greeting from some other Greeter object [greeterone setgreetingtext:[greetertwo greetingtext]]; Above we nested one call inside another; now a call with multiple args [rectangle setstrokecolor: [NSColor red] andfillcolor: [NSColor green]]; 53
54 Memory Management (I) Memory management of Objective-C objects involves the use of six methods alloc, init, dealloc, retain, release, autorelease Objects are created using alloc and init We then keep track of who is using an object with retain and release We get rid of an object with dealloc (although, we never call dealloc ourselves) 54
55 Memory Management (II) When an object is created, its retain count is set to 1 It is assumed that the creator is referencing the object that was just created If another object wants to reference it, it calls retain to increase the reference count by 1 When it is done, it calls release to decrease the reference count by 1 If an object s reference count goes to zero, the runtime system automatically calls dealloc 55
56 Memory Management (III) I won t talk about autorelease today, we ll see it in action soon Objective-C 2.0 added a garbage collector to the language When garbage collection is turned on, retain, release, and autorelease become no-ops, doing nothing However, the garbage collector is not available when running on ios, so the use of retain and release are still with us Apple recently released automatic reference counting which may make all of this go away (including the garbage collector) 56
57 Memory Management (IV) - (void) setgreetingtext: (NSString *) newtext { } [newtext retain]; [_greetingtext release]; _greetingtext = newtext; In a typical auto-generated setter method, the following memory management dance occurs: retain the new value, release the old, set our instance variable to point at the new value 57
58 Memory Management (IV) - (void) setgreetingtext: (NSString *) newtext { } [newtext retain]; [_greetingtext release]; _greetingtext = newtext; We perform this dance in this order because there is a slight chance that _greetingtext == newtext If so, if we called release first, we would deallocate our instance variable with no way of getting its value back! 58
59 The dealloc method - (void) dealloc { } [_greetingtext release]; [super dealloc]; The dealloc method releases the NSString that we are pointing at with our automatically generated instance variable and then invokes the dealloc method of our superclass We ve now seen examples of the self and super keywords 59
60 A new main method We now need a new version of main to make use of our new Greeter class We ll import its header file We ll instantiate an instance of the class We ll set its greeting text We ll call its greet method We ll release it 60
61 As you can see, we create an instance of Greeter. We then set its greetingtext property, invoke the greet method, and release our instance of mygreeter. Since we were the only ones pointing at our instance of Greeter, its dealloc method is automatically called. This in turn releases the string pointed at by our greetingtext property. 61
62 Some things not (yet) discussed Objective-C has a few additions to C not yet discussed The type id: id is defined as a pointer to an object id icanpointatastring Hello ; Note: no need for an asterisk in this case The keyword nil: nil is a pointer to no object It is similar to Java s null The type BOOL: BOOL is a boolean type with values YES and NO; used throughout the Cocoa frameworks 62
63 Wrapping Up (I) Basic introduction to Objective-C main methods class and method definition and implementation method calling syntax creation of objects and memory management More to come as we use this knowledge to explore the ios platform in future lectures 63
64 Coming Up Next Homework 4 Due on Monday Lecture 13: Introduction to ios Lecture 14: Review for Midterm Lecture 15: Midterm Lecture 16: Review of Midterm 64
INTRODUCTION TO IOS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 13 02/22/2011
INTRODUCTION TO IOS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 13 02/22/2011 1 Goals of the Lecture Present an introduction to ios Program Coverage of the language will be INCOMPLETE We
iphone Objective-C Exercises
iphone Objective-C Exercises About These Exercises The only prerequisite for these exercises is an eagerness to learn. While it helps to have a background in object-oriented programming, that is not a
ios Development Tutorial Nikhil Yadav CSE 40816/60816: Pervasive Health 09/09/2011
ios Development Tutorial Nikhil Yadav CSE 40816/60816: Pervasive Health 09/09/2011 Healthcare iphone apps Various apps for the iphone available Diagnostic, Diet and Nutrition, Fitness, Emotional Well-being
ios Dev Crib Sheet In the Shadow of C
ios Dev Crib Sheet As you dive into the deep end of the ios development pool, the first thing to remember is that the mother ship holds the authoritative documentation for this endeavor http://developer.apple.com/ios
Xcode Project Management Guide. (Legacy)
Xcode Project Management Guide (Legacy) Contents Introduction 10 Organization of This Document 10 See Also 11 Part I: Project Organization 12 Overview of an Xcode Project 13 Components of an Xcode Project
Objective C and iphone App
Objective C and iphone App 6 Months Course Description: Understanding the Objective-C programming language is critical to becoming a successful iphone developer. This class is designed to teach you a solid
Assignment I Walkthrough
Assignment I Walkthrough Objective Reproduce the demonstration (building a calculator) given in class. Goals 1. Downloading and installing the ios4 SDK. 2. Creating a new project in Xcode. 3. Defining
An Introduction to Modern Software Development Tools Creating A Simple GUI-Based Tool Appleʼs XCode Version 3.2.6
1 2 3 4 An Introduction to Modern Software Development Tools Creating A Simple GUI-Based Tool Appleʼs XCode Version 3.2.6 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Charles J. Ammon / Penn State August, 2011
Creating a Custom Class in Xcode
Creating a Custom Class in Xcode By Mark Mudri March 28, 2014 Executive Summary: Making an ios application requires the use of Xcode, an integrated development environment (IDE) developed by Apple. Within
Praktikum Entwicklung von Mediensystemen mit
Praktikum Entwicklung von Mediensystemen mit Wintersemester 2013/2014 Christian Weiß, Dr. Alexander De Luca Today Organization Introduction to ios programming Hello World Assignment 1 2 Organization 6
MA-WA1920: Enterprise iphone and ipad Programming
MA-WA1920: Enterprise iphone and ipad Programming Description This 5 day iphone training course teaches application development for the ios platform. It covers iphone, ipad and ipod Touch devices. This
Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system.
Chapter 1 Introduction to ios Development Objectives: Touch on the history of ios and the devices that support this operating system. Understand the different types of Apple Developer accounts. Introduce
ios Dev Fest Research Network Operations Center Thursday, February 7, 13
ios Dev Fest Research Network Operations Center Outline http://goo.gl/02blw Getting Started With App Development Setup Developer Environment Setup Certificates and Provisioning Deploying App To Device
Building Mobile Applications Creating ios applications with jquery Mobile, PhoneGap, and Drupal 7
Building Mobile Applications Creating ios applications with jquery Mobile, PhoneGap, and Drupal 7 Jeff Linwood 1st Chapter, Early Release Introduction... 3 Prerequisites... 3 Introduction to Mobile Apps...
Project Builder for Java. (Legacy)
Project Builder for Java (Legacy) Contents Introduction to Project Builder for Java 8 Organization of This Document 8 See Also 9 Application Development 10 The Tool Template 12 The Swing Application Template
Object Oriented Programming and the Objective-C Programming Language 1.0. (Retired Document)
Object Oriented Programming and the Objective-C Programming Language 1.0 (Retired Document) Contents Introduction to The Objective-C Programming Language 1.0 7 Who Should Read This Document 7 Organization
Using Karel with Eclipse
Mehran Sahami Handout #6 CS 106A September 23, 2015 Using Karel with Eclipse Based on a handout by Eric Roberts Once you have downloaded a copy of Eclipse as described in Handout #5, your next task is
Code::Blocks Student Manual
Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of
MEAP Edition Manning Early Access Program Hello! ios Development version 14
MEAP Edition Manning Early Access Program Hello! ios Development version 14 Copyright 2013 Manning Publications For more information on this and other Manning titles go to www.manning.com brief contents
Objective-C and Cocoa User Guide and Reference Manual. Version 5.0
Objective-C and Cocoa User Guide and Reference Manual Version 5.0 Copyright and Trademarks LispWorks Objective-C and Cocoa Interface User Guide and Reference Manual Version 5.0 March 2006 Copyright 2006
This documentation is made available before final release and is subject to change without notice and comes with no warranty express or implied.
Hyperloop for ios Programming Guide This documentation is made available before final release and is subject to change without notice and comes with no warranty express or implied. Requirements You ll
ios App Development for Everyone
ios App Development for Everyone Kevin McNeish Table of Contents Chapter 2 Objective C (Part 6) Referencing Classes Now you re ready to use the Calculator class in the App. Up to this point, each time
Xcode User Default Reference. (Legacy)
Xcode User Default Reference (Legacy) Contents Introduction 5 Organization of This Document 5 Software Version 5 See Also 5 Xcode User Defaults 7 Xcode User Default Overview 7 General User Defaults 8 NSDragAndDropTextDelay
Eclipse with Mac OSX Getting Started Selecting Your Workspace. Creating a Project.
Eclipse with Mac OSX Java developers have quickly made Eclipse one of the most popular Java coding tools on Mac OS X. But although Eclipse is a comfortable tool to use every day once you know it, it is
Moving from CS 61A Scheme to CS 61B Java
Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you
ios Application Development &
Introduction of ios Application Development & Swift Programming Language Presented by Chii Chang [email protected] Outlines Basic understanding about ios App Development Development environment: Xcode IDE Foundations
INTRODUCTION TO ANDROID CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 11 02/15/2011
INTRODUCTION TO ANDROID CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 11 02/15/2011 1 Goals of the Lecture Present an introduction to the Android Framework Coverage of the framework will be
Version Control with Subversion and Xcode
Version Control with Subversion and Xcode Author: Mark Szymczyk Last Update: June 21, 2006 This article shows you how to place your source code files under version control using Subversion and Xcode. By
C++ INTERVIEW QUESTIONS
C++ INTERVIEW QUESTIONS http://www.tutorialspoint.com/cplusplus/cpp_interview_questions.htm Copyright tutorialspoint.com Dear readers, these C++ Interview Questions have been designed specially to get
Using the Caché Objective-C Binding
Using the Caché Objective-C Binding Version 2014.1 25 March 2014 InterSystems Corporation 1 Memorial Drive Cambridge MA 02142 www.intersystems.com Using the Caché Objective-C Binding Caché Version 2014.1
Installing Java 5.0 and Eclipse on Mac OS X
Installing Java 5.0 and Eclipse on Mac OS X This page tells you how to download Java 5.0 and Eclipse for Mac OS X. If you need help, Blitz [email protected]. You must be running Mac OS 10.4 or later
Chapter 1: Getting Started
Chapter 1: Getting Started Every journey begins with a single step, and in ours it's getting to the point where you can compile, link, run, and debug C++ programs. This depends on what operating system
10 STEPS TO YOUR FIRST QNX PROGRAM. QUICKSTART GUIDE Second Edition
10 STEPS TO YOUR FIRST QNX PROGRAM QUICKSTART GUIDE Second Edition QNX QUICKSTART GUIDE A guide to help you install and configure the QNX Momentics tools and the QNX Neutrino operating system, so you can
How to get the most out of Windows 10 File Explorer
How to get the most out of Windows 10 File Explorer 2 Contents 04 The File Explorer Ribbon: A handy tool (once you get used to it) 08 Gain a new perspective with the Group By command 13 Zero in on the
Introducing Xcode Source Control
APPENDIX A Introducing Xcode Source Control What You ll Learn in This Appendix: u The source control features offered in Xcode u The language of source control systems u How to connect to remote Subversion
Programming with the Dev C++ IDE
Programming with the Dev C++ IDE 1 Introduction to the IDE Dev-C++ is a full-featured Integrated Development Environment (IDE) for the C/C++ programming language. As similar IDEs, it offers to the programmer
Generate Android App
Generate Android App This paper describes how someone with no programming experience can generate an Android application in minutes without writing any code. The application, also called an APK file can
Your First App Store Submission
Your First App Store Submission Contents About Your First App Store Submission 4 At a Glance 5 Enroll in the Program 5 Provision Devices 5 Create an App Record in itunes Connect 5 Submit the App 6 Solve
Fundamentals of Java Programming
Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors
Java Application Developer Certificate Program Competencies
Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle
Lecture 1 Introduction to Android
These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy
6.1. Example: A Tip Calculator 6-1
Chapter 6. Transition to Java Not all programming languages are created equal. Each is designed by its creator to achieve a particular purpose, which can range from highly focused languages designed for
TIPS FOR USING OS X 10.8 MOUNTAIN LION
Mac OS X Tutorial 10.8 Mountain Lion 1 TIPS FOR USING OS X 10.8 MOUNTAIN LION LAUNCHPAD Launchpad is an application launcher first introduced in OS X 10.7 Lion and improved upon in Mountain Lion. Launchpad
1 Using the JavaConverter
1 The JavaConverter is a command line tool that performs automatic conversion of any Objective-C or WebScript source code to pure Java code. This can be done file by file or at the project level for any
Introduction to Programming with Xojo
Introduction to Programming with Xojo IOS ADDENDUM BY BRAD RHINE Fall 2015 Edition Copyright 2013-2015 by Xojo, Inc. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike
ios App for Mobile Website! Documentation!
ios App for Mobile Website Documentation What is IOS App for Mobile Website? IOS App for Mobile Website allows you to run any website inside it and if that website is responsive or mobile compatible, you
Install Java Development Kit (JDK) 1.8 http://www.oracle.com/technetwork/java/javase/downloads/index.html
CS 259: Data Structures with Java Hello World with the IntelliJ IDE Instructor: Joel Castellanos e-mail: joel.unm.edu Web: http://cs.unm.edu/~joel/ Office: Farris Engineering Center 319 8/19/2015 Install
Source Code Translation
Source Code Translation Everyone who writes computer software eventually faces the requirement of converting a large code base from one programming language to another. That requirement is sometimes driven
ios App Development for Everyone
ios App Development for Everyone Kevin McNeish Getting Started Plugging into the Mother Ship Welcome! This is the part of the book where you learn how to get yourself and your computer set for App development
Vim, Emacs, and JUnit Testing. Audience: Students in CS 331 Written by: Kathleen Lockhart, CS Tutor
Vim, Emacs, and JUnit Testing Audience: Students in CS 331 Written by: Kathleen Lockhart, CS Tutor Overview Vim and Emacs are the two code editors available within the Dijkstra environment. While both
App Distribution Guide
App Distribution Guide Contents About App Distribution 10 At a Glance 11 Enroll in an Apple Developer Program to Distribute Your App 11 Generate Certificates and Register Your Devices 11 Add Store Capabilities
Introduction to iphone Development
Introduction to iphone Development Introduction to iphone Development Contents Task 1 2 3 4 Application Runtime Core Architecture and Life-cycles What s in a bundle? The resources in an app bundle Customizing
Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months
Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months Our program is a practical knowledge oriented program aimed at making innovative and attractive applications for mobile
JetBrains ReSharper 2.0 Overview Introduction ReSharper is undoubtedly the most intelligent add-in to Visual Studio.NET 2003 and 2005. It greatly increases the productivity of C# and ASP.NET developers,
Send email from your App Part 1
Send email from your App Part 1 This is a short and simple tutorial that will demonstrate how to develop an app that sends an email from within the app. Step 1: Create a Single View Application and name
Cocoa Fundamentals Guide. (Retired Document)
Cocoa Fundamentals Guide (Retired Document) Contents Introduction 10 Organization of This Document 10 See Also 11 What Is Cocoa? 12 The Cocoa Environment 12 Introducing Cocoa 12 How Cocoa Fits into OS
Assignment 1: Matchismo
Assignment 1: Matchismo Objective This assignment starts off by asking you to recreate the demonstration given in the second lecture. Not to worry, the posted slides for that lecture contain a detailed
The C Programming Language course syllabus associate level
TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming
Introduction to Eclipse
Introduction to Eclipse Overview Eclipse Background Obtaining and Installing Eclipse Creating a Workspaces / Projects Creating Classes Compiling and Running Code Debugging Code Sampling of Features Summary
Chapter 1. Xcode Projects
Chapter 1 Xcode Projects Every program you create in Xcode requires a project, even a simple command-line program with one file. Because every program requires a project, covering projects is a good way
Creating Web Services Applications with IntelliJ IDEA
Creating Web Services Applications with IntelliJ IDEA In this tutorial you will: 1. 2. 3. 4. Create IntelliJ IDEA projects for both client and server-side Web Service parts Learn how to tie them together
Samsung Xchange for Mac User Guide. Winter 2013 v2.3
Samsung Xchange for Mac User Guide Winter 2013 v2.3 Contents Welcome to Samsung Xchange IOS Desktop Client... 3 How to Install Samsung Xchange... 3 Where is it?... 4 The Dock menu... 4 The menu bar...
Android: Setup Hello, World: Android Edition. due by noon ET on Wed 2/22. Ingredients.
Android: Setup Hello, World: Android Edition due by noon ET on Wed 2/22 Ingredients. Android Development Tools Plugin for Eclipse Android Software Development Kit Eclipse Java Help. Help is available throughout
POOSL IDE Installation Manual
Embedded Systems Innovation by TNO POOSL IDE Installation Manual Tool version 3.4.1 16-7-2015 1 POOSL IDE Installation Manual 1 Installation... 4 1.1 Minimal system requirements... 4 1.2 Installing Eclipse...
How to install and use the File Sharing Outlook Plugin
How to install and use the File Sharing Outlook Plugin Thank you for purchasing Green House Data File Sharing. This guide will show you how to install and configure the Outlook Plugin on your desktop.
KITES TECHNOLOGY COURSE MODULE (C, C++, DS)
KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php [email protected] [email protected] Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL
CSCI E-65: Mobile Application Development Using Swift and ios
Page 1 of 5 OFFICIAL 25 Jan 2016 CSCI E-65: Mobile Application Development Using Swift and ios Harvard University Extension School: Spring 2016 Instructor: Daniel Bromberg [email protected] TF:
Dashcode User Guide. (Retired Document)
Dashcode User Guide (Retired Document) Contents Introduction to Dashcode User Guide 7 Who Should Read This Document? 7 Organization of This Document 7 Getting and Running Dashcode 8 Reporting Bugs 8 See
WA2099 Introduction to Java using RAD 8.0 EVALUATION ONLY. Student Labs. Web Age Solutions Inc.
WA2099 Introduction to Java using RAD 8.0 Student Labs Web Age Solutions Inc. 1 Table of Contents Lab 1 - The HelloWorld Class...3 Lab 2 - Refining The HelloWorld Class...20 Lab 3 - The Arithmetic Class...25
Contents. About Testing with Xcode 4. Quick Start 7. Testing Basics 23. Writing Test Classes and Methods 28. At a Glance 5 Prerequisites 6 See Also 6
Testing with Xcode Contents About Testing with Xcode 4 At a Glance 5 Prerequisites 6 See Also 6 Quick Start 7 Introducing the Test Navigator 7 Add Testing to Your App 11 Create a Test Target 12 Run the
Using PyObjC for Developing Cocoa Applications with Python
Search Advanced Search Log In Not a Member? Contact ADC ADC Home > Cocoa > While Cocoa applications are generally written in Objective-C, Python is a fully capable choice for application development. Python
Tutorial: Getting Started
9 Tutorial: Getting Started INFRASTRUCTURE A MAKEFILE PLAIN HELLO WORLD APERIODIC HELLO WORLD PERIODIC HELLO WORLD WATCH THOSE REAL-TIME PRIORITIES THEY ARE SERIOUS SUMMARY Getting started with a new platform
Eclipse installation, configuration and operation
Eclipse installation, configuration and operation This document aims to walk through the procedures to setup eclipse on different platforms for java programming and to load in the course libraries for
Develop a Native App (ios and Android) for a Drupal Website without Learning Objective-C or Java. Drupaldelphia 2014 By Joe Roberts
Develop a Native App (ios and Android) for a Drupal Website without Learning Objective-C or Java Drupaldelphia 2014 By Joe Roberts Agenda What is DrupalGap and PhoneGap? How to setup your Drupal website
Glossary of Object Oriented Terms
Appendix E Glossary of Object Oriented Terms abstract class: A class primarily intended to define an instance, but can not be instantiated without additional methods. abstract data type: An abstraction
Installing Java. Table of contents
Table of contents 1 Jargon...3 2 Introduction...4 3 How to install the JDK...4 3.1 Microsoft Windows 95... 4 3.1.1 Installing the JDK... 4 3.1.2 Setting the Path Variable...5 3.2 Microsoft Windows 98...
Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v 6. 4. 10 Steps to Developing a QNX Program Quickstart Guide
Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v 6. 4 10 Steps to Developing a QNX Program Quickstart Guide 2008, QNX Software Systems GmbH & Co. KG. A Harman International Company. All rights
Before you can use the Duke Ambient environment to start working on your projects or
Using Ambient by Duke Curious 2004 preparing the environment Before you can use the Duke Ambient environment to start working on your projects or labs, you need to make sure that all configuration settings
Java Programming. Binnur Kurt [email protected]. Istanbul Technical University Computer Engineering Department. Java Programming. Version 0.0.
Java Programming Binnur Kurt [email protected] Istanbul Technical University Computer Engineering Department Java Programming 1 Version 0.0.4 About the Lecturer BSc İTÜ, Computer Engineering Department,
How to develop your own app
How to develop your own app It s important that everything on the hardware side and also on the software side of our Android-to-serial converter should be as simple as possible. We have the advantage that
TakeMySelfie ios App Documentation
TakeMySelfie ios App Documentation What is TakeMySelfie ios App? TakeMySelfie App allows a user to take his own picture from front camera. User can apply various photo effects to the front camera. Programmers
UML for C# Modeling Basics
UML for C# C# is a modern object-oriented language for application development. In addition to object-oriented constructs, C# supports component-oriented programming with properties, methods and events.
Part 1 Foundations of object orientation
OFWJ_C01.QXD 2/3/06 2:14 pm Page 1 Part 1 Foundations of object orientation OFWJ_C01.QXD 2/3/06 2:14 pm Page 2 1 OFWJ_C01.QXD 2/3/06 2:14 pm Page 3 CHAPTER 1 Objects and classes Main concepts discussed
NSPersistentDocument Core Data Tutorial for Mac OS X v10.4. (Retired Document)
NSPersistentDocument Core Data Tutorial for Mac OS X v10.4. (Retired Document) Contents Introduction to NSPersistentDocument Core Data Tutorial for Mac OS X v10.4 8 Who Should Read This Document 8 Organization
Key-Value Coding Programming Guide
Key-Value Coding Programming Guide Contents Introduction 6 Organization of This Document 6 See Also 7 What Is Key-Value Coding? 8 Key-Value Coding and Scripting 8 Using Key-Value Coding to Simplify Your
Avira Secure Backup INSTALLATION GUIDE. HowTo
Avira Secure Backup INSTALLATION GUIDE HowTo Table of contents 1. Introduction... 3 2. System Requirements... 3 2.1 Windows...3 2.2 Mac...4 2.3 ios (iphone, ipad and ipod touch)...4 3. Avira Secure Backup
Getting Started with the Internet Communications Engine
Getting Started with the Internet Communications Engine David Vriezen April 7, 2014 Contents 1 Introduction 2 2 About Ice 2 2.1 Proxies................................. 2 3 Setting Up ICE 2 4 Slices 2
First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science
First Java Programs V. Paúl Pauca Department of Computer Science Wake Forest University CSC 111D Fall, 2015 Hello World revisited / 8/23/15 The f i r s t o b l i g a t o r y Java program @author Paul Pauca
Lecture 5: Java Fundamentals III
Lecture 5: Java Fundamentals III School of Science and Technology The University of New England Trimester 2 2015 Lecture 5: Java Fundamentals III - Operators Reading: Finish reading Chapter 2 of the 2nd
Chapter 1 Java Program Design and Development
presentation slides for JAVA, JAVA, JAVA Object-Oriented Problem Solving Third Edition Ralph Morelli Ralph Walde Trinity College Hartford, CT published by Prentice Hall Java, Java, Java Object Oriented
Android Environment SDK
Part 2-a Android Environment SDK Victor Matos Cleveland State University Notes are based on: Android Developers http://developer.android.com/index.html 1 Android Environment: Eclipse & ADT The Android
Java with Eclipse: Setup & Getting Started
Java with Eclipse: Setup & Getting Started Originals of slides and source code for examples: http://courses.coreservlets.com/course-materials/java.html Also see Java 8 tutorial: http://www.coreservlets.com/java-8-tutorial/
Mobile Labs Plugin for IBM Urban Code Deploy
Mobile Labs Plugin for IBM Urban Code Deploy Thank you for deciding to use the Mobile Labs plugin to IBM Urban Code Deploy. With the plugin, you will be able to automate the processes of installing or
