Learn Java for Android Development

Front Cover
Apress, Feb 19, 2013 - Computers - 751 pages

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 Contents1. 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***

***NOTE: Appendix C is not included in the physical book. Instead, it's distributed as a PDF file that's bundled with the book's code. As well as covering updated topics from the previous edition of this book (e.g., References, Reflection, and Preferences), this 138-page appendix includes new content.

 

Contents

Chapter 1 Getting Started With Java
1
Chapter 2 Learning Language Fundamentals
21
Chapter 3 Discovering Classes and Objects
63
Chapter 4 Discovering Inheritance Polymorphism and Interfaces
105
Chapter 5 Mastering Advanced Language Features Part 1
153
Chapter 6 Mastering Advanced Language Features Part 2
197
Chapter 7 Exploring the Basic APIs Part 1
247
Chapter 8 Exploring the Basic APIs Part 2
279
Chapter 12 Accessing Networks
525
Chapter 13 Migrating to New IO
561
Chapter 14 Accessing Databases
603
Appendix A Solutions to Exercises
643
Appendix B Four of a Kind
713
Index
735
Contents
vii
About the Author
xviii

Chapter 9 Exploring the Collections Framework
327
Chapter 10 Exploring Additional Utility APIs
407
Chapter 11 Performing Classic IO
449
About the Technical Reviewers
xix
Acknowledgments
xxi
Copyright

Other editions - View all

Common terms and phrases

About the author (2013)

Jeff Friesen is a freelance tutor and software developer with an emphasis on Java (and now Android). In addition to authoring Learn Java for Android Development and co-authoring Android Recipes -- Jeff has written numerous articles on Java and other technologies for JavaWorld (a href="http://www.JavaWorld.com"JavaWorld.com/a), informIT (a href="http://www.InformIT.com"InformIT.com/a), a href="http://www.java.net"Java.net/a, and DevSource (a href="http://www.DevSource.com"DevSource.com/a). Jeff can be contacted via his website at a href="http://www.tutortutor.ca"TutorTutor.ca/a.

Bibliographic information