[Android Software/Hacking General [Developers Only]] mrcrassic:
Sorry if this has been posted before. This was one of those "late-night family specials" and I had to write it down somewhere.

I will polish this up later. Hope it helps!

1) Connect your iPhone to iTunes and make a backup.

a) Wait for iPhone to list.

b) Right click, then select Backup.

Depending on the size of data on your phone and the last backup performed, this could take a while.

2) Download SQLite Database Extractor and iFunBox. It's a bit unpleasant, but it'll work.

3) Do the following to restore key information:

PHOTOS

-----------

iPhones are recognized as cameras in Windows and Mac, so pull photos like you normally would (iPhoto, Windows Explorer, etc.)

SMS

-----

Go to this (http://faked.org/isms2droid/index.php) website and follow the instructions.

CONTACTS

--------------

This is the messy part. :( (You must be syncing your phone with a Google account to make this work.)

BIG NOTE: If your iPhone can access the internet, the easiest way to do this is to add your Google account on the iPhone and sync everything that way. See http://www.google.com/support/mobile/bin/answer.py?answer=138740&topic=14252 for details.

1) Open iPhone Backup Extractor and wait for it to finish loading data.

2) When finished, click "Expert Mode"

3) Click on LIBRARY, then ADDRESSBOOK, then AddressBook.sqlitedb

4) Click Extract Selected, then save to somewhere convenient (like the Desktop). It will display a warning; just click OK. NOTE: The program costs $34.95. Unfortunately, it's not worth it.

5) Navigate to the folder you saved this file in, then click LIBRARY, then AddressBook.

5) Open SQL Database Extractor. When it opens, drag this file into the application. If you did this right, you should get tons of dropdown menus.

6) Click on Edit, then Create Table. Name the table whatever you want; I will use "TEST_TABLE" as the name in this example.

7) Click Add, then type "First" for field name and "TEXT" for field type. Repeat this twice, entering the data below:

Field Names: "Last", "Mobile"

Field Type: "TEXT", "TEXT"

8) When done, click on "Execute SQL" and enter the following query in the SQL string:

INSERT INTO "test_table" (First, Last, Mobile) SELECT AbPerson.First AS First, AbPerson.Last AS Last, AbMultiValue.value AS Mobile FROM AbPerson, AbMultiValue WHERE (AbPerson.ROWID = AbMultiValue.record_id AND AbMultiValue.value LIKE '%(%)%')

If it worked, you should see "No error" underneath "Error message from database engine"

BIG NOTE: If you mess up the query above, SQLite Database Browser will freeze! Yes, I know it sucks. I'm going to make a better way.

BIG NOTE 2: Everyone's phone number will be recognized as mobile numbers. Remember that this is a quick way of getting your contacts back.

BIG NOTE 3: If the person's number is not in the format [+...] (prefix) suffix, it will be lost. Sorry :(

9) Click on "Browse Data" and select the table you created (here, TEST_TABLE) from the "Table" dropdown. If it worked, you'll see first names, last names and phone numbers.

10) Click on File, then Export, then Export As CSV File. Select TEST_TABLE for the table name and click Export to complete. Save it somewhere convenient, like the desktop. Click OK, then exit. Don't save the new table.

11) Log into your Gmail account and go to your contacts. Click on MORE ACTIONS, then IMPORT.

12) Browse to the CSV file you just created. Then click Import. If it worked, you should see all of your contacts in Gmail, and they will appear in your phone in a few minutes.

The worst is now behind you!

MUSIC

--------

Going by memory, sorry. There are two good ways of doing it:

(a) the easy way:

1) Download DoubleTwist and install

2) Wait for device to connect

3) Click on it, then click Sync Music

4) Get good coffee to enjoy while waiting.

(b) the geeky way:

1) Open iFunBox

2) When your phone is recognized, expand it, then click Raw File System, then iTunes_Control, then Music

3) Copy ALL folders somewhere convenient.

4) When that's finished, connect your Android device as USB storage.

5) Create a folder called Music or similar if not already present.

6) Copy all of those folders into that directory. You will lose the pretty names, but all of the music will be organized automatically.