2. In Chapter 1,You Learn to…
• Define programming terms
• Describe the three major smartphone platforms
• Choose a target platform
• Describe available development tools
• Define what a smartphone is
• Summarize the smartphone’s history
• Explain current device capabilities
2
3. WhatYou Need to Know
• A literal is a piece of data stored in memory, such as a
name, an address, or a phone number. It’s immutable,
meaning it can’t be changed.
• A variable is a named pointer to data in your program
that can change.
3
4. WhatYou Need to Know
(continued)
• An array is a collection of data, usually of the same type.
You can access each member of a collection by its index
(place in the collection). In Java, Objective-C, and C#,
arrays have a fixed, declared length, and all array
members are of the same data type.
• A string is a collection of character data. Strings are
immutable in Java, Objective-C, and C#.
Programming with Mobile Applications 4
5. WhatYou Need to Know
(continued)
• Methods and functions are blocks of program code that
run when they’re called.They’re the verbs of a program
and represent what a program does.
• Parameters are data values passed to other parts of a
program, usually methods and functions.
Programming with Mobile Applications 5
6. WhatYou Need to Know
(continued)
• Properties are data associated with the objects of a
program and can be compared with adjectives.They
describe what an object is and does.
• Loops are mechanisms for repeating a set of
programming instructions until some condition is met.
• Conditionals are tests in a program that evaluate to true
or false.
Programming with Mobile Applications 6
7. WhatYou Need to Know
(continued)
• Platforms provide Software Development Kits (SDKs)
• SDKs consist of the all the resources necessary for
developing apps for the platform
• Integrated Development Environments (IDEs) are
programming tools used to make development easier
than using an SDK
• IDEs use SDKs as the “engine” to produce apps
Programming with Mobile Applications 7
9. Choosing a Platform
• Who will use your apps?
• Is there a future for the platform?
• What are your app’s technical requirements?
• What are the platform’s development tools?
• Can you make money developing for the platform?
Programming with Mobile Applications 9
10. Programming Languages and
DevelopmentTools
Platform Programming
Language
DevelopmentTool (IDE)
Google Android Java Google App Inventor, IBM Eclipse
with Google Android
DevelopmentTools (ADT)
Apple iOS Objective-C Apple Xcode, Interface Builder
MicrosoftWindows
Phone 7
C# MicrosoftVisual Studio for
Windows Phone
Programming with Mobile Applications 10
11. Web Apps
• Programming Languages
– HTML
– CSS
– JavaScript
• IDEs
– Dreamweaver
– JXEd
– AnyText Editor
• PlatformWeb Browsers
Programming with Mobile Applications 11
13. What Is a Smartphone?
• A cell phone
• A handheld computer
• Device Convergence
• Camera
• GPS
• Music Player
• And more...
Programming with Mobile Applications 13
14. Java Micro Edition (ME)
• Address multiple platforms
• Virtual machine
• “Write once, run anywhere”
• Least Common Denominator
• Not well-suited for touch screens
Programming with Mobile Applications 14
15. History of the Smartphone
• IBM Simon
• PDA + Cell Phone
• Palm
• Microsoft CE
• Apple iPhone
• Google Android
• MicrosoftWindows Phone 7
Programming with Mobile Applications 15