Key skills and concepts
l history of embedded programming
l About the Open Mobile Alliance
l Android beginning of the main screen surface
It is no exaggeration to say that the traditional desktop application developers have been pets for a very long time, but this is not to say that the traditional desktop application development simpler than other forms of development. As a traditional desktop application development, we have the ability to create any application we can imagine, this also includes me, because I just started from the desktop program.
Desktop application development has become very popular reason why one of the reasons is that we have the ability to interact with the desktop operating system, and any underlying hardware, a free interactive (or at least almost no exceptions). This free and independent way of programming, instead letting a small part of the programmer can not Qutang handset development of muddy water.
A Brief History of embedded programming
For a long time, embedded developers are those composed by the mobile developers a little larger development team. And desktop development and web development later than the ugly interface for embedded development, such as hardware and operating system features the same simple phrase is usually the end of France. Embedded device manufacturers do not provide hardware scalability features, because they want to the hardware secrets kept strictly confidential, so they only open for embedded developers a local interactive interface.
Embedded devices and desktop devices difference is that it is a computer chip. That is your standard TV remote, it is no complex technical content. When you press a key, the chip will be implanted device-specific signal fired. Device receives the signal input device, we have known that what the command (for example, to start TV). This is a form of embedded programming, whether you believe it or not, the early cell phone equipment and development is to by such a simple device consisting of.
Most embedded devices before (in part still) is running an open operating system specific. Select a specific operating system rather than the use of any commercial system product is very necessary, simple device does not require a very robust and optimized operating system.
As a device in the product development process, and many more complex embedded devices, such as the early PDA, home security systems, GPS as early as five years before they migrate to a standardized operating system platform. For small linux or windows operating systems such as embedded systems, are widely used in many embedded devices. Era of great change in the device, cell phone from these embedded devices to separate, when you study their structure when you will find these apparent branch.
Since rolling out mobile phone comes with its own equipment, because they run on are controlled by a closed manufacturer-specific systems. Manufacturers use a specific operating system used to start getting no longer necessary because handset manufacturers typically use hardware is completely developed in the workshops, at least those who support mobile device running part is so produced. So there is no reliable open -source software packages or solutions can interact with their hardware. Manufacturers of hardware you want to protect their trade secrets, as some secrets can be docked with the device software to obtain, so in fact, is also the majority of cases, they are completely closed to the use of specific software to operate the equipment. This has resulted in order to develop mobile phone software, you must be familiar with the software can run the grasp of the specific circumstances of the relevant knowledge.
Secondly, another important reason is that mobile phone development to everyday developers to reach, the hardware manufacturer can solve the "supply" dilemma. All along, the phone features is not surprising then phone calls, track contacts, send and receive text messages, rather than now has the same as Swiss Army knife versatility. Even in 2002, camera phones did not spread in the general consumers.
Before 1997, such as calculators and games (eg Tetris) such a small application in a mobile phone, but the main function is to dial the phone did not become multi-purpose, multi-functional personal tool, at that time no one would watch the Like now owned by Internet browser, Mp3 players, and other complex functions, may be the health companies in 1997 that there was no need for the average consumer to provide full-featured device, even if the subsequent emergence of the demand in this respect, the lack of sufficient memory and storage space is difficult to overcome obstacles. More and more people need full-featured device, but the vendors in the memory is still unresolved problems.
That's easy to point is that any equipment including mobile phones, storage, and run applications require memory space. Mobile devices until there was no enough space to operate an additional procedure. Know that the past two years, the memory price is very cheap, the manufacturer can be at a low cost to expand the memory. In the mid-90s, most of the phone's memory, the memory than the pc machine more standardized. Therefore, there is a demand we now have the memory, we can develop cool mobile applications, right? Not entirely the case.
Equipment manufacturers are still close to prevent the operation of the device's operating system. Although a few small environment running on a cell phone java-based application, opening up a number of interfaces, but most are still not allowed to so. Even if the system allowed to run Java applications do not allow access to standard desktop developers can access the core of a customary system.
Open Mobile Alliance and Android
In November 2007, when the Open Mobile Alliance in Google released Android, the barriers to application development began to collapse. Open Mobile Alliance is the organization of software and hardware developers, including Google, NTT DoCoMo, Sprint Nextel, and HTC, their goal is to create a more open mobile environment. The alliance released the first product is a mobile device operating system, Android (For more information on Open Mobile Alliance more detailed information, please visit www.openhandsetalliance.com).
With the Android release, Google has produced a number of available development tools and tutorials to help may use the new system developers. Help documentation, platform software development kit (SDK), as well as Google's Android site can be found on the developer community: http://code.google.com/android. This site should be your starting point, I strongly recommend that you visit the site.
However, running on Linux, Windows and even mobile phones can be seen everywhere on the PalmOS, but the time of writing this book, there is no hardware platform has been declared to run on Android. HTC, LG Electronics, Motorola and Samsung are released Android open handset alliance members. Therefore, we can only hope that they have recently developed devices based on the Android platform program. From the November 2007 release since the system itself, or in a pure software testing. This developer is a good thing, because it allows our future system will be a rare preview, and provides that, once started developing hardware release could be the opportunity to run the application.
Speaking as a system, Android is based on java's running on Linux2.6 kernel operating system. The system is lightweight and powerful. Figure 1-1 shows the main screen of the original Android.
Figure 1-1 Android emulator to see the main screen of Android
Android application using java development, can be easily ported to new platforms. If you do not have to download Java, or are unsure about which version you need, I will explain in more detail in chapter II, the development environment installation. Android's other features include accelerated 3D graphics engine (based on hardware support), using SQLite database support and built-in web browser.
If you are familiar with Java programming, or any kind of object-oriented programmer, you may often be the user interface (UI) development of programming - that is, UI layout is in the program code for processing. Android, in the identification and development of programming at the same time allow the UI, but also supports the new XML-based UI layout. XML UI layout for most desktop developers is a fairly new concept. In support of this book chapter, I will explain XML UI layout and UI development programming.
Android a more exciting and compelling features, because of its architecture features, third-party applications - including what "indigenous" - and those bundled with the application of the core system, as are the system priority is Perform . This is a major difference and most of the systems, most systems for embedded system applications developed by third parties over the implementation of the application have a higher priority. Also, each application is the use of lightweight virtual machine, in its own thread.
In addition to a very generous and a good SDK can be used to develop the library, the pairs of Android developers, the most exciting feature is that we can access the operating system can access any interface. In other words, you want to develop a dial-up application, you can access the phone's dial-up device; if you want to create applications using a mobile phone built-in GPS (if equipped), you can access it. Developers to create dynamic and interesting potential applications is now opened.
Android all available features of the most important are, Google is adding its own inside the very attractive features. Android application developers can bring their applications and Google's interface is known to bind, such as Google Maps and the ubiquitous Google search. If you want to write the location in accordance with a call display Google Maps application, or you want to store commonly used in contact with your search results, Android has an option for you open the door.
The second chapter began Android development of your journey. How and why would you transfer the use of a particular development environment or integrated development environment (IDE), you will download and install the Java IDE Eclipse.
Expert Q & A
Q: Google and the Open Mobile Alliance What is the difference?
A: Google is a member of the Open Handset Alliance, Google acquired Android in after the original developer, in the Open Handset Alliance released the operating system.
Q: Android is able to run any Linux software?
A: Not necessarily, although I believe that any open-source system, there will be a solution to this problem, but using the Android SDK to compile the application needs to run on Android. The main reason is Android applications to a specific format, the implementation of documents; This will be discussed in later chapters.