A 30 minute guide to integrating Facebook in your Android application

February 28th, 2011 ddewaele 87 comments

Introduction

The goal of this article is to get Facebook integration up & running from your Android app in 30 minutes. The guide will show you how to

  • setup a Faceook test account
  • register a Facebook application
  • authenticate the user in your Android application.
  • have the user update his Facebook wall from your Android application.

This guide is accompanied  by a sample application that’s available in Github in the AndroidFacebookSample repository. To import this project in Eclipse, I suggest using the EGit plugin that can be installed via the Main P2 Repository located at http://download.eclipse.org/egit/updates.

Before running this project, make sure you change the com.ecs.android.facebook.Sample.AndroidFacebookSample file to include your Facebook API key (see subsequent section).
Once you have sample application up & running, you can copy the relevant classes into your projects to have Facebook up & running from your Android application.

First things first … In order to integrate with Facebook, you need 2 things :

  • A Facebook test account, used in our Android application to login to Facebook and make status updates.
  • A Facebook application, used to inform the user in your Android application that this application is requesting you to login to Facebook.

Continue reading “A 30 minute guide to integrating Facebook in your Android application” »

Categories: Facebook SDK Tags: , , ,

A 30 minute guide to integrating Twitter in your Android application.

February 13th, 2011 ddewaele 51 comments

Important note : As an update to this article, I’ve prepared a new post entitled Improved Twitter OAuth for Android focussing on a more simple Oauth / Android experience, and using the Google APIs Client Library for Java.


The goal of this article is to get twitter integration up & running from your Android app in 30 minutes. The guide will show you how to

  • setup a twitter test account
  • register a twitter application
  • authenticate the user in your Android application.
  • have the user send tweets from your Android application.

This guide is accompanied  by a sample application that’s available in Github in the AndroidTwitterSample repository. To import this project in Eclipse, I suggest using the EGit plugin that can be installed via the Main P2 Repository located at http://download.eclipse.org/egit/updates.

Before running this project, make sure you change the com.ecs.android.sample.twitter.Constants file to include your consumer key and consumer secret. (see subsequent section).
Once you have sample application up & running, you can copy the relevant classes into your projects to have Twitter up & running.

Twitter uses the OAuth protocol to authorize your android application to send tweets on behalf of the end-user. The end-user will need to authenticate against Twitter (meaning that your application will not capture the twitter username / password). Once the user has authorized access, you’ll be able to send tweets on behalf of the user. We’ll use signpost library to handle the OAuth communication, and the Twitter4J library to handle the Twitter specific interactions (sending tweets).

Continue reading “A 30 minute guide to integrating Twitter in your Android application.” »

Categories: OAuth Signpost Tags: , , ,

Latify – a feature-rich Google Latitude client

February 3rd, 2011 admin No comments
Google Latitude is a free service from Google that allows you to share your current location with a selected number of your Google contacts. It also allows you to record your past location changes, and provides you with a dashboard view of your recently visited places. Google Latitude can be used from either a desktop application, or from your mobile phone. Google Latitude is well integrated in most Android phones. Through an extension on the Google Maps application, integration with Latitude is seamless. However, there are a couple of features that are missing in Google Latitude on Android phones, and that’s where Latify tries to fill in the gap.

Latify is an Android client for Google Latitude. With Latify, you can continuously update your current position when on the move or stationary. Even when you’re not online, Latify can sync up your location movements with Google Latitude once back online. Latify can be configured to update your location based on GPS positioning, even when running in the background. It also allows you to view and manipulate your history location stored at the Google Latitude servers. Latify uses OAuth for secure authorization and does not capture your password when logging into Google. All you need is a Google account, and a Latitude setup and you’re ready to go.

Included below are some of the Latify features

  • Record and sync your location changes in real-time to Google Latitude.
  • No need to have Latify running in the front.
  • Visualize & replay your location history on a map
  • Remove incorrect / redundant history entries
  • Re-publish your last known location at user-defined intervals when no GPS signal is available
  • Configure Latify to send an update of your last known location every minute, half hour , hour ,
  • Store your location updates on your phone without sending them to Latitude in realtime.
  • Push your location updates in one shot to Latitude (ex: when a WIFI connection is available)

Android Latify

Android Latify

Continue reading “Latify – a feature-rich Google Latitude client” »

Using Google Maps in your Android Application

January 18th, 2011 ddewaele 21 comments
In order to use Google Maps in an Android application, you need to make sure that the application is properly setup to be able to host a MapView.

Although it only takes a couple of steps to prepare your application for using Google Maps, failing to complete or skipping one of these steps can quickly turn this into an error-prone process.

The goal of this article is to go over the required steps in order to use Google Maps, and to list down the common mistakes that result in errors.

Continue reading “Using Google Maps in your Android Application” »

Categories: Google Maps Tags: ,

Understanding the LocationListener in Android

December 25th, 2010 ddewaele 8 comments

Introduction

Everybody who has done some Android development involving GPS location tracking is probably familiar with the LocationManager and LocationListener concepts.

  • The LocationManager provides access to the system location services
  • The LocationListener is used for receiving notifications from the LocationManager when the location has changed

However, there seems to be some doubt regarding the minTime and minDistance parameters that can be provided to the requestLocationUpdates call, and the way the locationlistener behaves.

Android Locationlistener

Continue reading “Understanding the LocationListener in Android” »

Integrating maven in your Android Eclipse projects

December 14th, 2010 ddewaele 5 comments
Managing dependencies is very important in software development. The ability to declare your dependencies, handle transitive dependencies, and fetch these dependencies automatically is one of the benefits of using Maven. Today I installed Ubuntu on my laptop, and started checking out my Android projects from my GitHub repository.
During that checkout, I was ashamed to find that some of them had external dependencies declared that couldn’t be found on my newly installed system.The dependencies were pointing to a location on the desktop of the machine where I did the check-in. Shame on me.

maven-logo

maven-logo

One of the strenghts of maven2 is that by declaring the dependencies in the pom.xml, anyone checking out the pom will automatically have all of it’s dependencies resolved.
Having a JEE background, where maven2 is heavily used in my everyday working environment, I wondered if it was possible to combine maven2 with my Android projects, and came accross 3 interesing projects that make it possible.
The goal of this article is to provide you with a step-by-step guide to glue everything together, and start developing your Android apps in Eclipse using Maven2.
Continue reading “Integrating maven in your Android Eclipse projects” »

Categories: Eclipse IDE Tags: , ,

Debug a remote Android process in Eclipse

December 7th, 2010 ddewaele 4 comments
Most people that are developing Android applications using Eclipse will probably use the Eclipse ADT plugin. The plugin offers a lot of functionality, including

  • Debugging features, via it’s integration with the Dalvik Debug Monitor Server (DDMS)
  • Emulator control from the Eclipse workspace
  • XML Validation for Android specific files (strings, views,  menus , ….)
  • Project Wizards, to facilitate the creation and packaging of your Android app

In this short article, we’ll be discussing the debugging of remote android processes (the processes defined in your manifest using the android:remote attribute).

Android Eclipse ADT Plugin

Continue reading “Debug a remote Android process in Eclipse” »

Source code for OAuth Android sample in Github

November 19th, 2010 admin No comments
Source code for Implementing the OAuth flow in Android has been uploaded to Github. oauth-android-logo
Categories: Uncategorized Tags:

Handling progress dialogs and orientation changes

November 14th, 2010 ddewaele 16 comments
ProgressDialogs in Android are easy. At least, that was my initial thought. As long as you don’t change the screen orientation that is. Once you start moving your phone around after – or worse, during – an active progress dialog, you’ll soon find that out that your application isn’t behaving the way it should.
Luckily for us, there are several ways to tackle this.I’ve created a sample application, available on GitHub outlining the problem, and some solutions of dealing with it gracefully. The repository is located here.

Continue reading “Handling progress dialogs and orientation changes” »

Google API Console

November 12th, 2010 ddewaele No comments
As announced on the Google blog, Google has released an API console for developers to track, analyze and control their application’s API usage. If offers developers a way to create projects in the console (resulting in an API key per project) and track their API usage. google apis

Continue reading “Google API Console” »

Categories: Google APIs Tags: , ,