Tuesday, 4 March 2008

Announcing: Apps for Android

Screenshot of WikiNotes for AndroidWe are pleased to announce that a new open source project has been created on Google code hosting called apps-for-android. Our goal is to share some sample applications that demonstrate different aspects of the Android platform.



The first application to be included in the new project is called WikiNotes for Android.



For anyone not familiar with the concept of a wiki, it is a simple way to link up pages of information using WikiWords (words that use CamelCase). For example, in the previous sentence, both WikiWords and CamelCase would become live links in a Wiki, and would take you to pages of information.



WikiNotes for Android is a form of wiki known as a personal wiki. These run on desktops or (in this case) mobile computing devices, and many people like them. They bring a bit more structure to your notes than just a list of subjects. You can choose to link notes or pages up in any manner you like.



This particular implementation uses a regular expression to match WikiWords and turn them into links that fire Intents to go to other notes. Because of the way the links are implemented, the application will also create links out of telephone numbers that take you to the dialer and URLs that start up the browser.



Search by title and content is also implemented, so even if you forget the structure, you can still find that all-important note about where you left your car in the airport car park.



This wiki has a view mode and an edit mode. In view mode, the links become active and allow you to navigate to other notes, or to other activities like dialer and web browser. In edit mode, you see a plain text view that you can edit, and when you confirm the changes it goes back to view mode. There is both a menu entry and keyboard shortcut to switch to edit view, so that you can very quickly make changes. And, if you get lost in the note structure, there is also an option to take you back to the start page.



WikiNotes for Android was written to demonstrate a number of core concepts in Android, including:




  • Multiple Activities in an Application (View, Edit, Search, etc.)

  • Default intent filters for View/Edit/Search based on MIME types

  • Life cycle of Activities

  • Message passing via Bundles in Intents

  • Use of Linkify to add Intent-firing links to text data

  • Using Intents within an application

  • Using Intents to use an Activity within another application

  • Writing a custom ContentProvider that implements search by note title

  • Registration of ReST-like URIs to match titles, and do contents searches

  • SQLite implementations for insert, retrieve, update, delete and search

  • UI layout and creation for multiple activities

  • Menus and keyboard shortcuts



The application remains small in size and features to make it easy to understand. In time, more features will be added to the application to make it more useful, but a sample version with the minimal functionality will always be available for developers new to the Android platform.



If you believe that firing an Intent for every link that is clicked is sub-optimal and will waste resources, please take a look at the running application using DDMS. You will see how efficiently Android re-uses the running Activities and indeed, this is one of the main reasons WikiNotes for Android was written. It demonstrates that using the Android Activities and Intents infrastructure not only makes construction of component-based applications easy, but efficient as well.



There will also be a series of technical articles about the application right here on the Android Developer blog.



And please, keep an eye on the apps-for-android project, as more sample applications will be added to it soon.



Happy wiki-ing.

Monday, 3 March 2008

Android SDK update: m5-rc15 released

Earlier today we released an update to the Android SDK – we're calling it m5-rc15. With this update, the SDK now includes all of the incremental changes we've been making to the online documentation since m5-rc14 was released in mid-February. In addition to the latest documentation, we've also fixed a security issue involving handling of image files.



We recommend that you install m5-rc15 at your earliest convenience. The update doesn't change any of the Android APIs or introduce any new ones. Eclipse users don't need to update the ADT plug-in either.



Once you've unzipped the file on your machine, you will want to update things like your PATH variable and, if you're using Eclipse, the SDK location setting for ADT (hint: Preferences > Android).

Wednesday, 13 February 2008

Android SDK m5-rc14 now available

On behalf of the entire Android team, I'm happy to let you know that an updated version of the Android SDK – we're calling it m5-rc14 – is now available. Today, we're continuing the early look at the Android SDK that we started back in November by providing updates to the Android APIs and the developer tools based, in part, on the great feedback and suggestions developers have been giving us. We're excited about the progress that we've made and look forward to making additional updates in the future as the platform evolves towards production-readiness.

There are a couple of changes in m5-rc14 I'd like to highlight:

  • New user interface - As I mentioned when we introduced the m3 version of the Android SDK, we're continuing to refine the UI that's available for Android. m5-rc14 replaces the previous placeholder with a new UI, but as before, work on it is still in-progress.
  • Layout animations - Developers can now create layout animations for their applications using the capabilities introduced in the android.view.animation package. Check out the LayoutAnimation*.java files in the APIDemos sample code for examples of how this works.
  • Geo-coding - android.location.Geocoder enables developers to forward and reverse geo-code (i.e. translate an address into a coordinate and vice-versa), and also search for businesses.
  • New media codecs - The MediaPlayer class has added support for the OGG Vorbis, MIDI, XMF, iMelody, RTTL/RTX, and OTA audio file formats.
  • Updated Eclipse plug-in - A new version of ADT is available and provides improvements to the Android developer experience. In particular, check out the new Android Manifest editor.

You can find more information about what's changed in a couple of documents that we've published. First is an overview of the changes to the Android APIs in API Changes Overview. If you want a more granular view of what's changed, an API diff between m3-rc37 and m5-rc14 is also available. Finally, Upgrading the SDK provides links to the two previously referenced documents and the release notes, as well as instructions on how to upgrade your development environment.

We still need your help in shaping the platform, so if you find issues with the Android APIs or the developer tools, please let us know through the Android Issue Tracker. If you have general comments or questions, please head on over to the Android groups to get in touch.

We're looking forward to all the applications that developers will create using this new version of the Android SDK. Of course, you can use m5-rc14 or any older version of the SDK for your Android Developers Challenge submission.

Monday, 11 February 2008

Android in Harvard Square

As promised, there's another Android event coming up – though a little closer to home this time. Our Android Advocates are heading to Boston for a Code Day that will be taking place on February 23. Registration is now open, but space is limited so make sure you reserve your spot.



Here are the details:
















Date: Saturday, February 23, 2008
Time: 10:00 am - 4:00 pm
Location: The Charles Hotel Harvard Square

1 Bennett St

Cambridge, MA 02138



As a reminder, a Code Day is an immersive introduction and hands-on session for Android.



It's promising to be a real Android nor'easter. We hope to see you there!

Followers