Learn Java for Android Development: Edition 2

Apress
168
Free sample

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.

Read more
Collapse

About the author

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.
Read more
Collapse
3.5
168 total
Loading...

Additional Information

Publisher
Apress
Read more
Collapse
Published on
Mar 21, 2013
Read more
Collapse
Pages
780
Read more
Collapse
ISBN
9781430257233
Read more
Collapse
Read more
Collapse
Read more
Collapse
Language
English
Read more
Collapse
Genres
Computers / Networking / General
Computers / Programming / Mobile Devices
Computers / Programming Languages / General
Read more
Collapse
Content Protection
This content is DRM protected.
Read more
Collapse
Read Aloud
Available on Android devices
Read more
Collapse

Reading information

Smartphones and Tablets

Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.

Laptops and Computers

You can read books purchased on Google Play using your computer's web browser.

eReaders and other devices

To read on e-ink devices like the Sony eReader or Barnes & Noble Nook, you'll need to download a file and transfer it to your device. Please follow the detailed Help center instructions to transfer the files to supported eReaders.
With Beginning Android Web Apps Development, you'll learn how to apply HTML5, CSS3, JavaScript, Ajax and other Web standards for use on the Android mobile platform, by building a variety of fun and visually stimulating games and other web applications! If you've done some basic web development, and you want to build your skills to create exceptional web apps, you'll find everything you seek in the discussions and examples in this book.

Each application you'll build in Beginning Android Web Application Development will show you solutions that you can apply to many of your own projects. Each example shares techniques and coding solutions that will inspire your own work. You'll learn how to tie your Android apps into Twitter through two apps that you'll build: Who's that Tweet?!, a quiz game based on celebrity accounts, and I Love Ham, a coding investigation into search phrases and rhyming.

Your Android web app development skills will then proceed in another direction, as you discover the power of HTML5 in two game apps: Scavenger Hunt, which introduces you to the HTML5 GPS location API, and Spies!, a location-based application that shows you how to use CSS3, Ajax, and HTML5 within multi-player environments. You'll also create an Android web application which checks the arrival time of buses and light-rails through the use of Portland, Oregon's open Tri-Met data API! This app is a great template for other apps you may want to build in the future, and showcases the important techniques for incorporating cloud-based apps into web games. After reading Beginning Android Web Apps Development, you will have built real apps and developed along the way the skills you'll need to create highly interactive, professional web applications... and, your journey will be engaging and enjoyable!

Beginning Java 7 guides you through version 7 of the Java language and a wide assortment of platform APIs. New Java 7 language features that are discussed include switch-on-string and try-with-resources. APIs that are discussed include Threading, the Collections Framework, the Concurrency Utilities, Swing, Java 2D, networking, JDBC, SAX, DOM, StAX, XPath, JAX-WS, and SAAJ. This book also presents an introduction to Android app development so that you can apply some of its knowledge to the exciting world of Android app development.

This book presents the following table of contents:

Chapter 1 introduces you to Java and begins to cover the Java language by focusing on fundamental concepts such as comments, identifiers, variables, expressions, and statements.

Chapter 2 continues to explore this language by presenting all of its features for working with classes and objects. You learn about features related to class declaration and object creation, encapsulation, information hiding, inheritance, polymorphism, interfaces, and garbage collection.

Chapter 3 focuses on the more advanced language features related to nested classes, packages, static imports, exceptions, assertions, annotations, generics, and enums. Additional chapters introduce you to the few features not covered in Chapters 1

through 3.

Chapter 4 largely moves away from covering language features (although it does introduce class literals and strictfp) while focusing on language-oriented APIs. You learn about Math, StrictMath, Package, Primitive Type Wrapper Classes, Reference, Reflection, String, StringBuffer and StringBuilder, Threading, BigDecimal, and BigInteger in this chapter.

Chapter 5 begins to explore Java's utility APIs by focusing largely on the Collections Framework. However, it also discusses legacy collection-oriented APIs and how to create your own collections.

Chapter 6 continues to focus on utility APIs by presenting the concurrency utilities along with the Objects and Random classes.

Chapter 7 moves you away from the command-line user interfaces that appear in previous chapters and toward graphical user interfaces. You first learn about the Abstract Window Toolkit foundation, and then explore the Java Foundation Classes in

terms of Swing and Java 2D. Appendix C explores Accessibility and Drag and Drop.

Chapter 8 explores filesystem-oriented I/O in terms of the File, RandomAccessFile, stream, and writer/reader classes.

Chapter 9 introduces you to Java's network APIs (e.g., sockets). It also introduces you to the JDBC API for interacting with databases along with the Java DB database product.

Chapter 10 dives into Java's XML support by first presenting an introduction to XML (including DTDs and schemas). It next explores the SAX, DOM, StAX, XPath, and XSLT APIs. It even briefly touches on the Validation API. While exploring XPath, you encounter namespace contexts, extension functions and function resolvers, and variables and variable resolvers.

Chapter 11 introduces you to Java's support for SOAP-based and RESTful web services. As well as providing you with the basics of these web service categories, Chapter 11 presents some advanced topics, such as working with the SAAJ API to communicate

with a SOAP-based web service without having to rely on JAX-WS. You will appreciate having learned about XML in Chapter 10 before diving into this chapter.

Chapter 12 helps you put to use some of the knowledge you've gathered in previous chapters by showing you how to use Java to write an Android app's source code. This chapter introduces you to Android, discusses its architecture, shows you how to

install necessary tools, and develops a simple app.

Appendix A presents the solutions to the programming exercises that appear near the end of Chapters 1 through 12.

Appendix B introduces you to Java's Scripting API along with Java 7's support for dynamically typed languages.

Appendix C introduces you to additional APIs and architecture topics. Examples include Accessibility, classloaders, Console, Drag and Drop, Java Native Interface, and System Tray.

Appendix D presents a gallery of significant applications that demonstrate various aspects of Java.

Unfortunately, there are limits to how much knowledge can be crammed into a print book. For this reason, Appendixes A, B, C, and D are not included in this book's pages. Instead, these appendixes are freely distributed as PDF files. Appendixes A and B are bundled with the book's associated code file at the Apress website (http://www.apress.com/9781430239093). Appendixes C and D are bundled with their respective code files at my TutorTutor.ca website

(http://tutortutor.ca/cgi-bin/makepage.cgi?/books/bj7).

This concise book empowers all Java developers to master the complexity of the Java thread APIs and concurrency utilities. This knowledge aids the Java developer in writing correct and complex performing multithreaded applications.
Java's thread APIs and concurrency utilities are among its most powerful and challenging APIs and language features. Java beginners typically find it very difficult to use these features to write correct multithreaded applications. Threads and the Concurrency Utilities helps all Java developers master and use these capabilities effectively.

This book is divided into two parts of four chapters each. Part 1 focuses on the Thread APIs and Part 2 focuses on the concurrency utilities. In Part 1, you learn about Thread API basics and runnables, synchronization and volatility, waiting and notification, and the additional capabilities of thread groups, thread local variables, and the Timer Framework. In Part 2, you learn about concurrency utilities basics and executors, synchronizers, the Locking Framework, and the additional capabilities of concurrent collections, atomic variables, and the Fork/Join Framework.
Each chapter ends with select exercises designed to challenge your grasp of the chapter's content. An appendix provides the answers to these exercises. A second appendix explores how threads are used by various standard class library APIs. Specifically, you learn about threads in the contexts of Swing, JavaFX, and Java 8's Streams API.
What You Will Learn
• How to do thread runnables, synchronization, volatility, waiting and notification, thread groups, thread local variables, and the Timer Framework• How to create multithreaded applications that work correctly.• What are concurrency utilities basics and executors• What are synchronizers, the Locking Framework, concurrent collections, atomic variables, and the Fork/Join Framework and how to use them• How to leverage the concurrency utilities to write more complex multithreaded applications and achieve greater performance• How to apply thread usage in Swing, JavaFX, and Java 8 Streams API contexts
Audience
The primary audience is Java beginners and the secondary audience is more advanced Java developers who have worked with the Thread APIs and the Concurrency Utilities.
©2019 GoogleSite Terms of ServicePrivacyDevelopersArtistsAbout Google|Location: United StatesLanguage: English (United States)
By purchasing this item, you are transacting with Google Payments and agreeing to the Google Payments Terms of Service and Privacy Notice.