Tuesday, 27 March 2012

Code Downloads for "Android Wireless Application Development Volume I: Android Essentials" Available Here

We've added the source code downloads for the book, Android Wireless Application Development Volume I: Android Essentials, to the downloads page.

Download it now to use with your copy of the book or ebook!

Monday, 5 December 2011

Code Downloads for "Introducing Android Development with Ice Cream Sandwich" Available Here

We've added the source code downloads for the minibook, Introducing Android Development with Ice Cream Sandwich, to the downloads page. The code includes the fix for previously mentioned errata.

Download it now to use with your copy of the ebook.

Sunday, 4 December 2011

Errata for "Introducing Android Development with Ice Cream Sandwich"

We recently completed a very short, very small book project: "Introducing Android Development with Ice Cream Sandwich." It's a minibook that was targeted to release with Ice Cream Sandwich. As such, the testing and development timeline was incredibly short and truncated, and devices are still not available to everyone who wants them worldwide.

Right off, we've had a reader point out one issue:

In Chapter 1, when adding the code to play an audio file from a remote URL, Android 4 (Ice Cream Sandwich) now requires and enforces the Internet permission. We've tested on previous SDK versions and, indeed, this permission was not enforced on any prior platform versions. In this case, we completely agree that it should have been -- the sample application has been using Internet data without needing to request a permission since Android 1.0-but now it needs this permission.

Luckily, the LogCat output makes this crystal clear:


12-04 15:08:15.674: D/MediaPlayer(605): Couldn't open file on client side, trying server side
12-04 15:08:15.684: W/ServiceManager(36): Permission failure: android.permission.INTERNET from uid=10044 pid=605
12-04 15:08:15.684: E/MediaPlayerService(36): Request requires android.permission.INTERNET
12-04 15:08:15.684: E/MediaPlayer(605): Unable to to create media player

The Android documentation has been updated to state, at the class level, that MediaPlayer requires the INTERNET permission when used with network based content. As it should. What isn't stated is if older SDKs will eventually be updated to enforce this permission or not. Right now, we only see this permission being enforced when running the application on API Level 14, which, right now, is less than 1% of all devices in the field. 

We apologize for any inconvenience or confusion this issue has caused. The update will also be applied to the full book, Android Wireless Application Development: Volume 1: Android Essentials: Third Edition (or, as we like to call it, AWAD3EV1). We will also update the code available on this website to reflect the permission policy change. 


Thursday, 17 November 2011

Kindle Fire: ADB Connections and USB Debugging

Amazon Appstore on Kindle
Amazon's Kindle Fire is looking to be one of the hottest non-Google Mobile Services Android devices to date.  If you've got one, you may have quickly noted that you can't necessarily immediately connect it up via ADB. A quick search returns all kinds of various solutions.

Turns out, Amazon also documents the solution. In fact, they have entire section in their developer FAQ on the Kindle Fire. The linked PDF, Connecting Your Kindle Fire To ADB, has all of the steps necessary and a linked driver will help Windows 7 users.

If you already had your application on Amazon's Appstore and it works on Kindle Fire, users are probably already downloading it. 

Wednesday, 19 October 2011

Late Night Dessert: Ice Cream Sandwich Arrives

Android 4.0, Ice Cream Sandwich Mascot
Android developers were treated to a late night dessert last night. At least those in North America. The Ice Cream Sandwich and Galaxy Nexus announcements were at 10pm in our local time zone.

What was announced? There were actually several different areas of the announcement. First, there is a new device coming: the Galaxy Nexus. Second, the Android 4.0 SDK is out -- download it now if you haven't already. Third, several new user features for Android were announced and demonstrated in the context of the Galaxy Nexus.

Beyond those basic announcements, though, came the release of Android SDK Tools R14, Eclipse plug-in R14, updated -- and renamed -- compatibility package. The compatibility package is now on release 4, and is called the support package. All come with updates. The SDK Tools may be the most interesting. The Android Open Source Tools blog has been highlighting recent changes, many of which look exciting.

What wasn't announced? There was no word on Google TV -- is it still slated for Honeycomb, or will it jump to Ice Cream Sandwich and when -- we don't know. There was no word on when older devices -- tablets and phones -- will get Ice Cream Sandwich, Android 4.0, firmware. Or even if they will (we assume they will).

Now that ICS is out and known, what are you expected from whatever J (probably not a trademark name, like we've seen rumored) dessert is chosen for the next major release?

Thursday, 1 September 2011

Win a Copy of the Second Edition of SAMS Teach Yourself Android Application Development in 24 Hours!

There's still time! You've got until September 8th to enter to win a copy of our beginner Android development book over at the Android Police website! Just post a comment about an app idea you've got and you'll get a chance to win one of five copies of SAMS Teach Yourself Android Application Development in 24 Hours, Second Edition!

We look forward to reading your comments and good luck!

(Note: This particular contest appears to available to anyone in the world!)

This book is our most recent in the SAMS series and is for beginners compared to our more advanced title, Android Wireless Application Development (2nd Edition) (Developer's Library).

Monday, 18 July 2011

Several New Android Updates

Android API Level 13 is
Android 3.2 is
Honeycomb
The Android team has posted several new updates in the last few days. The most obvious, which was already rolling out to consumer devices, is the Android 3.2 SDK. This is API Level 13 and is the most recent incremental update to Honeycomb. It's main new features revolve around expanded screen compatibility support. New resource qualifiers are available to developers and official support is in place for devices with screen resolutions of 1024x600 (most frequently found on 7" tablets).

The Android NDK was updated to release 6. This adds support for the x86 Application Binary Interface (ABI). Although it doesn't say as much, we're assuming this is in advance of broad availability of Android applications for Google TV devices, many of which are on Intel x86 platforms (such as the Logitech Revue, which is built around an Intel Atom processor).

The Compatibility Package has been updated to Release 3. This release marks a change from previous releases in that it now has both API Level 4 compatibility classes, several classes that are no longer exclusively for compatibility, but rather add new, useful features for developers. This includes versions of these classes for API Level 13, such that those classes behave more appropriately on the new Honeycomb release (we assume).

This has left us wondering about the future of the Compatibility Package. We've found it incredibly useful and one of the best ideas out of the Android team for adding higher level features that could be implemented on old platforms. What we're wondering is if this will become a pattern? Instead of adding a new, higher level, feature to the base API and then adding compatibility classes, will they start adding such classes directly to the Compatibility Package and now to the the base API? This would ultimately result in more efficient APIs on all SDK levels.

Either way, the Compatibility Package continues to be a very important piece of the Android picture.

Which of these updates is most interesting to you? What new opportunities do they allow for you as application developers. We love to know what you're working on!

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Powered by Blogger