ebook img

Learn Android App Development PDF

536 Pages·2013·41.01 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Learn Android App Development

Companion BOOKS FOR PROFESSIONALS BY PROFESSIONALS® eBook Available Quickly build your first Android apps Build your very own Android applications using Learn Android App Development as your guide. From installing your Android development environment to L e testing your finished application, Learn Android App Development will help you a navigate the work process for creating a modern Android application. r n You’ll learn about the Eclipse IDE, the Java SE programming language, XML mark- A up, digital imaging, 2D animation, digital video, data footprint optimization, cross- device screen optimization, as well as more advanced topics, such as database n design, inter-application messaging, and background processing services. d This book outlines detailed, step-by-step instructions on how to build a robust r Android application and test features as you add them. You’ll: o • Set up your development workstation for Android application i d development • Style an application graphical user interface so it will have maximum A appeal to users • Make use of built-in Android capabilities and classes for smartphones, p tablets, or iTVs • p Create apps the easy way, via XML mark-up and drag-n-drop graphical layout editors Learn • D Use new media content creation software such as GIMP, Audacity, Bryce, Squeeze, and even TTS for Android development e So start building advanced software applications that feature digital video, 2D v Android App animation, custom user interface elements, and all the trappings found in the e most popular Android apps on the market today. The only previous experience required for this book is an understanding of computer technology, as well as l o some previous exposure to computer programming. p m Development e n t J a c k s Wallace Jackson o n COMPANION eBOOK US $39.99 Shelve in Mobile Computing SOURCE CODE ONLINE User level: www.apress.com Beginning–Intermediate > m o ok.c o b e w o w w. w w < ok o B e w! o W m o d fr a o nl w o D For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. Contents at a Glance About the Author ���������������������������������������������������������������������������������������������������������������xxi About the Technical Reviewer �����������������������������������������������������������������������������������������xxiii Acknowledgments ������������������������������������������������������������������������������������������������������������xxv Introduction ��������������������������������������������������������������������������������������������������������������������xxvii ■ Chapter 1: Building an Android IDE for Version 4�2: Acquiring, Installing, and Configuring an Android Development Environment ����������������������������������������������������1 ■ Chapter 2: Exploring Android App Development: The Lingo of Android and Building Your First Hello World App! �������������������������������������������������������������������������������31 ■ Chapter 3: Java for Android Primer: Enhancing Our Hello World Application �����������������55 ■ Chapter 4: Layouts and Activities: Using ViewGroup Classes �����������������������������������������77 ■ Chapter 5: Android Intents and Events: Adding Interactivity ����������������������������������������111 ■ Chapter 6: Android UI Design: Using Views and Widgets via XML ���������������������������������137 ■ Chapter 7: Android Graphics Design: Concepts and Techniques �����������������������������������165 ■ Chapter 8: Compositing in Android: Advanced Graphical User Interface Design ����������191 ■ Chapter 9: Android Image Animation: Frame-Based Animation Using XML Constructs ���������������������������������������������������������������������������������������������������217 ■ Chapter 10: Android Vector Animation: Procedural Animation via XML Constructs��������������������������������������������������������������������������������������������������������239 v vi Contents at a Glance ■ Chapter 11: An Introduction to Video: Concepts and Optimization �������������������������������273 ■ Chapter 12: Digital Video in Android: Using the VideoView Class ���������������������������������301 ■ Chapter 13: An Introduction to Audio: Concepts and Optimization �������������������������������321 ■ Chapter 14: Playing Audio in Android: The MediaPlayer Class �������������������������������������345 ■ Chapter 15: Audio Sequencing: Android SoundPool Class ��������������������������������������������363 ■ Chapter 16: Android Intents: Inter-Application Programming ���������������������������������������383 ■ Chapter 17: Android Services: Using Background Processing ��������������������������������������411 ■ Chapter 18: Broadcast Receivers: Android Inter-Application Communication ������������������433 ■ Chapter 19: Android Content Providers: Access to Datastores �������������������������������������451 ■ Appendix A: Building an Android IDE for Version 4�12 and Earlier: Acquiring, Installing, and Configuring an Android Development Environment �������������������������������487 Index ���������������������������������������������������������������������������������������������������������������������������������509 Introduction The Android OS is currently the most popular OS in the world today, running on everything from watches to HD smartphones to touchscreen tablets to eBook readers to interactive television sets. Since there are billions of Android consumer electronics devices owned by people all over the world, it stands to reason that developing applications for these people might just be an extremely lucrative undertaking, given that you have the right concept and design. This book will go a long way toward helping you to learn how to go about creating an attractive Android application which spans multiple types of Android device types and supports multiple Android OS versions. I wrote Learn Android App Development as the next level up from my Android Apps for Absolute Beginners title, targeting those readers who are more technically proficient, and who are familiar with computer programming concepts and techniques. That being said, this would be a good follow-on title to the Android Apps for Absolute Beginners title, and both cover the latest Android 4.2.2 Jelly Bean Plus Android operating system version. I designed this book to be a far more comprehensive overview of the Android application development work process than most Android app development books. For this reason, this book covers the use of a wide variety of other open source software packages, such as GIMP and Audacity, for instance, and how their usage fits into the overall Android application development work process. This approach serves to set this book distinctly apart from the other Android application development titles currently on the market. The book starts out with installing the latest Java and Android SDKs and the Eclipse IDE with the Android ADT Bundle, and then progresses through creating a basic Android application and then adding to that application with each chapter. We continue this process until all the major concepts are covered and implemented in one comprehensive Android application. This approach more closely parallels real world application development, where an application is continuously added to over time, making it more and more robust and feature filled as time goes on, while making sure each new feature does not cause the application to crash. We look at Java objects and constructors, user interface design using XML mark-up, digital imaging and graphics design, digital video and animation, audio sampling and audio sequencing, and other advanced new media concepts and multimedia application features, as that is what is popular xxvii xxviii Introduction in Android application development today. We look at core Android OS areas, including Content Providers (SQLite Databases), Broadcast Receivers, Services, and using Events, Intents, and Activities, all in great detail. We cover the foundational knowledge that you will need to be able to work in the more advanced areas that the Android OS encompasses. Some of these include digital image compositing, digital video optimization, procedural animation, database design, multi-screen resolution support, 3D rendering, and similar advanced topics regarding which an Android developer needs to know at least the basics in order to work intelligently within their application design and development work process. If you want a comprehensive overview of Android, Eclipse, Java, XML, and the Android Developer Tools environment, as well as knowledge about how to optimally use these technologies with leading open source new media content design and development tools, then this book will be of great interest to you. 1 Chapter Building an Android IDE for Version 4.2: Acquiring, Installing, and Configuring an Android Development Environment The first thing that we need to do before we can learn Android Application Development is to put together a working Android Application Development Environment on our development workstation. Hopefully you have an entry-level quad-core AMD or Intel computer with 4GB or more of DDR memory and Windows 7 or Windows 8; the computer that I will be using for this book is a $398 ACER 64-bit quad-core AMD, running at 3.1GHz with 4GB of DDR3 memory and 1TB hard disk drive and Windows 7 that I picked up at Walmart. Fortunately for us Android App developers, very powerful 64-bit computers are readily available for a few hundred dollars! If you have a 32-bit computer, that will also work just as well for Android Application Development, because the Android 4.2 Development Environment comes in both 32-bit and 64-bit flavors. Additionally, all the software that we will be using for app development in this book is free for commercial use, also known as open source, so the cost of starting up your own Android Application Software Development business is quite low these days indeed. If for some reason, you want to use a development environment that predates Android 4.2.2 (which I would strongly recommend against), there is an Appendix at the end of this book that covers the much more involved work process for installing the Android 4.1.2 development environment. 1 2 CHAPTER 1: Building an Android IDE for Version 4.2: Acquiring, Installing, and Configuring an Android Development Environment Our Plan of Attack In this chapter, we will make sure that our system has the very latest versions of the Oracle Java 6 Software Development Kit (Java SDK, also known as the JDK, or Java Development Kit) programming environment, as well as the Android Software Development Environment, which consists of the Google Android Software Development Kit (SDK), Android Development Tools (ADT) Plug-ins for Eclipse, and the Eclipse 4.2 Integrated Development Environment (IDE). All these installed together at once are cumulatively known as the Android ADT Bundle, which, as of Android 4.2, you can now download all at once, in under 400MB, at the Android Developer website at http://developer.android.com. Before Android 4.2 Jelly Bean+ (Android API Level 17), developers had to download and install each of these components individually, which was quite tedious. If you want to do it this way, or see what it would be like to have to do it this way (and gain a greater understanding of what is going on between Eclipse and Android SDK and Android ADT) you can see the long-version of the install in Appendix A of this book. Once our JDK is downloaded and installed, we will then download and install an Android Integrated Development Environment (IDE) called the Android ADT Bundle, the foundation of which is the Eclipse 4.2 Juno for Java EE IDE. Eclipse makes developing Android Apps easier by providing us with a slick Graphical User Interface (GUI) with which we can write, run, test, and debug our Android application code. Eclipse runs “on top of” the Java Runtime Environment (JRE), because Eclipse is written in Java, and thus it uses the Java Platform to run its own codebase, which makes up the Eclipse IDE user interface and feature set, which you will see (as you progress throughout this book) is quite extensive indeed. This is the primary reason that we downloaded and installed the Java 6 JDK first, so that the Java SDK and JRE are in place on our workstation. In this way, once we get into installing the ADT Bundle, which is based on Eclipse, Eclipse can easily find the Java Runtime Environment (so that Eclipse can launch and run). Once Eclipse is able to find Java it can use the Java SDK to build the Java programming code foundation for our Android Development Environment, because Android APIs (SDK) are based on the Java 6 APIs (SDK). Once we have the ADT Bundle downloaded and installed and working smoothly on top of Java 6, we essentially have installed, all in one bundle, the Google Android Software Development Kit (SDK), the Eclipse 4.2.2 IDE, and all the ADT plug-ins needed to develop for Android 4.2.2 API Level 17. For a bird’s—eye view, if this process were formulated into an equation, it would look something like this: JDK (Java 6 SDK) + ADT Bundle (Eclipse + Android SDK + ADT Eclipse Plug-Ins) = Custom Android IDE As part of the Android Bundle installation and configuration for development usage work process (the second major part), we will install some Android Virtual Device (AVD) Emulators, which will live inside Eclipse 4.2, and which will allow us to test our applications on various Android Virtual Devices, such as a Virtual Nexus 7 Tablet, or a Virtual Nexus S Smartphone, or even a Virtual GoogleTV Set. So let’s get started with this process now, so we can get it over with, and start developing apps in the next chapter! CHAPTER 1: Building an Android IDE for Version 4.2: Acquiring, Installing, and Configuring an Android Development Environment 3 Foundation of Android Programming: Java 6 The foundation of Android Application Development, both from a programming as well as an Integrated Development Environment (IDE) standpoint, is Java 6. Android Applications are written using the Java 6 programming language (and using XML as well, which we’ll get into in more detail in Chapter 2), and Android Apps are developed inside the Eclipse 4.2.2 IDE, which is also written in the Java 6 programming language, and which runs on top of the Java 6 Runtime Environment, also known as the JRE. To put it mildly, the exact order in which you set up the various software components that make up your Android Development Environment is very important, and is the reason for this first chapter. So that we have both the Java programming language, which we gain access to via the JDK or Java Developer Kit, as well as the Java Runtime Environment (JRE), which is part of the JDK, go to the Oracle TechNetwork and download the latest JDK 6 installation software and install it on your machine. We do this first because Eclipse needs Java to run, that is, Eclipse can be said to run “on top of” the Java platform and language. Android also requires Java, as well as Eclipse, for its Android Developer Tools (ADT) plug-ins, so we install the Java Platform and Java Environment first, then the Android ADT Bundle. Let’s get started. Installing the JDK The first thing we must do is get to the Java SDK download page, and there are two ways to do this; one is generic, one is precise. The generic way, which will always work, even if Oracle changes the location of its Java SDK download page (which it probably won’t), is to use Google Search with the keyword phrase “Java SDK Download”, which should bring up the Oracle TechNetwork Java download URL. The second way is to type the URL for the page directly into the browser. Here is the URL: http://www.oracle.com/technetwork/java/javase/downloads/index.html What this points to is the Internet (HTTP) and the Oracle website in their TechNetwork area (folder) in the Java area (sub-folder) for the Java SE or Standard Edition area (sub-sub-folder) in the Downloads area (sub-sub-sub-folder). There are three primary versions of Java: SE or Standard Edition for individual users, EE or Enterprise Edition for large collections of users, and ME or Micro Edition for older mobile flip-phones. Most modern smartphones use Android and Java SE, rather than Java ME. One of the really cool things about Android is that it uses the full Standard Edition of Java (known as Java SE) just like a PC does. This is because Android runs “on top of” a full version of the Linux OS Kernel, so an Android consumer electronics device is essentially a full-blown Linux computer, for all practical purposes. Once you type in this URL, you arrive at the Java 6 JDK download page, and you need to find the Java 6 JDK download portion of the page, which looks like the (partial) page section shown in Figure 1-1. 4 CHAPTER 1: Building an Android IDE for Version 4.2: Acquiring, Installing, and Configuring an Android Development Environment Figure 1-1. The Java SE 6 JDK download section of the Oracle TechNetwork Java SE webpage Scroll about halfway down the page and click the blue DOWNLOAD button under the JDK (remember, the JDK contains both the JDK and the JRE, so don’t download the JRE at all), as shown in Figure 1-1. This takes you to the Java 6 JDK download page shown in Figure 1-2, where you first accept the software licensing agreement, and then download either the Windows 32-bit version or the Windows 64-bit version of Java 6.

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.