2010年8月8日日曜日

AndroidでTwitter認証にOAuthを使う方法(導入編)

【セルフPR】
・ねこぱβ(http://cat.picparks.com
・いぬぱβ(http://dog.picparks.com
も見てくれると嬉しいです。

---

Androidアプリ開発に関する日本語での情報が少ないな、と本当に思った。

AndroidでTwitterクライアントを作ってみようとすることは多いと思うけど、
どれもXAuth使うとかrequest_tokenとrequest_token_secretをベタ書きするとか。

なので、Twitter認証でOAuthを使う方法を残しておくことにした。

どうせ作るなら、多くの人に使って欲しいと思うのは当然。
なので、その機会を失う要因(実装断念、セキュリティ不安等)は、
できうる範囲で排除したい。

その前にまずは導入編として、OAuthやXAuthやTwitterアプリについてまとめ。
既に理解しているのであれば、実践編へどうぞ。

2010年8月7日土曜日

ソーシャルモーニングコールアプリ「ねちゃったー」をアップデートしました。

昨日予告したとおり、ソーシャルモーニングコールアプリ「ねちゃったー」を、
2.1(Eclair)対応にしました。
引き続き2.2(Froyo)でも利用可能です。

お使いいただいて、感想をお聞かせいただくと幸いです。

ダウンロードは下記QRコードからお願いいたします。(マーケットにリンクします。)

2010年8月6日金曜日

アプリ初リリース

かねてからtweetしながら細々と開発していた、
ソーシャルモーニングコールアプリ「アラーム時計 with ねちゃったー」を、
マーケット上に公開しました。

現時点では2.2でのみ対応ですが、2.1対応も近々やります。

一応頑張って単体アプリ化したので、
システムアプリの上書きという怖いことはしなくてOKです。

使い方は以下から。

2010年8月5日木曜日

ソーシャル化

Webに関わるアプリケーションやサービスをソーシャル化すると、
自分だけの閉じた世界に他人が絡んでくるので、
通常は元の状態より面白くなくなることはない。
(MMORPGのように、人によって合う・合わないがあるけど、大概の場合は当てはまるはず。)
もっと極端に言うと、アプリケーションやサービスのブラッシュアップの行き着くところは、
ソーシャル化だと思う。

そうなると、他人をいかにして関わらせるかが最大の課題となる。
まずユーザーを集めるのが大変、
そこから一から他人との関係(ソーシャルグラフ)を構築していくのはもっと大変。

これを自分でやると多分失敗する。
どっかの業界にありがちな「独自」へのこだわりを、
(特にコア以外では)捨てないと勝てない。
※ここでの勝ち負けは、使ってもらえるかどうかっていうこと。

じゃあどうするのかというと、
既存のソーシャルグラフをまんま利用させてもらうのが一番近道。
一番オープン化されているTwitterのソーシャルグラフを利用するのがベスト。
mixiでもなんでも良いと思う。

なので、Twitterとのつなぎ込みが必須になるものの、
そうなるとOAuthやXAuthでつまづいたりでうまくいかず、
アプリケーションやサービスの本質以外の無駄な時間が発生することが多々ある。

そこで。
この間クソTwitterクライアントを作ったが、
Twitterのつなぎ込みロジックを独立化(クラス化、アクティビティ化)しているので、
この部分を流用すれば何でもソーシャル化できる。
このアクティビティ群を公開しようと思う。

お金取れるかな。
無料は広告付き、有料で広告非表示、
というのが落としどころかな。

とりあえず、欲しいという方はご連絡ください。

2010年8月2日月曜日

ソーシャルモーニングコールアプリ、できました。

どうしても起きれない人は人に起こしてもらえば良い。
これぞ、ソーシャル目覚ましモーニングコール。
(追記:ソーシャルモーニングコールの方がカッコ良さげなので変えました。)

・スヌーズをするたびに、二度寝、三度寝、・・・というツイート
・アラームを止めると、また寝たかもしれんから心配なら起こして、
 というツイート。

OAuth認証を使ってるので、怪しくないです。

ただし、デフォルトの時計アプリにこの機能をのっけただけなので、
このアプリをインストールすると上書きされます。
すんません。

スキル的に単体アプリにはできないと思います。

人柱さん、募集です。

まだ公開はしないですが、欲しければ言ってください。

2010年7月28日水曜日

twitterクライアント開発でOAuthを使う方法(調べた内容の備忘録)

OAuthでできなかったのは、ブラウザに一旦制御を預けたら、
こちらに戻ってこなかったから。

でも調べてみると、WebViewなるビューがあって、
これを通じてブラウザ機能が使えるとか。

ってことはOAuth対応もできるんじゃないのかな。

よく分からないけど、作ってみてから判断。

超簡易twitterクライアント開発を通じて学んだこと。

Twitter4jの使い方部分で分からないところは置いておいて、
このアプリ開発でできたこと。

・2つのアクティビティを作る。
・インテントを使ったアクティビティ間の情報のやり取り
 startActivityによる片道、
 startActivityForResultによる往復ともにできた。
・設定ファイル(?)への書き出し
・xAuth

とりあえず、マニフェストファイルがまだ分からない。
買った本にはまともな説明がない。
追々勉強。

2010年7月26日月曜日

インテント

android独自の仕組みでかなり使えるという、
「インテント」がまだちょっと分からない。

アプリ間で情報を受け渡すオブジェクト的な理解でいるけれど、
まだまだ分かっていないので実際に扱えない。

例えば、ブラウザで取得したデータ
(twitterのOAuth認証で取得したaccess_tokenとか、検索結果とか)を、
アプリに戻してからブラウザが閉じる、みたいな挙動が実現できない。

これはインテントを使ったアプリ連携の仕組みが分かってないから。

今の課題。

初アプリ



androidアプリ開発のお勉強として、
まずしょーもないTwitterクライアントを作ってみた。
単に定型文をtweetするだけ。

しかし、実は現段階でOAuthしか使えていないので、
まともに動かない。

xAuthに対応するために、twitterサポートにメールで依頼中。
Thank you, Brian.