Fragmented - Android Developer Podcast

014: Effective Java for Android developers : Item 1


Listen Later

We've mentioned the book "Effective Java" by Joshua Bloch quite a few times on previous episodes. At this point, everyone knows they should have read this book (quadruple times). But it's a dense read and everyone could use a reading buddy. Also, what does Effective Java look like through the eyes of an Android developer?

In this second installment of our Fragment (a.k.a mini-episode), we thought we'll do our listeners a favor and help with that reading. We introduce the very first of these venerable "Items": Consider providing static factory methods instead of constructors.

Stay tuned for more items from our "Effective Java for Android developers" Fragment series.

Show Notes:
  • Effective Java (2nd Edition) - Joshua Bloch
  • Consider providing static factory methods instead of constructors
    • static factory method makeText for Toast class [androidxref.com]
    • ObjectAnimator [androidxref.com]:
      • .ofInt [androidxref.com]
      • .ofArgb [androidxref.com]
      • .ofFloat [androidxref.com]
      • Advantages:
        1. You can control the name and thus give it much more meaningful names
        2. You are not required to create a "new" object each time they are invoked
        3. You can even return an object that's a subtype of the return type (unlike constructors which only return class type)
          • e.g.  Java Collections framework [grepcode.com]
          • Disadvantages:
            1. Classes without public or protected constructors cannot be subclassed
            2. Static factory methods are not readily distinguishable from other static methods
            3. Takeaways
              1. "Consider" using static factory methods (not always)
              2. Use  newInstance when creating Fragments [androiddesignpatterns.com]
              3. Use newIntent static factory method for creating intents inside the target activity.
              4. Contact us:
                • @fragmentedcast [twitter.com]
                • @donnfelker [twitter.com]
                • @kaushikgopal [twitter.com]
                • ...more
                  View all episodesView all episodes
                  Download on the App Store

                  Fragmented - Android Developer PodcastBy Donn Felker, Kaushik Gopal

                  • 5
                  • 5
                  • 5
                  • 5
                  • 5

                  5

                  68 ratings


                  More shows like Fragmented - Android Developer Podcast

                  View all
                  Design Details by Brian Lovin, Marshall Bock

                  Design Details

                  361 Listeners

                  Developer Tea by Jonathan Cutrell

                  Developer Tea

                  402 Listeners

                  Does Not Compute by Sean Washington, Rockwell Schrock

                  Does Not Compute

                  53 Listeners

                  Toolsday by Una Kravets, Chris Dhanaraj

                  Toolsday

                  48 Listeners

                  Swift Unwrapped by JP Simard, Jesse Squires, Spec Network, Inc.

                  Swift Unwrapped

                  90 Listeners