Android development is hot, and many programmers are interested
in joining the fun. However, because this technology is based on
Java, you should first obtain a solid grasp of the Java language
and its foundational APIs to improve your chances of succeeding as
an Android app developer. After all, you will be busy learning the
architecture of an Android app, the various Android-specific APIs,
and Android-specific tools. If you do not already know Java
fundamentals, you will probably end up with a massive headache from
also having to quickly cram those fundamentals into your knowledge
base. Learn Java for Android Development, Second Edition teaches
programmers of any skill level the essential Java language and
foundational Java API skills that must be learned to improve the
programmer's chances of succeeding as an Android app developer.
Each of the book's 14 chapters provides an exercise section that
gives you the opportunity to reinforce your understanding of the
chapter's material. Answers to the book's more than 500 exercises
are provided in an appendix. A second appendix provides a
significant game-oriented Java application, which you can convert
into an Android app. Once you complete this book, you should be
ready to dive into beginning Android app development. Maybe, start
that journey with Apress' Beginning Android. What you'll learn The
Java language: This book provides complete coverage of nearly every
pre-Java version 7 language feature (native methods are briefly
mentioned but not formally covered). Starting with basic language
features (e.g., comments, types, expressions, and statements), you
progress to those features related to classes and objects, followed
by object-oriented features related to inheritance, polymorphism,
and interfaces. You then explore the advanced language features for
nested types, packages, static imports, exceptions, assertions,
annotations, generics, and enums. Continuing, you investigate
strictfp, synchronized, volatile, the enhanced for loop statement,
autoboxing/unboxing, and transient fields. Java APIs: In addition
to Object and APIs related to exceptions, you explore Math,
StrictMath, BigDecimal, BigInteger, String,
StringBuffer/StringBuilder, Boolean, Character, Byte, Short,
Integer, Long, Float, Double, Number, the Threads API, System,
Runtime, Process, the Collections Framework, the Concurrency
Utilities, Date, Formatter, Random, Scanner, the ZIP and JAR APIs,
File, RandomAccessFile, stream classes, and writer/reader classes,
InetAddress, SocketOptions, Socket, ServerSocket, DatagramSocket,
MulticastSocket, URL, URLConnection, URLEncoder, URLDecoder,
NetWorkInterface, InterfaceAddress, CookieHandler, CookieManager,
CookieStore, CookiePolicy, Buffer, ByteBuffer, CharBuffer,
DoubleBuffer, FloatBuffer, IntBuffer, LongBuffer, ShortBuffer,
MappedByteBuffer, Channel, WritableByteChannel,
ReadableByteChannel, ScatteringByteChannel, GatheringByteChannel,
FileChannel, the Regular Expressions API, JDBC, and more. Applying
these: You will learn how to use the JDK's javac (compiler), java
(application launcher), javadoc (Java documentation generator), and
jar (Java archive creator, updater, and extractor) tools. You will
also receive an introduction to the Eclipse integrated development
environment, which is the official standard for developing Android
apps. Who this book is for
This book is for any programmer - including existing Java
programmers and Objective-C-based iPhone and iPad programmers - of
any skill level who needs to obtain a solid understanding of the
Java language and foundational Java APIs before jumping into
Android app development. Table of Contents 1. Getting Started with
Java 2. Learning Language Fundamentals 3. Discovering Classes and
Objects 4. Discovering Inheritance, Polymorphism, and Interfaces 5.
Mastering Advanced Language Features Part 1 6. Mastering Advanced
Language Features Part 2 7. Exploring the Basic APIs Part 1 8.
Exploring the Basic APIs Part 2 9. Exploring the Collections
Framework 10. Exploring Additional Utility APIs 11. Performing
Classic I/O 12. Accessing Networks 13. Migrating to New I/O 14.
Accessing Databases A. Appendix A: Solutions to Exercises B.
Appendix B: Four of a Kind C. Appendix C: Odds and Ends***