• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Android - Are some fundamentals more important than others?

 
Ranch Hand
Posts: 282
Eclipse IDE PHP Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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!
 
Ranch Hand
Posts: 231
Android IntelliJ IDE Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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!)
 
author
Posts: 41
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.

Jeff
 
Everyone is a villain in someone else's story. Especially this devious tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic