実は(というわけでもなく、使ってればわかると思うけど)、俺々ツイートの文字数カウントはかなりいいかげんに実装してます。
どのくらいいいかげんかというと、ツイートにURLが含まれてると、本当はt.co短縮されるのでそれを加味して計算しないといけないけど、t.co短縮とか無視してその文字数を素直にカウントしてます(ぉぃ

で、まぁ、いいかげんにそのへんをちゃんと実装しようかなぁ、でもURLの判定とかめんどくさいんよなぁ...とか(かなり前から、それこそリリースする前から)考えてました。

そこでtwitter-text-javaですよ
https://github.com/twitter/twitter-text-java 

まぁ、それにしてもググっても使い方が出てこないこと...
というわけで、導入方法からツイート文字数のカウントのやりかたまではメモとして残しておく(ちなみに、当然Androidでの使い方)
・使い方
twitter-text-java/dist/lib/にはjarが入ってるけど、恐ろしく古い(更新日が2 years ago)ので、README.mdに書いてある通りにビルドしてから使いましょう。(なんか、ホームディレクトリの.m2ディレクトリの中を掘って入れてくれるけど気にしない)

で、ビルドができたら、dist/lib/twitter-text-your-build-version.jar(2012/08/19時点でtwitter-text-1.5.0.jar)があるはずなので、それをプロジェクトのlibsディレクトリに放り込む

以上

・ツイートの文字数のカウント方法
Objective-Cの場合はremainingCharacterCountというそのものずばりのメソッドがあるみたいですが(これは残り文字数のカウントですが...)Java版にはなさそう? 
(Objective-Cの場合は文字数のカウントがおかしいというか、仕様上正確な文字数がカウントできないみたいなのでこんなメソッドがあるのかな?)

Javaの場合は、文字数のカウントで問題になってくるのはURLの扱いだけっぽいので、URLを正確に(ここでいう正確とは、twitterの仕様上正確という意味)判定できて、それが抜き出せればよさそう。

URLを抜き出すにはExtractor#extractURLsを使えばOK
(Extractor#extractURLsWithIndicesってのもあるみたいだけど、文字数をカウントするだけなら必要なさげ?)

そーすt.coの文字数を固定で20って切ってるけど、ホントはhelp/configurationから取ってきた値を使わないとダメだよ、とかいろいろ突っ込みどころはあるけどこんな感じで