摘要:
BeginNew / Android: A Programmer's Gde / Dimarzio / 988-6/1Blind Folio 1:1Chapter1What Is Android?P:010CompBeginNew988-6ch01.vpMonday, July 07, 2008 9:47:09 AMColor profile: Generic CMYK printer profileComposite Default screenBeginNew / Android: A Programmer's Gde / Dimarzio / 988-6/1Blind Folio 1:22Android: A Programmer's GuideIt can be said that, for a while, traditional desktop application developers have beenspoiled. This is not to say that traditional desktop application development is easier thanother forms of development. However, as traditional desktop application developers, wehave had the ability to create almost any kind of application we can imagine. I amincluding myself in this grouping because I got my start in desktop programming.One aspect that has made desktop programming more accessible is that we havehad the ability to interact with the desktop operating system, and thus interact with anyunderlying hardware, pretty freely (or at least with minimal exceptions). This kind offreedom to program independently, however, has never really been available to thesmall group of programmers who dared to venture into the murky waters of cell phonedevelopment.NOTEI refer to two different kinds of developers in this discussion:traditional desktopapplication developers, who work in almost any language and whose end product,applications, are built to run on any "desktop" operating system; and Androiddevelopers, Java developers who develop for the Android platform. This is notfor the purposes of saying one is by any means better or worse than the other.Rather, the distinction is made for purposes of comparing the development stylesand tools of desktop operating system environments to the mobile operatingsystem environment, Android.Brief History of Embedded Device ProgrammingFor a long time, cell phone developers comprised a small sect of a slightly larger group ofdevelopers known as embedded device developers. Seen as a less "glamorous" sibling todesktop—and later web—development, embedded device development typically got theKey Skills & Concepts●History of embedded device programming●Explanation of Open Handset Alliance●First look at the Android home screenP:010CompBeginNew988-6ch01.vpMonday, July 07, 2008 9:47:15 AMColor profile: Generic CMYK printer profileComposite Default screenChapter 1:What Is Android?3BeginNew / Android: A Programmer's Gde / Dimarzio / 988-6/1Blind Folio 1:3proverbial short end of the stick as far as hardware and operating system features, becauseembedded device manufacturers were notoriously stingy on feature support. Embeddeddevice manufacturers typically needed to guard their hardware secrets closely, so theygave embedded device developers few libraries to call when trying to interact with aspecific device.Embedded devices differ from desktops in that an embedded device is typically a"computer on a chip." For example, consider your standard television remote control; it isnot really seen as an overwhelming achievement of technological complexity. When anybutton is pressed, a chip interprets the signal in a way that has been programmed into thedevice. This allows the device to know what to expect from the input device (key pad),and how to respond to those commands (for example, turn on the television). This is asimple form of embedded device programming. However, believe it or not, simpledevices such as these are definitely related to the roots of early cell phone devices anddevelopment.Most embedded devices ran (and in some cases still run) proprietary operatingsystems. The reason for choosing to create a proprietary operating system rather than useany consumer system was really a product of necessity. Simple devices did not need veryrobust and optimized operating systems.As a product of device evolution, many of the more complex embedded devices, suchas early PDAs, household security systems, and GPSs, moved to somewhat standardizedoperating system platforms about five years ago. Small-footprint operating systems suchas Linux, or even an embedded version of Microsoft Windows, have become more
展开