That requires some knowledge with OAuth, which twitter, among other websites, uses for authentication.

What differentiates OAuth from the regular path of authentication – using a username and a password – is that the app does not have access to your login credentials, which is good, security-wise, at least.

After a lot of reading, getting lost, reading some more, I managed to understand a little about how OAuth works, it goes something like this:

There’s a protected resource, which is the client data you want access to.

To gain access to this data, you need to be authorized by the user to access such data.

You will need to register with the website to get a “Consumer key” and a “Consumer secret”, those should be kept secret as they identify your application.

This is achieved by obtaining an “Access Token”, this token is a long string that can be saved for later access.

This access token is obtained by using a “Request Token”, those can be obtained by requesting one from the website that currently has the data you’re after.

Once you have a request token, you have two paths of authentication :

Out-of-band (OOB) Authentication

Using a verifier

In the first path, you use your request token to get a PIN code, it’s a series of numbers, the user has to copy these numbers and enter them in the application to authorize it.

The second path, which is more common, involves using a string of characters and numbers instead of a PIN code, which is appended to a callback URL specified by the application owner, usually to be extracted by the developer to complete authentication.

While the first article isn’t that different than what you might read elsewhere, I suggest reading it anyway.

The second article is a must-read for everyone starting out with Android, it describes basic concepts like where the application fits in the system, and how it interacts with it.

It also discusses the basic elements of every app, like the manifest file, Activities, Intents, Broadcast receivers, and Content providers.

Then I found the official docs to be somewhat lacking, they do discuss a lot of important topics, but not everything about Android.

I decided to look for tutorials elsewhere, specially those aimed at absolute beginners.

A friend referred me to the Android app development series from Lynda.com, they were also good, but they don’t go into much detail, they just tend to tell you how something is done, but not why it’s done that way, or if there’s another way to do the same thing the author is doing in the tutorial.

The good people over at Stack Overflow answered this question, you’ll find the answer for this question here.

I also learned slicing, which works for strings, tuples and lists as far as I know.

A cool trick which can be done with slicing is quickly reversing a string :

s[ : :-1] #assuming that s is a string.

Another feature in Python is the “in” operator, it checks data structures for a given element.

In Java, if you wanted to find an element, you had to use one of the binarySearch methods, or iterate over the elements of the collection and check manually.

The last thing I remember is copying and clearing a list.

list = [ 3, 5, 9]
another_list = l[:] #This creates a copy of the list, rather than another reference to the same list.
another_list[:] = [] #This clears all elements from the current list.
del list[:] #This also deletes all elements from a list.

I’m considering doing some exercises to familiarize myself further with the language, I’m thinking of using CodingBat or something similar.

I also read a little about Android development, and I think I’m getting the hang of it, even though I don’t really like dealing with XML files at all.