Master Android from first principles and begin the journey toward your own successful Android applications!
Dear Reader,
First, welcome to the world of Android! We’re entering a new era of mobile application development, one marked by open platforms and open source, to take ‘walled gardens’ and make them green houses for any and all to participate in. Android is relatively easy for developers, and I believe that this innovation will help generate a large ecosystem of developers and consumers within a very short time. This means that budding developers such as yourself will have many opportunities to design and build your own applications and you’ll have a huge and hungry customer base.
Second, welcome to the book! Its purpose is to start you on your way with building Android applications, and to help you master the learning curve. Android is already a rich framework, comparable in many ways to the richness Android of desktop Java environments. This means that there is a lot of cool stuff for you to pick up along your journey in order to create the slickest, most useful apps Android you can imagine.
The source code for the code samples in this book is all available from the Apress site, so you can stay as hands-on and practical as you like while I introduce you to the core of Android, and invite you to experiment with the various classes and APIs we’ll be looking at. By the time you’ve finished this book, you’ll be creating your own Android applications and asking yourself what your next great application will be…!
Enjoy!
Mark Murphy
We Attach These to the Java… How?
We Attach These to the Java… How?
Given that you have painstakingly set up the widgets and containers in an XML layout file named main.xml
stored in res/layout
, all you need is one statement in your activity’s onCreate()
callback to use that layout:
setContentView(R.layout.main);
This is the same setContentView()
we used earlier, passing it an instance of a View
subclass (in that case, a Button
). The Android-built view, constructed from our layout, is accessed from that code-generated R
class. All of the layouts are accessible under R.layout, keyed by the base name of the layout file — main.xml
results in R.layout.main
.
To access our identified widgets, use findViewById()
, passing in the numeric identifier of the widget in question. That numeric identifier was generated by Android in the R
class as R.id.something
(where something is the specific widget you are seeking). Those widgets are simply subclasses of View
, just like the Button
instance we created in Chapter 4.