File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes Android - Are some fundamentals more important than others? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Android - Are some fundamentals more important than others?" Watch "Android - Are some fundamentals more important than others?" New topic

Android - Are some fundamentals more important than others?

Michael Angstadt
Ranch Hand

Joined: Jun 17, 2009
Posts: 277

Hi Jeff,

Out of all the Java fundamentals that you cover in your book, are there any topics that you placed a larger emphasis on because you thought them to be important for developing Android applications? Thanks!

James Elsey
Ranch Hand

Joined: Dec 21, 2007
Posts: 228

From my experience so far I'd say that the android lifecycle is probably one of the most important parts to understand (still struggling myself!)

Kind Regards, James. OCPJP 1.6 || My SCJP / OCJCP Study Notes
Interested in : SCJP, Google App Engine, Stripes, Android;|| My Bite-Size SCJP Study Blog
Jeff Friesen
Ranch Hand

Joined: Sep 19, 2010
Posts: 41
Hi Michael,

My book's biggest emphasis is the Java language. I have tried to cover every language feature present in Java (as of version 5 -- version 6 did not introduce new language features). I believe that a solid understanding of the Java language, especially advanced features such as generics, will be helpful in writing Android code. I also cover many Java version 7 features (based on current knowledge -- there may be some changes when Java version 7 is released) because I believe that at least some of these features will be useful for developing Android app source code.

As always, there are pitfalls. For example, I recently discovered that one might want to avoid using Java's enum language feature excessively in Android because the overhead that this feature entails can impact memory footprint and performance. In Java, enums are a special kind of class, and too much class loading can slow things down. I also recall a discussion about the benefits of using the enhanced for loop in Android, but the exact rationale escapes me at the moment.

I'm planning to introduce a blog post on my website that discusses potential Java language feature pitfalls and benefits from the Android perspective. Stay tuned.

My book's second biggest emphasis are foundational Java APIs. These including the basic APIs such as Math, Package, String, Threading, and Reflection. These also include utility APIs such as the collections framework, internationalization, and concurrency. Finally, the foundational Java APIs include I/O, such as File, RandomAccessFile, and stream/reader/writer.

Keep in mind that Android's APIs are based on Java version 5.0/1.5 APIs. My book and the upcoming six PDF-based chapters only cover APIs that are supported by Android as well as Java SE, although I bent this rule by including a tiny amount of Swing in the context of internationalization, so that I could show the results of a localized application. However, there is no Java version 6 or version 7 API coverage because Android does not support such APIs.

All the best.

I agree. Here's the link:
subject: Android - Are some fundamentals more important than others?
jQuery in Action, 3rd edition