Friday, January 29, 2010

Video: Prototype Android tablets with 2 multi-core NVIDIA Tegra processors

With all the talk of Apple’s iPad this week, there are many more new tablet-like systems coming to the market soon.

The video you see here shows two tablets. The black tablet on the left is made by a company called ICD and features a 7-inch resistive touchscreen. The beige tablet on the right is made by FoxConn – the same company that manufactures iPhones for Apple – and boasts a generous 10-inch resistive touchscreen. More importantly, though, both tablets are running on the NVIDIA Tegra2 1Ghz multi-core processor. Thanks to the dual-core Tegra2 CPU and the dedicated GPU core, both tablets made quick work of web surfing, Flash animations, HD (true 1080p) and high-resolution photos.

Notice how quickly high-res photos load and the smooth HD video playback. My new MacBook Pro was prone to dropping frames when playing Star Trek in 1080p, but the Tegra2 had no problem handling the huge video file. An NVIDIA Tegra2 developers kit was also hooked up to play Unreal in full 3D. The game played as smoothly as I remember playing on my desktop computer some years ago. That’s a testament to NVIDIA’s pedigree in graphics processing.

The prototype tablets were still getting some Adobe Flash-related kinks ironed out, so I couldn’t show you Flash video playback. But, you can clearly see that other embedded Flash content works like a charm. Both tablets will e fully Flash 10.1 compatible by launch time, which means that all embedded videos and interactive content will play straight from the web. Try to do that on your iPad.

If you want to play with the NVIDIA Tegra2 platform for yourself, or you feel like trying your hand at manufacturing a Tegra-powered tablet, you can grab the Tegra hardware developers kit here.

[via IntoMobile]

[Via http://fonefrenzy.com]

Nexus One Phones on T-Mobile Hit with Nationwide Data Outage?

Thanks to a tip from one of our readers (thanks Gerard!), it appears that there’s a huge data outage for Nexus Owners (s goog) on the T-Mobile network. I’ve verified the issue on my own Nexus One and just did a little digging. According to forums at both T-Mobile and XDA-Developers, it’s a wide scale issue and nobody seems to have an answer. One would hope that this has something to do with fixing the 3G issues on the handset, but I think that’s an overly optimistic view. The fix would likely be announced from Google or HTC, for starters and it wouldn’t hamstring the entire T-Mobile network for Nexus One owners.

When I try to access the web over 3G, I get redirected to a T-Mobile page with this statement: “To connect to the web with the device you are using, you will need a webConnect data plan.” It’s almost like everyone that has a Nexus One with T-Mobile SIM suddenly “lost” their data plan at the same time. Early reports say this happened around 4:30am ET. For now, I’m on Wi-Fi, but for Nexus One owners on the road, this is a disappointment. I’ll get an update out once I gain more info or the problem is resolved.

I have to wonder: are the only people with this issue the ones who bought the unsubsidized phone? When I bought a SIM for mine — which I bought unsubsidized — there was a hassle to get the plan I wanted. The rep ended up adding a different data plan and then told me he’d have to switch it to the Android data plan. Hmm….

[Via http://jkontherun.com]

Podcast: Talking with tnkgrl #22



It’s time for another podcast (26 min):

- Audio version

- Video version

Matthew Bennett (Nokia Daily News, US Mobile Industry) is back, but props to Tony Peric (fone frenzy) for editing the video :)

This week we discussed the Google Nexus One, the Nokia E72, the Motorola CLIQ and the Palm Pixi Plus!

Other topics include hacking the T-Mobile G1 on the bus (?), Twitter clients fro Android, and the free, reborn Ovi Maps…

Click here to subscribe to this podcast.

[Via http://tnkgrl.wordpress.com]

Wednesday, January 27, 2010

Android #2 Phone by 2012

Google’s Android mobile operating system will become the second most-popular mobile platform by 2013, according to a new report by IDC.

Who will continue to rule the cell phone roost? Symbian, according to the research firm.

By 2013, IDC forecasts that worldwide shipments of smartphones will surpass 390 million units, growing at a compound annual growth rate of 20.9 percent.

“Mobile operating systems have become the key ingredient in the highly competitive mobile device market. Although the overall look and feel of the device will still play an important role in the buying process, the wrong choice of operating system coupled with an awkward user interface can mean the difference between success and failure,” said Stephen D. Drake, vice president, Mobility and Telecom, in prepared remarks.

Key takeaways from the report:

  • Symbian will remain the No. 1 mobile OS worldwide, thanks to Nokia’s strength outside the U.S.
  • Android will experience the fastest growth of any mobile operating system: from 690,000 units in 2008 to 68.0 million units by 2013 (that’s 150.4 percent compound annual growth).
  • Linux and webOS handsets “will struggle.” Android will suck most of the life out of other Linux platforms and Palm’s webOS, despite steady growth, will be limited by restrained deployment and availability of devices across multiple carriers.

[Via http://mobimatter.com]

five things you don't want to go without in 2010

It’s 2010 people. We might not have jetpacks and Jupiter hasn’t collapsed into a star but holy shit IT’S THE FUCKING FUTURE. Electric cars, touchscreens, smartphones, personal GPS, augmented reality, people literally hooking themselves up to machines, space tourism and in case you have a hard time remembering, there’s always Boing Boing.

In any case, it’s time to get with the program. What follows is a short list of things you’re going to want to familiarize yourself with in 2010, at the very least (not including any Apple products that might resemble a tablet). Maybe next year we’ll finally get those jetpacks.

1. Your own wireless Internet connection

I’m not going to waste a lot of words on this one. Just pay for it. Wardriving from your couch just isn’t worth the trouble.

2. Smartphones

I used to be careless with my phones, because well… They were just phones. These days my iPhone3G might as well be wired directly into my palm. It might sound hokey, but when I first held it, I knew my life would never be the same. My expectations would change. Information would come at me fast, whenever I wanted it, and it would be difficult to go back to not having music, video, the Web, a digital camera, GPS, and a virtual Zippo lighter all at the swipe of a fingertip.

Almost exactly a year later, a lot has changed. Owning a smartphone forced me to focus how I interact with the Web; I filter my information through RSS readers and social networking apps that work much better in a mobile environment (Twitter, Facebook, Yelp). I almost never aimlessly surf anymore, and tend to find the best stuff in links on sites I regularly visit.

For the record, I’m not tied to the Apple brand. In fact I’m very attracted to the open-sourciness of the Android platform, but aside from the DROID, there hasn’t been a lot of hardware slyly functional enough (form isn’t so much of an issue) to tease me away.

3. Pocket video

In the late 1960s and early 70s a kind of cultural underground movement began to form around the use of videotape, VCRs and affordable video cameras. The early adopters of this new medium – like the Raindance and Videofreex collectives –saw the ability to create their own video imagery for broadcast via alternative channels – art galleries and public access – as a subversive form of creative expression. Suddenly what used to be the new opiate was turning people on in a whole new way.

Having a video camera is a powerful thing. You can use it to capture the most innocuous, most personal moments of your private life, or you can use it to reveal the most basic hidden truths about the world we all share.

Now I take my Flip Mino HD camera with me wherever I go. I haven’t yet gotten completely comfortable with recording everything I see (and I don’t always remember that it’s there), but I’m growing more accustomed to the idea of just having the ability to capture all those innocuous moments and hidden truths.

4. Streaming media

I live in New York. I share a 500-square foot apartment with my girlfriend and a 50-pound dog. I don’t have the room for CDs, DVDs, or a huge bookshelf for all the books that I don’t even read any more. This is why in 2010 I’m going almost completely digital. I listen only to MP3s, I only stream movies and television over Netflix, iTunes, or Hulu (I haven’t tried Boxee yet, but plan to), and I only buy physical books if they’re not available to read on my e-reader.

The only way to live like this is to not be a snob about music or video quality. High or low resolution (and it will always continue to get better), I still achieve the same emotional effect as I would if I were using physical media. Yes, vinyl records and paper books do offer a tangible experience, but it’s an experience I’m willing to do without.

And on the topic of books…

5. E-Readers

Let’s give the haters some credit, because they do have a p0int. There’s nothing like holding a book. There’s nothing like the smell of a book (I’m a fan of the ancient, crinkly plastic-wrapped library variety). Dog-earing a book, writing in the margins, and admiring them upon a shelf… You can’t do any of these things with an e-reader. All of these things are true.

But when you’re walking around all day, or in class, or flying on a long trip, or commuting to work having a convenient way to consolidate your favorite reads isn’t such a bad idea. Maybe the book you want is out of print but but there’s a PDF of it online. Maybe you want to keep getting The New Yorker every week and even though you want to keep them around you hate they way they pile up so quickly. There are so many reasons an e-reader is a good idea, it becomes less of an argument and more of a matter of preference. It’s not like those smelly, dog-eared, scribbled-in books we all love so much aren’t going to go away any time soon. I for one, am glad to have the choice.

(I chose the nook.)

[All images used under Creative Commons.]

[Via http://blackgadget.wordpress.com]

Monday, January 25, 2010

doubleTwist coming to Android phones on T-Mobile

This is a major day for doubleTwist. doubleTwist is an iTunes alternative that is similar in appearance but exceeds in functionality because it can sync with more than just iPhones and iPods. iTunes can only sync with Apple products while doubleTwist can sync with just about any device. doubleTwist and T-Mobile have formed a partnership where doubleTwist software will come preloaded on future Android phones.

Read more:

This means if you get a future Android phone from T-Mobile and plug it in to your computer doubleTwist will be installed (if you want it of course). This is beneficial for doubleTwist because it is relatively unknown and with this agreement their mind share will increase. Mind share is how much of the population knows about a product. This will also benefit future Android buyers on T-Mobile because it will give them a program to start syncing media to their phone right away rather than having to drag and drop. doubleTwist also offers purchases from Amazon’s mp3 store so you don’t have to buy from iTunes. Though for some unknown reason T-Mobile has omitted this feature when it comes preloaded on future Android phones. You can download doubleTwist for free from their website: www.doubletwist.com.

Source: TechCrunch

[Via http://techsimplified.wordpress.com]

Nokia N900 Can Dual Boot Android And Maemo

Every one by now is familiar with N900 being a great phone with lot of capabilities but as it comes with Maemo 5 OS not much people use it and is not that popular as Google Android is getting everyday. Recently a person called Brandon Roberts has managed to get Nokia N900 to dual boot Maemo and Android which is amazing news to everyone, still a proof of concept but from the video posted it seems pretty usable.

For N900 users there are still no direction how to do that, but hopefully detailed guides on how to do that would be available as majority would want to dual boot there Nokia N900.

[Via http://techiest.wordpress.com]

Friday, January 22, 2010

Rocking the Nexus One

I finally got my Nexus One last week and after having fallen out of love with Androids maturity after the Hero I was not expecting much. But I must admit to being highly impressed with this phone.

At the same time as getting the phone I was kindly asked to beta test Slidescreen.

Slidescreen is an app that was advertised on the Larva Labs site at least 6 months ago as a revolutionary home screen for Android. But it didn’t exist. It was just an idea. This disappointed me. It could have really been the application to make the rather dull looking Android a serious contender.

But it’s here!

slidescreen1.jpg

I love the way I have all the information I am interested in on one screen in a neat and not overloaded layout. Each icon on the end of a section symbolises a service and acts as a launcher.

This allows me to call the most commonly used components on a smartphone without having to navigate anywhere else on the phone.

The services available are:

- Phone

- Messaging

- Email

- Calendar

- Google Reader

- Twitter

The middle section of the Slidescreen also acts as an expandable divider. You can drag it up to show all items for any one service that is displayed below it (Google Reader or Twitter) :

slidescreen2.jpg

Or you can drag it down to show all items for any one service that is displayed above it (Telephone, Messaging, Email, Calendar).

slidescreen3.jpg

All in all, I believe that Slidescreen heralds the puberty days of Android are closing. Larva Labs have shown that the Android can be as swish as anything else out there. Surprisingly, it does this by mimicking a style employed in the early days of smartphones by adopting a very Palm and early WinMo layout, but the fact is it works.

I just love it and it really sets the Nexus One off. It shows off the fabulous large screen and clarity of the Nexus One.

Another one of my favourite apps is WaveSecure.

wavesecure1.jpg

Wavesecure help secure your phone by giving you the ability to track where it is, remotely wipe data from it or lock the phone down. It can also sound alarms if the SIM card is switched!

But this application is actually geared towards protecting your data and not your phone. The feature I find valuable are the backup tools. You can backup your contacts AND text messages.

Useful if you hold confidential data on your phone or if, like me, you regularly wipe your phone because you have installed something you shouldn’t. :S

My next application is Trapster.

Trapster warns of speed traps and allows you to upload new speed trap locations to the community of Trapster users.

trapster.jpg

It’s nice to have on whilst driving. A womans voice warns you when you are close to a speed camera if you can’t see the screen for any reason.

Now onto the low level and system applications.

My first Android device was the Hero. It wasn’t a bad phone, it just wasn’t a great one. It was too small to be considered as a great phone. The software was a little flaky, the processor was under powered and the keys were in a strange position that were not practical.

But the Nexus One and Android have rectified all of these errors. Along with the bigger screen is a high quality screen. The software has matured to have a sleek feel to it. The “clunk” of cupcake has gone. The processor is almost twice as fast as the Hero and the keys are much better placed.

The system applications have been upgraded too. First off, “Running Services”. This is the Android “Task Manager”. But instead of displaying all the processes including the low level processes with ’scary’ names they have been neatly grouped inside section with more user friendly headers.

running_applications.jpg

The ‘Applications’ list now has 3 filters. Downloaded, Running and All. Which makes it easier to scan and read than Cupcake.

The Battery Usage screen is a very useful one. It displays what services used your battery the most. Sometimes it is the display, sometimes it is the amount of calls you made. Other times it could be an application. Either way, you can find out what is making your battery run down.

battery_usage.jpg

All in all, I am loving the Nexus One. I love the screen size, I love the look and feel of the phone. I like the fact that it integrates into Google applications so well – as you would expect seeing as Google maintained the development on this one. I love the fact that I can run around the OS as quick as I like with no lag. Not like the Hero. I love the fact I can downclock the CPU and it *still* runs quick.

Is it an iPhone killer? No. But these reason is because it plays a different sport to the iPhone. You can’t compare the two. It would be like comparing the Wii and the PS3, they are completely different machines aimed at completely different markets.

The Nexus One has a quality build physically and technically. A lot of the applications I used to install to solve short comings in the Android system are not necessary any more as Google have fixed the problems.

I would highly recommend Nexus One if you like Android. Sure, it doesn’t have the software support of the iPhone, but it’s only a matter of time…..

[Via http://mobnooz.com]

Viewing source in eclipse with Android SDK (the easy way)

Forgot to mention, I finally got that article up on viewing source in Eclipse. I found the resources on how to do it weeks ago but wanted to write it up properly with screenshots and everything and was too busy! Anyway it’s over here:

http://android.opensourceror.org/2010/01/18/android-source/

I have a few things yet to do though:

  • This gives some hints on getting exactly the right version of source as opposed to a branch
  • Need to alter my published sources to comply with the license (oops)
  • Move the images and downloads to better hosting :-/

In other news, I need to look through this thread and see if I can get debugging a device to work in Fedora 12.

[Via http://sosiouxme.wordpress.com]

Wednesday, January 20, 2010

One month with the Motorola Droid

I purchased my Motorola Droid on December 18th after months of debating whether to leave Verizon Wireless, my former employer, for the iPhone.  Before the Droid was released I was given the opportunity to play around with it as well as the Droid Eris.  At the time I was really disappointed.  The keyboard, which I rarely use now, is awful.  Actually it’s a complete waste.  In fact, I wish someone would come out with a case that would lock the keyboard completely.  Another issue I had at the time was the speed of the internet. It was slow…Slower than any of the other Rev. A products I have used.  My mind was set, I was making the move to AT&T and the iPhone.  Then something happened that changed my mind.

I received in the mail $75 off the Motorola Droid if I purchased the device through Telesales.  Hmmm…as a former employee I wasn’t eligible for a New Every Two because I was on a 1 year contract.  Now with the flyer the Droid was looking a lot sweeter.  The Droid was $299.99 on a two year contract and you received a $100 rebate. Now after the additional $75 off the Droid was only $124.99.  Plus I was able to get my wife the Droid Eris for FREEEEEEEE! (Just watched that Adam Sandler movie with my kids the other day.) So lets see, I can pay $124.99 for two phones or buy the iPhone for $299 a piece.  Not to sound cheap but come on.  Are you kidding me?  Add the AT&T activation fees into the equation and staying with Verizon Wireless sounds even sweeter.

Another issue that made my decision a no brainer.  Service, Service, Service!  I didn’t know how good I had it with VZW until I started carrying a competitors device.  It was a Sprint Curve 8350i.  Wholly cow! I can’t believe they charge for their service.  They should pay me to carry that phone.  I thought if the Sprint phone is this bad I better check around to see what my friends around town thought about their AT&T service.  Call one, went something like this…

Me – “Eug, how is the service on your iPhone?”

Eug – “Dude, stay with Verizon. I’m trying to get out of my contract. This service sucks”

After a few more of those calls my mind was made up.  I would sacrifice the “cool” factor for money and service.

So, It’s been a month and I f-ing love it.  I can do everything I want on the Droid and more.  I have played with the iPhone on multiple occasions and I honestly don’t yearn for it like I once did.  The Screen on the Droid is unbelievable.  Before the Droid I had the Blackberry Storm.  The screen on the Storm was beautiful.  This one blows it away.

The touch screen keyboard works flawlessly.  In addition, I was able to install the Swype Beta which I gotta say works like a charm as well.  I will talk about apps at another time.  Both the portrait and landscape  touch screen keyboards are accurate and the word prediction works flawlessly when you do mistype a word.  As far as the slide out keyboard goes, I never use it as I stated earlier.  What I like most about the Droid and all Android devices for that matter is the ability to customize.

Practically right out of the box you can make changes to the devices appearance and  functionality.  You make the device work for you rather than you figuring out how to change your habits for the device.  I was primarily a Blackberry user before I got the Droid.  I had an 8830, 8330, Storm and a 8350i.  I was a true Crackberry addict.  I am now a Droiddict.  I am able to get all the information I want as I want it by using pre-installed and downloaded widgets.  With apps like Beautiful Home, Better Cuts, Open Home, Better Keyboard, Home ++, Sweeter Homes, dxTop, GDE and aHome you can customize the phone in ways that make iPhone users envious.  In order to do some of these things on an iPhone you need to root the device.  Not on an Android device, the option to root the device is there but it isn’t necessary.  As far as apps go, iPhone has the volume and the quality but the Android market will catch up in quality.

In the past month I have downloaded my fair share of apps.  Some I kept some I deleted right away. Are they all pretty…hell no!  Are they improving with every update…hell yes! There may not be the volume of apps but the apps you want are available and if they’re not, they soon will be.  You have to remember, the app store wasn’t packed with apps the first day it opened up.  How long did it take to get to the point it is today?  I am a gadget geek.  I have a Slingbox and a Squeezebox at home.  I am itching to get the Slingplayer on my Droid.  I have updated my Beta page on Sling Media’s site so I can test it out when released.  I am also waiting for an iPeng like controller for my Droid.  There are a few adequate apps out there for the Squeezebox but none of them have iPeng’s functionality yet.  I know they will come, just like they did for the iPhone.

That’s about all the writing time I have…Wife is out and the kids and the puppy are starting to drive me crazy.  I think I’m developing a twitch?!?

[Via http://awlon.wordpress.com]

Monday, January 18, 2010

The Nexus One is not for you

Look, I love my Nexus One. But it's not for everyone. In fact, I'd suggest it's not for most people. If you're a whiner, don't even THINK about getting this phone. Not yet, anyway. Google isn't about delivering a finished product. And the Nexus One is far from a finished product. It has some of the smartest people in the world developing for it and working on it which means that between today and tomorrow you'll likely be able to SEE it change. But I'll guarantee there's something wrong now, today, that'll drive you absolutely batty if you let it. So, if you're a whiner, or if you want a phone that's a finished product, please stay away. If you like to fiddle with things, open them up, see what's inside and tinker then you should consider the Nexus One because that's pretty much a requirement. Do you have to be Linux knowledgable? Not necessarily but it sure helps. If you know what root or superuser is then you're ahead of the game. If you're adventurous and like to learn new things, then this may be the phone for you.

Here's a checklist:

The Nexus One is not an iPhone, it's not even an iPhone competitor.

If you've got an iPhone, chances are you're an iTunes user. This phone doesn't come with iTunes integration. Yes, you can download an app that will integrate it with iTunes but if you're an iTunes user, get something else.

Some apps that are available for the iPhone are available for the Nexus One but many are not.

If you're looking to replace your iPhone and you have apps that you absolutely depend on, don't switch. You'll just get annoyed and waste your time. You can look for similar apps or even ask the developer if the app is avaliable on Android or the Nexus One but it'll look different and act different. See my first point, above.

The Nexus One is not "finished".

Apple delivers consumer quality products that are pretty nearly "done". Google doesn't do that. If you want something that "just works". get an iPhone. Like their online offerings, Google delivers products that are pretty close to complete but you can bet they'll have to rev the software and, until they do, you either have to live with the problems or find a way to fix it yourself. Don't get me wrong, there are a LOT of people out there who can help you fix it but they aren't Google.

You get a charge out of seeing a Linux command prompt

The Nexus One may be for you. I log in to my phone at least daily and do things that I could do via the phone's GUI but I find it easier and quicker to do a lot of things this way. If you're uncomfortable with the command line, consider something else.

You've got a lot of MP3s.

Not just music files in some format but files that end in ".mp3", are VBR or CBR, up to 320Kbps. Or you've got a lot of Ogg Vorbis files. If so, consider the Nexus One. But If you've for DRM WMA files, forget it cuz it won't play 'em.

You stream Slacker or Pandora or Shoutcast.

There are apps for these services. Slacker and Pandora apps come from Slacker and Pandora. There are several apps that stream Shoutcast quite easily. No, I don't know what the iPhone app looks like. If you care, you shouldn't be considering the Nexus One.

There are loads of other things I could suggest but, honestly, if you're hesitant about getting a Nexus One then please don't. You may be happy but, then again, you may not. As Rober Heinlein said, never try to teach a pig to sing. It wastes your time and annoys the pig.

[Via http://links.wordpress.com]

Friday, January 15, 2010

How to Unlock and Root a Nexus One

http://www.slashgear.com/wp-content/uploads/2009/12/rootednexusone1.jpgSo I came across something that most of you Nexus One owners might be interested in: How to Unlock and Root your Nexus One.

Thanks to the people over at Androidandme, have all the step by step video guide to unlocking your Nexus One.

Heres the link to it: Unlock and Root Your Nexus One

-=WARNING!=- Please ONLY do it if you know what you’re doing and you feel comfortable doing it. Don’t come running to me or Androidandme saying you messed up your phone because you couldn’t follow simple guidelines.

[Via http://fiercetechnology.com]

Wednesday, January 13, 2010

Writing your own ContentProvider

Hey everyone,

So the following tutorial will hopefully give you a good idea of how to implement your own ContentProvider. I know that there are a lot of pretty good sites out there with some good code snippets, but I’ve noticed that not many really help the developer understand what’s going on step by step so my goal is to not only provide an example of a fully implemented ContentProvider but also to step you through the process.

So I’ll start by just posting all of the code, and I’ll go through it slowly afterwards. We’ll start with the Custom Content Provider itself:

package jason.wei.apps.securenotes.providers; import jason.wei.apps.securenotes.db.Note.Notes; import java.util.HashMap; import android.content.ContentProvider; import android.content.ContentUris; import android.content.ContentValues; import android.content.Context; import android.content.UriMatcher; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteQueryBuilder; import android.net.Uri; import android.util.Log; /** * @author Jason Wei * */ public class NotesContentProvider extends ContentProvider { private static final String TAG = "NotesContentProvider"; private static final String DATABASE_NAME = "notes.db"; private static final int DATABASE_VERSION = 1; private static final String NOTES_TABLE_NAME = "notes"; public static final String AUTHORITY = "jason.wei.apps.notes.providers.NotesContentProvider"; private static final UriMatcher sUriMatcher; private static final int NOTES = 1; private static HashMap notesProjectionMap; private static class DatabaseHelper extends SQLiteOpenHelper { DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE " + NOTES_TABLE_NAME + " (" + Notes.NOTE_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + Notes.TITLE + " VARCHAR(255)," + Notes.TEXT + " LONGTEXT" + ");"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.w(TAG, "Upgrading database from version " + oldVersion + " to " + newVersion + ", which will destroy all old data"); db.execSQL("DROP TABLE IF EXISTS " + NOTES_TABLE_NAME); onCreate(db); } } private DatabaseHelper dbHelper; @Override public int delete(Uri uri, String where, String[] whereArgs) { SQLiteDatabase db = dbHelper.getWritableDatabase(); int count; switch (sUriMatcher.match(uri)) { case NOTES: count = db.delete(NOTES_TABLE_NAME, where, whereArgs); break; default: throw new IllegalArgumentException("Unknown URI " + uri); } getContext().getContentResolver().notifyChange(uri, null); return count; } @Override public String getType(Uri uri) { switch (sUriMatcher.match(uri)) { case NOTES: return Notes.CONTENT_TYPE; default: throw new IllegalArgumentException("Unknown URI " + uri); } } @Override public Uri insert(Uri uri, ContentValues initialValues) { if (sUriMatcher.match(uri) != NOTES) { throw new IllegalArgumentException("Unknown URI " + uri); } ContentValues values; if (initialValues != null) { values = new ContentValues(initialValues); } else { values = new ContentValues(); } SQLiteDatabase db = dbHelper.getWritableDatabase(); long rowId = db.insert(NOTES_TABLE_NAME, Notes.TEXT, values); if (rowId > 0) { Uri noteUri = ContentUris.withAppendedId(Notes.CONTENT_URI, rowId); getContext().getContentResolver().notifyChange(noteUri, null); return noteUri; } throw new SQLException("Failed to insert row into " + uri); } @Override public boolean onCreate() { dbHelper = new DatabaseHelper(getContext()); return true; } @Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { SQLiteQueryBuilder qb = new SQLiteQueryBuilder(); switch (sUriMatcher.match(uri)) { case NOTES: qb.setTables(NOTES_TABLE_NAME); qb.setProjectionMap(notesProjectionMap); break; default: throw new IllegalArgumentException("Unknown URI " + uri); } SQLiteDatabase db = dbHelper.getReadableDatabase(); Cursor c = qb.query(db, projection, selection, selectionArgs, null, null, sortOrder); c.setNotificationUri(getContext().getContentResolver(), uri); return c; } @Override public int update(Uri uri, ContentValues values, String where, String[] whereArgs) { SQLiteDatabase db = dbHelper.getWritableDatabase(); int count; switch (sUriMatcher.match(uri)) { case NOTES: count = db.update(NOTES_TABLE_NAME, values, where, whereArgs); break; default: throw new IllegalArgumentException("Unknown URI " + uri); } getContext().getContentResolver().notifyChange(uri, null); return count; } static { sUriMatcher = new UriMatcher(UriMatcher.NO_MATCH); sUriMatcher.addURI(AUTHORITY, NOTES_TABLE_NAME, NOTES); notesProjectionMap = new HashMap(); notesProjectionMap.put(Notes.NOTE_ID, Notes.NOTE_ID); notesProjectionMap.put(Notes.TITLE, Notes.TITLE); notesProjectionMap.put(Notes.TEXT, Notes.TEXT); } }

And next a little helper class that keeps all of the columns organized and readily accessible:

public class Note { public Note() { } public static final class Notes implements BaseColumns { private Notes() { } public static final Uri CONTENT_URI = Uri.parse("content://" + NotesContentProvider.AUTHORITY + "/notes"); public static final String CONTENT_TYPE = "vnd.android.cursor.dir/vnd.jwei512.notes"; public static final String NOTE_ID = "_id"; public static final String TITLE = "title"; public static final String TEXT = "text"; } }

(Note that this is similar to how Google provides you with the columns, i.e. People._ID, People.NUMBER, CallLog.CACHED_NAME, etc)

Okay so let’s go through this step by step. First, when you extend ContentResolver, there are 6 methods you need to overwrite:

query()

insert()

update()

delete()

getType()

onCreate()

Normally these are just wrapper functions around the raw SQL queries. For instance, the method:

db.delete(tableName, where, whereArgs);

Is simply just a wrapper around the SQL query that looks something like:

"delete from " + tableName + " where " + where + " ? " + whereArgs"

So for those who know SQL, if I wanted to delete the note with title “Hello World” then my queries would look like:

// wrapper query db.delete(NOTES_TABLE_NAME, Notes.TITLE + "= ' " + "Hello World" + " ' ", null); // real query when translated String query = "delete from notes where title = 'Hello World' ";

And so as you look at how I overwrite the 6 methods, you’ll see that I’m simply taking in the parameters and inputting them appropriately into the wrapper methods. Of course, you can override them as you like depending on what you want your application to do. Perhaps your application is ONLY worried about retrieving the average of some numbers. Then in your query() method, maybe instead of querying for the numbers normally, and then always having to iterate through the numbers and find the average from the JAVA side, you could customize your query to automatically return the average BY DEFAULT.

But in case you’re still confused, let’s look at an example:

public int delete(Uri uri, String where, String[] whereArgs) { SQLiteDatabase db = dbHelper.getWritableDatabase(); int count; switch (sUriMatcher.match(uri)) { case NOTES: count = db.delete(NOTES_TABLE_NAME, where, whereArgs); break; default: throw new IllegalArgumentException("Unknown URI " + uri); } getContext().getContentResolver().notifyChange(uri, null); return count; }

So basically you pass in the Uri (in our case it will be Notes.CONTENT_URI to tell the system which table you’re going to target) and if the Uri matches NOTES then we use our SQLiteDatabase (retrieved in the first line) to delete from the notes table using the where arguments passed in.

A similar idea goes into overriding query(), insert(), and update(), and in our onCreate() method we are simply using our SQLiteDatabase to execute a CREATE TABLE statement where we build our table using our defined columns (i.e. Notes.NOTE_ID, Notes.TITLE, and Notes.TEXT) and also make sure we use the proper SQLite3 column types.

One thing to note here is that Android requires that the unique id column have name “_id”.

This is extremely important as otherwise your content provider will not get registered properly.

Now, one last thing before I get to how you register it in your Manifest is what this AUTHORITY String is all about. In my case it was:

public static final String AUTHORITY = "jason.wei.apps.notes.providers.NotesContentProvider";

So the authority you can more or less define in anyway that you like, but typically it will look something like:

{package name}.providers.{Custom Provider name}

For organizational purposes, this means that in your Android project, you will have to create a new package called:

{package name}.providers

In order for the Uri path to be correct (again pretty obvious, but who knows).

And so this AUTHORITY basically just helps you define the CONTENT_URI of your ContentProvider (i.e. the path to your database), and you will register your provider in your Manifest like so:

And so you see that I define my content providers in a way such that the project path is equal to the authorities path (again, not required, but probably recommended for simplicity and organizational issues).

And that’s it! Now you have a fully registered and created ContentProvider. My next example/tutorial will show you how to write cool wrapper functions that help you make queries and manipulate data in whatever way you want!

Let me know if you have questions, otherwise Happy Coding.

- jwei

[Via http://thinkandroid.wordpress.com]

The battle of the SmartPhone and its effect on mobile networks

Third generation (3G) mobile networks are also suffering from the knock on effects of the snow. To be honest I am not surprised, we have recently seen an explosion in the download of ‘Apps’, mainly down to the mass adoption of the Apple iPhone.  The Apple app store has gone from an incredible two  to three  billion downloads in the last four months. This staggering figure undeniably puts further pressure on mobile network providers; O2, Orange, Vodafone and Tesco (although Tesco use the O2 network).

The app’s available to customers on the iPhone are without doubt one of its key differentiators and a very significant part of its current competitive advantage.  However, Google’s exciting new release Android looks set to challenge their stronghold.

It’s important to take a minute though and think about how this increase in competition between the two manufacturers will affect consumers.  Demand for apps will start to become a basic expectation for mobile users in the next few years rather than the luxury of a select few.

Increased consumer demand for Apps are already proving a challenge for networks.  O2 were reported to experience limited network availability just before Christmas.

At the moment apps are mainly used in mass by iPhone users. iPhone users currently run one application at a time, therefore only running one update across the network at that time. However, Google’s Android can run multiple applications thus multiple updates, opening up our networks to increased congestion.

I think 2010 will be an interesting year for mobile network providers, as they all seek to raise their game and accommodate demand. What’s bad for us (consumers) is the immediate answer is to cap bandwidth and increase prices. We could also potentially suffer from reduced availability.

One thing’s for sure; 2010 WILL be the battle of the SmartPhone – Android vs iPhone.  It will also be a battle for the providers… let’s hope when fourth generation (4G) mobile networks come of age in the next five years that such network capacity will be a thing of the past…  :)

[Via http://100daysinthecloud.wordpress.com]

Monday, January 11, 2010

Is Google's Nexus One A Gaming Contender?

There have been several recent articles written on whether or not Android-based phones (and specifically the Nexus One) are going to be good for game developers.

Is Google Nexus One A Gaming Contender?

Gaming on the Google Phone?

The arguments come down to:

  • The Android Market is still not a very robust storefront and not as polished as Apple’s.
  • Lack of multi-touch limits the user-input capabilities
  • Limitations of the “sandbox”-ing strategy Google has used. Specifically, only being able to run apps that fit in the 512MB of internal storage. Not a huge problem for many games, but makes the IPhone Myst implementation a non-starter.
  • Concerns about the need to support multiple configurations of apps in the field. Right now iPhone has really two versions. If every Android phone has slightly different capabilities, that could be a nightmare.

In particular, I wanted to call out some articles about GameLoft, one of the biggest mobile game developers. A recent article outlines their celebration of the 10 millionth App Store download of their titles. Not too long ago they announced that they were significantly cutting back on Android development. Can the iPhone gold rush repeat itself on Android? Only time will tell.

[Via http://shaunkime.wordpress.com]

Highlights from CES 2010

So CES 2010 has wrapped.  It brought with it a number of gadgets, some we’ll see in the market, some we won’t, some useful, some weird, and some that are just downright cool.  Here are some of my favorite things to come out of CES 2010:

Inbrics M1

Inbrics M1: The Inbrics M1 is a sexy little Android slider phone (at least, I think its a phone; the representative kept calling it an MID).  Anyway, its hot, and with a 800 MHz processor, its performance should be really snappy, just below that of the HTC HD2 and Nexus One.

Nexus One: Ok, so this wasn’t really a surprise, as this thing had been leaked months ago, and then confirmed days before the actual event.  Even still, its official, its called the Nexus One, and its available now.  And if you have T-Mobile service, you want one.  Truthfully, I want one, but I’d rather wait and see what else one of the better networks has to offer.  That, and I really, really love my hardware keyboard.

HTC HD2 gets a US carrier: So when it rains, it pours.  T-Mobile also announced that it was the exclusive carrier of the HTC HD2 in the US, meaning that on paper, T-Mobile is the exclusive carrier of the two most powerful phones available right now in the states, in both Winmo and Android flavors.  The caveat to this is the HD2 won’t be available until Spring 2010.  Hopefully Sprint and/or some of other big name carriers can get a hold of something that can counter these two bad boys (a Touch Pro3 with a Snapdragon processor and capacitive screen definitely could be in the works- but as of now, that’s just a dream).

HTC HD2

HTC HD2

Dell slate PC spotted: Apparently it’s called the Mini 5 (or Streak, depending on who you ask), it runs Android, and size-wise falls right between a tablet and a smartphone.  With a screen somewhere between 5 and 7 inches (conflicting reports), this thing looks nice, but can it do anything a Nexus One or Droid can’t?

2010 is the year of the 3D TV: All kinds of HDTV’s were shown off, many of which touting the ability to display 3D images (although most needed special glasses for the effect to work, however, there were a few to pull off the feat without extra eyewear).  What does this all mean?  Watching Avatar, in 3D, at your home theater… if you’re willing to pony up the coin for the upgrade.

Mobile DTV Enabled Samsung Moment

Samsung Moment with Mobile DTV

2010 is the year of Mobile TV: Mobile TV also seemed like a big theme this year, with Sprint announcing that they would be testing a version of the Samsung Moment that could receive local HDTV signals over the air.  Vizio also announced that they would be releasing a line of mobile HDTV screens as well.  Not really sure how many people will be able to enjoy these gadgets, but if you happen to live in an area that has over-the-air HD broadcasts, these things might be fun.

Vizio goes LED: That’s right.  Vizio, you know, that budget TV company that sells most of its products in Wal-Mart… yea, those guys have big screen LED TVs now.  With LED backlit screens and 240Hz refresh rate, I would like to see home much these things sell for.  If they keep the prices low, it could cause a price drop across the board, and that’s always good for consumers.

[Via http://koolkidsinc.wordpress.com]

Friday, January 8, 2010

Google's "Near Me Now"

Google has just released a new feature called “Near Me Now.” It shows you locations of places (restaurant, bars, banks/atms, and coffee shops around you).

“Near me now” is currently available for iPhone or Android OS 2.0.1 or later. In order for it to function correctly you must first enable location in order for “Near me now” to appear in Google.com on your phone. “Explore right here” works only if the phone provides location accuracy within approximately a city block.

Starting today, you can try this yourself by going to Google.com in your iPhone or Android browser and clicking on “Near me now” once your location has been provided by your phone.

“Near me now” was designed to address two user problems. First, we wanted to make it fast and easy to find out more about a place in your immediate vicinity, whether you’re standing right in front of a business or if it’s just a short walk away. For example, you may want to know what other customers think about a restaurant before you go inside (see quick video below) or what they have been raving about on the menu before you order. By selecting the “Explore right here” option, you can find out more about a place “right here” with just a few clicks.

Second, we wanted to make searching for popular categories of nearby places really simple. Imagine that you emerge from the subway station and you want to grab a coffee, but you don’t see a coffee shop around you. You can simply search for all nearby coffee shops by using “Near me now”. To search other categories of places not shown, “Browse more categories” provides access to our local search product with more category choices.

[Via http://fiercetechnology.com]

Does this droid owner have buyer's remorse?

This is an reply to the InternetNews.com story: Will Droid Owners Get Buyer’s Remorse?

I recently bought an HTC Hero and while it is a nice phone I have found it to be slow in use and not really fulfill the promise of being much more than a phone.

I’ve learned from it that I would like something that runs a UI experience that is closer to stock Android since the porting of a large change such as the HTC Sense UI takes a long time to complete as the Android base progresses and improves. Time when the user is deprived of updates to improve the experience and instead of slow incremental changes they get rare large code dumps that likely also changes behavior. This causes issues for users learning the basically new phone all over.

I’ve also learned that I would like a hardware keyboard since I am not cut out for on screen typing. Furthermore I would like to see some of the more logic extensions be made to the platform such as letting known friends addresses appear in the map application.

Skype on Android is utterly crippled, there is some kind of restriction being enforced to disallow the application from using the data connection. That sours the experience quite a bit.

All in all while I bought the phone because I needed one and thus had to pick what I thought was the best phone at the moment. I really wish the Droid had been available to me subsidized as I am not ready to pay for an unlocked phone with the mobile contracts as they are currently since it doesn’t save me money.

The HTC Hero isn’t a bad phone but the realistic competetor available to me at the same price was a new iPhone 3GS 32GB and it is certainly an inferior phone to that on many counts.

If you are thinking of going with the Hero to support Open Source then you should also know that HTC adds a proprietary UI and know that it comes with costs though it provides a very compelling UI.

The perfect Android phone might be closer to the Droid or the Nexus One depending on your preference and use cases. They are still slower on things like loading and rendering webpages than the 3GS but the hardware is solid and should support the platform as it expands. You should expect this expansion to be directly and naturally deployed for these phones an thus be improved with updates regularly considering that they are a very standard Android deployment. You could consider it an investment of trust in the platform, it doesn’t quite provide an experience that really beats the the iPhone solidly yet but it has considerable promise and past performance as an indicator will reach it soon. Bet on it coming to these products soon.

I elected to go for openness regardless, I know I have an inferior phone for it. It’s still a good phone but it’s not more than a phone in any really revolutionary way. It’s for people like me hoping to reduce the amount of gadgets I carry by removing my mp3 player, the Hero doesn’t replace a good camera though. Likewise the experience isn’t bad but isn’t really followed through to it’s natural conclusion to the extend competitors have done. Openness outweighted that, even with the encumberance of the Sense UI, for me. It isn’t likely to be the case for a lot of people.

I don’t have remorse for buying an Android phone but I acknowledge that the competition is overall a superior choice for most people right now.

[Via http://davidnielsen.wordpress.com]

Mobile Internet use increases with 148% in 2009

In 2009, the use of the mobile internet has increased with 148% worldwide. 

Mobile devices now represent 1,3% of all web pageviews in North America, with Apple’s iPhone operating system accounting for 65,1% of mobile web traffic in the region.  Google’s Android OS is second at 12,4%, followed by Research In Motion’s BlackBerry OS at 8,7%. 

These numbers come from a study of Quantcast, who predicts that the mobile web consumption the US will further increase towards 2,3% by the end of 2010.

Full report here 

[Via http://blog.mobileweb.be]

Wednesday, January 6, 2010

What's hot at CES, and why it matters

NEWS

What’s hot at CES, and why it matters

By Ben Parr

January 6, 2010 4:23 p.m. EST

Turner CNN CES

The wild success of “Avatar” has sparked a wave of demand for 3D content in the home.

(Mashable) — We’re about to see a new wave of technological innovation kick-start the new year. Right now, more than 100,000 tech giants and gadget geeks are in one place: Las Vegas, Nevada.

They are attending CES — the Consumer Electronics Show — where countless new gadgets, devices, and technologies will be revealed to the public for the first time.

This show is a major trend-setter, not only for the gadgets people will buy in 2010, but for the direction of many businesses and industries worldwide. Technology released at CES has the potential to shift large markets such as entertainment and mobile in new directions, which is why you should be paying attention to emerging trends at this year’s show.

Three industries in particular could really feel the after effects of this year’s CES: entertainment, mobile, and publishing. The impact of the show on these industries could even reverberate into the entire economy.

That’s why businesses in these sectors should watch CES 2010 with a close eye, because technology coming out of here will affect them for years to come. Here’s an overview of what’s to come this week at CES:

1. The entertainment industry’s technological shake-up

The entertainment industry has been dealing with a lot of issues spawned by the rise of social media and web technology. Movie and TV studios are trying to find ways to fight back against piracy and illegal file sharing.

They’re also debating whether to support new technologies such as Boxee, a service that brings TV to your desktop.

In fact, a product known as the Boxee Box, will be front and center during the show. The device, no larger than a coke can, ports Boxee’s TV content (including CNN, CBS, and Internet TV channel Rev3) onto your TV. The device could have a major impact on how people use their TVs and is a technology many in the entertainment sector are watching.

There is another technology that will be prevalent at CES that theaters and movie studios hope will keep people coming back to the big screen: 3D. The wild success of “Avatar” has sparked a wave of demand for 3D content in the home.

Several vendors at this year’s show will reveal 3D TVs and laptops in order to latch onto this trend. It could change the whole viewing experience.

2. Everything’s going mobile

I don’t have to tell you mobile is hot right now, but you might be surprised to learn what’s going mobile this year.

For example, Logitech, LG, and Samsung are expected to demo projector phones at this year’s CES. Television is also going mobile at this year’s show, as Shapiro and others will reveal phones and mobile devices that can broadcast your favorite shows.

However, the big mobile trend this year will be Android. It started with Google’s announcement of its self-branded smartphone, the Nexus One, but Shapiro, Dell, and others are likely to reveal smartphones and tablets that run on the OS.

People expect their mobile phones to do more. Not only that, they expect more of what they do to be mobile. That trend will be prevalent in Las Vegas this week.

3. Publishers and tablets

Why should magazine, newspaper, and book publishers care about CES 2010? Two reasons: e-books and tablets. In the impending wake of the rumored Apple Tablet launch, many companies are set to reveal their own tablet computers and e-book readers, including Microsoft and Dell.

CES could determine if these devices succeed as a whole. If they do, they could continue what the Amazon Kindle has started: creating an alternative way to read magazines and books. This year’s show could determine whether publishers need to make their content tablet friendly.

[Via http://dominicstoughton.wordpress.com]

Droid Eris - An Owner's review

HTC Droid ErisWelcome to my owners review of the HTC droid Eris. I say owners review because unlike the “user” or “first look”reviewers, this is my only phone. I do not have a super power blog that creates enough interest in my own opinions that people just send me free phones for me to do half ass reviews. That being said I’ll be doing this review the only way that I can possibly have it make sense, by starting at the beginning.

A long time ago in a galaxy far, far away, lived a man who’s only way to tweet, IM, facebook, email and youtube was on his LG dare. This man loved technology and even worked with mobile phones all day long. So he knew what was out there, like a kid with a telescope who’s parents were too lame to put him in space camp, he knew what was, but never would! That man was me and being that man sucks. So I began a mission, a mission to find a blend of hardware and OS that could do everything on the web I wanted to. Everything that I could do on a PC (which I don’t own) plus do it while looking pretty. After much searching I found this device in the droid Eris. Ill be doing this review in two parts. In the first half it will be within the first week, the second half will be after all the newness has gone away and all I’m left with is facts. So without any more delay………….

FLASHY LIGHTS:

The first thing I noticed when I held the display model at the Verizon store, was that in my hand it felt so comfortable. I mean really comfortable. The soft touch finish almost seems to eliminate the space between my hand and the case of the phone. Point being, it feels as though the device is meant to be cradled in your hand, like a robot baby. The Sense UI is beautiful, I never once have witnessed any program or app on my Eris that wasn’t very pleasing to my eyes. Having seven screens is great and having seven more scenes to play with just adds to the fun. Add to that the seemingly endless background apps in the marketplace, and you have a recipe for tech eye porn. That’s the best way I can put it, without getting vulgar.

Now, I know that most reviewers go on and on about specs. So I really didn’t want to say anything about them at all. But in fairness to the few people who’s only Intel on the Eris comes from this review, here’s the goods. It has a 3.2 inch capacitive display, with four electrostatic buttons on the bottom of the screen, a 5 mp camera, and a dedicated call and end call/lock button. The only other button on the phone is the volume rocker. “but Anthony, whats on the inside”. Well in all honesty the inside is a little dated, with a Qualcomm MSM7600, 528 MHz processor, and 288 MB of ram and not being able to save apps to the SD card, it does feel a little shallow when it comes to the hardware. But you never feel cheated or shorted, after all I purchased 2 of these devices for $100.00. An android device with sense UI and a 5 mp camera and amazing screen at $50.00 cannot be called a rip off. Which brings me to my next topic.

THE FEELING:

Its come to my understanding that just about as soon as you charge that battery up for your new phone, the device is dated. Which brings me to the only conclusion I have been able to come too. When anyone buys a new smart phone, they’re actually buying an OS trapped inside a shell. Not that hardware isn’t important, just that hardware comes and goes (remember your first gen ipod, was it the hardware you loved or the software). That being said, I think that people gravitate towards which Os’s make them feel good. Everyone has that neighbor who bought a prius because they liked the feeling of looking like they give a damn, when they actually don’t. They bought there prius because it feels good. My LG dare made me feel trapped, cut off from real apps and a real online experience. The Eris makes me feel free and connected at the same time. Both able to draw me closer to my friends and family and then say screw it and spend an afternoon making augmented reality graffiti while streaming music and ignoring every facebook update i get. So in closing, my Eris makes  me feel like part of a movement. A movement for the freedom to do what we want with the devices we pay for, to make any app we want. Almost like I’m part of a team, no…… the captain of a team, no…….. like the mother fricking  boss of the team.

See you in two weeks when I turn all this garble into total sense, and in the process continue to open people’s minds up to the idea of being in control of there own phone. Until then, live long and……. you know.

Like the review? Check out Anthony on Twitter and look for part two of the review coming in a few weeks.

[Via http://tagon42.wordpress.com]

Friday, January 1, 2010

Creating an HTTP Client Example

Hey everyone,

To conclude my series of examples on working with HTTP/web based Android programming, I thought I would include an example on how to set up a working HTTP Client that will allow you to do all of your POST/GET calls or whatever it is you might be looking to do. So here it is!

public DefaultHttpClient getClient() { DefaultHttpClient ret = null; //sets up parameters HttpParams params = new BasicHttpParams(); HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1); HttpProtocolParams.setContentCharset(params, "utf-8"); params.setBooleanParameter("http.protocol.expect-continue", false); //registers schemes for both http and https SchemeRegistry registry = new SchemeRegistry(); registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80)); final SSLSocketFactory sslSocketFactory = SSLSocketFactory.getSocketFactory(); sslSocketFactory.setHostnameVerifier(SSLSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER); registry.register(new Scheme("https", sslSocketFactory, 443)); ThreadSafeClientConnManager manager = new ThreadSafeClientConnManager(params, registry); ret = new DefaultHttpClient(manager, params); return ret; }

So yes, if you ever encounter any annoying log errors saying things like “HTTPS SSL ERROR”, then it probably has something to do with how your HTTP Client is set up, and in my experience the example above works well in most cases!

Happy New Year! And Happy coding.

- jwei

[Via http://thinkandroid.wordpress.com]