Chapter 15

The Ten Most Illustrative Applications for Android

In This Chapter

  • Useful and engaging Android apps
  • Applications that illustrate the various features of the Android SDK

After experimenting with approximately 300 apps in the Android Market we have found what we think are the 10 outstanding Android apps to showcase in this chapter. We present these 10 apps in four popular categories: gaming and entertainment, productivity, health and wellness, and map-based. The idea is to give you a sense of how feature-rich and engaging an app must be in order to be successful in the Android Market. The apps we chose also nicely illustrate the use of the various Android capabilities we describe in earlier chapters, so we point out these uses in our descriptions.

Some apps in this chapter showcase the more complex capabilities of the Android SDK that we don't cover in this book. We point them out as well so that at least you know they exist and can find out more from the resources we list in Chapter 14.

The nice part about these apps is that you don't have to spend money for them — because they're all free.

Angry Birds (Rovio Mobile Ltd.)

Angry Birds is one of the most addictive games ever, and it's technically well done. In addition to its attractive, smooth, and silky graphics, it incorporates realistic physics and has a plethora of levels (440 of them) to keep you engaged.

Playing Angry Birds is simple (see Figure 15-1): In a nutshell, you catapult cute — and annoying — birds at the enemy pigs’ fortresses, hoping to demolish them and, er, make irrelevant the pigs inside.

As you're playing the game, click the Menu button to see the pop-up Options menu, shown in Figure 15-2. It uses the Android SDK menu capabilities we discuss in Chapter 3. You can see that these menus have no text — only icons (albeit cool icons).

Figure 15-1: Playing Angry Birds.

images

Figure 15-2: The Options menu in Angry Birds.

images

While you're at it, notice that you can click the Speaker icon on the Options menu to stop and start the background music. The app does this by making a call to a music service, in a manner similar in implementation to the service illustrated in the Tic-Tac-Toe application in Chapter 11.

Sudoku Free (Genina.com)

We freely admit that anything beyond the Easy level of Sudoku is beyond us, too! That said, Sudoku Free, shown in Figure 15-3, helps us while away the time while watching students struggle during our long, difficult, and boring exams.

Figure 15-3: Playing Sudoku.

images

We have found more than one Sudoku game on the market. Of these, we consider Sudoku Free the best. Understanding how to play the game is easy — winning a game is, of course, quite difficult.

This game provides good examples of multiple SDK capabilities:

  • The use of 2D graphics (refer to Figure 15-3)
  • An animated and threaded splash screen on which you tap your way to a new game even while the animation is progressing

    The animated image shown in Figure 15-3 also shows an example of live wallpaper — a topic we don't cover in this book but still a cool capability in the Android SDK.

  • The use of PreferenceActivity (see Figure 15-4)

Figure 15-4: Sudoku preferences.

images

image Change the orientation of the device to see the use of different layouts for different orientations.

Pandora (Pandora Internet Radio)

Move over, iTunes — here comes Pandora! Okay, we might be exaggerating, but even with a collection of a thousand or more songs in a library, all of us grow bored with our collection and want to listen to something new. Pandora, shown in Figure 15-5, is just the thing — an Internet radio-like application that streams music to an Android device, just like a radio station streams to a radio.

We want to point out a feature intended to make Pandora more usable. When you first open the app, notice that it presents a data usage warning, as shown in Figure 15-6. Pandora is looking out for users by sensibly pointing out that accessing numerous songs over the Internet, most likely via cellular networks, will cost some serious green. Note also that the app lets users choose not to see the warning so that it doesn't continually annoy them after they have been warned.

Figure 15-5: Pandora Internet Radio for Android.

images

Figure 15-6: The Pandora data usage warning.

images

Pandora uses threading, an Android SDK feature, within its splash screen activity, to implement the waiting period of the splash screen (like we do in the Tic-Tac-Toe app). Pandora then makes use of the Options menus (tap the Menu button on various Pandora screens to see these menus) and the LinearLayout layout element, along with the List View widget to list users' radio stations. When you tap the name of a radio station, you see an ImageView element that shows a picture of the band playing the current song. Note that Pandora (most likely) uses an audio player service, similar to the one used in our Tic-Tac-Toe example, because the music continues to play even when you open another app on top of Pandora. However, unlike the simple audio service in Tic-Tac-Toe, Pandora's service is streaming the music over the network (using a web service; see Chapter 10).

Voice Recorder (Mamoru Tokashiki)

The simplicity of design in the Voice Recorder app has won it four stars and more than 20,000 downloads. Someone using this app can record any type of audio, such as a memo or a music performance. The audio is then saved on the device, and the file is automatically titled by the date and time of the recording (see Figure 15-7).

Figure 15-7: The Voice Recorder Home screen.

images

Users can, of course, replay files, send them via Gmail, or set them as ringtones. Other neat touches include being able to search by title and date and schedule recordings to start at specific times and for specific durations (see Figure 15-8).

Figure 15-8: Additional options in Voice Recorder.

images

A Voice Recorder walk-through shows these elements of the Android SDK in use:

  • PreferenceActivity
  • Options menu
  • Intents (to launch other applications, such as Gmail)
  • ListView layout (in its listing of the audio files that are created)
  • A browser being launched and directed to the developer's website (www.tokasiki.com) when users make donations

Most of these topics are covered in Chapter 3, with additional details and examples in Chapter 11. Layouts are covered in Chapter 5, and launching a browser is covered in Chapter 10.

AppAlarm LITE (episode6)

The free version of AppAlarm LITE (as we were writing this book, AppAlarm Pro also became free) allows an Android device to be used as a reminder service, and even as a clock radio. You use AppAlarm to set alarms that are tied to other apps. You can see the alarm setup screen in Figure 15-9. When an alarm goes off, the app tied to the alarm is launched. When you hook up the app to Pandora, for example, you can have Pandora launch a specific radio station.

Figure 15-9: The alarm settings screen in AppAlarm LITE.

images

So how does AppAlarm fire off the apps the alarms are linked to? If you guessed “By using an intent” (see Chapter 3 and Chapter 11), you guessed correctly. In fact, the screen from which you select the app, shown in Figure 15-10, lets you define a custom intent. Go ahead — launch your e-mail from AppAlarm (see Chapter 11) — we don't care!

Figure 15-10: The App to Launch screen in AppAlarm LITE.

images

Evernote (Evernote Corporation)

In Evernote, shown in Figure 15-11, you create notes representing thoughts, plans, and reminders and then save them to the cloud. You can access these notes on your Android device, and also through the web.

Figure 15-11: The Evernote Welcome screen.

images

When you create an account, note that as you enter your username, you receive immediate feedback, via a web service (see Chapter 10), about whether the username already exists.

We imagine that the layout of the note creation screen, shown in Figure 15-12, was created using GridView.

Finally, try to create a Snapshot note. Note how the built-in camera app is launched using an intent and the startActivityForResult(…) method (see Chapter 11).

Figure 15-12: The Evernote note creation screen.

images

Cardio Trainer (WorkSmart Labs, Inc.)

Yes, as the Cardio Trainer app description, shown in Figure 15-13, says, it is our app for walking, running, biking, and other activities.

Figure 15-13: Cardio Trainer has lots of features.

images

Cardio Trainer has a comprehensive set of features; you can create workouts, exercise by using your phone, and (as you become fitter by the day) track your progress!

From the Home screen, tap Settings to view the Settings menu, shown in Figure 15-14. We hope that you thought, “Aha! It's a PreferenceActivity!” (Refer to Chapter 3.)

Figure 15-14: The Cardio Trainer Settings menu.

images

RunKeeper (FitnessKeeper Inc.)

The RunKeeper website says, “RunKeeper makes tracking your workouts fun, social, and easy to understand so that you can improve the quality of your fitness.” We agree.

From an Android SDK point of view, RunKeeper is an outstanding location-based application. When you create an activity with the GPS input type, as shown in Figure 15-15, and tap the Start Activity button, the app tracks the total distance, as shown in Figure 15-16.

Figure 15-15: Creating an activity in RunKeeper.

images

Figure 15-16: Recording activity data in RunKeeper.

images

Yelp (Yelp.com)

According to the Yelp.com website, “Yelp is the fun and easy way to find and talk about great (and not so great) local businesses.” As you can see in Figure 15-17, the types of businesses are shown in GridView (see Chapter 5).

Figure 15-17: The Yelp Home screen.

images

Based on the number of posted reviews, Yelp is most often (and best) used for finding restaurants and bars and similar locations. (If you're wondering whether For Dummies authors visit bars, the answer is “Heck, yeah!”) Yelp is also helpful for finding anything local, ranging from auto repair to ATM machines.

After you select a category, such as Restaurants, Yelp shows you a sorted list using ListView (see Chapter 5). Though, by default, the list is sorted by Best Match, you can filter the sort order to sort by distance and rating, by distance and price, and whether the business is open at this moment. (By using these criteria, you can look for a nearby gas station or cheap restaurant that's open late, for example.)

Implicit in this functionality is that Yelp is using the user's location to identify locations close to him. We describe how to use location services in Chapter 10. Considering that Yelp is a location-based app, you can expect it to use MapView (described in Chapter 10), and it does, as shown in Figure 15-18.

Try turning off the network and then using the app. You will see an error message about the network. See Chapter 8 to find out how to test the network before accessing it so that the app does not appear to hang.

Figure 15-18: Using Map view in Yelp.

images

Places (Google Inc.)

A blurb on AndroidAndMe (a new Android-specific forum; also see http://androidandme.com/2010/07/applications/google-maps-bringsplaces-to-android-with-4-4-update/) says, “Google Maps brings Places to Android with 4.4 update.” The Places Home screen is similar to Yelp (described in the preceding section), as you can see in Figure 15-19, though you can see some differences and subtle improvements on the Yelp interface, such as showing the filtering and sorting criteria on the list screen itself.

Figure 15-19: The Places Home screen.

images

The SDK capabilities that Places uses are also similar to the ones Yelp uses:

  • GridView: Used on the Home screen (refer to Figure 15-19).
  • ListView: Used on lists (see Chapter 5).
  • MapView: Used when locations are shown on a map (see Chapter 10 for how to use MapView). Another small Places improvement over Yelp is in performance — see the speed with which the Map view is displayed. For hints on how to make your app perform well, see Chapter 8.

Of course, the various menus are shown using the Options menu capability of the Android SDK. You can see how to implement Options menus in Chapter 3.

The screen shown in Figure 15-20 illustrates how to ensure responsiveness and, consequently, usability in an app. When you tap a category name and the network is slow, you see the screen shown in the figure. This slight delay is by itself a good thing because it shows the user that the computer isn't frozen — just working away. You can see that the application is still responsive because the message is being displayed in a thread and the main application thread is still active. If you tap either the Back or Home button, Android navigates away from the application.

Figure 15-20: Waiting for network response.

images

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.137.217.198