mind-tech

主にテクノロジーや啓発系、副業などのテーマ中心

簡易Twitterクライアント作ってみた

目的
twitterに絡んだ、「今風?」なアプリの構築手順を理解したかった(OAuthとか)


こういったアプリを作っておけるのも今だけ。。
学部4年からは雑魚ながら、がっつり研究室に貢献したい。

まずはパブリックライムラインのツイート取得。

タイムラインの取得やAPIの使用等はTwitterのAPIドキュメントを参照してもらうとして

以下のURLでXMLデータを取得する事が可能。

http://api.twitter.com/1/statuses/public_timeline.xml

コードは省略。とりあえずXMLのtextタグのみを抽出したらこんな感じ


次はリストビューをカスタマイズする。

ユーザー名とツイート内容、アイコン画像を表示させる。

ビューはこんな感じに設定。


Before



After




んでもって、コーティング部分ではツイート内容、ユーザー名、アイコン画像のURLをまとめて扱う為クラスを定義し、そのオブジェクトをアダプターに追加している。

この時、アダプターをString型を扱うArrayAdapterとして宣言していて上記のオブジェクトが扱えなかったため、ArrayAdapterの機能を拡張(継承)した。

こんな感じ


OAuth認証を組み込む

まずはここでアプリケーションの登録を申請。

ここでConsumer keyとConsumer secret、OAuth認証を行う際に必要なurlが3つ発行される。

OAuth認証自体のプログラムはライブラリを普通使う。仕組みの概念とかはググってちょ。

それを組み込んだ上で、レイアウトの配置とコーディング。それは省略。

OAuth認証手順としては


1: 「Consumer key」と「Consumer secret」と,3つのURLからtwittetの認証ページへのURLを生成
2: 生成されたURLを開くと登録申請hしたアプリケーションの認証ページが表示される
3: 認証ページにある「許可」ボタンをクリックするとアプリケーションを使用する為の暗証番号が表示される
4: 生成されたURLと暗証番号から認証用の「Token key」と「Token secret」のペアを生成
5: 「Token key」と「Token secret」を使ってOAuth認証を行い、ホームタイムラインの表示
※認証用のToken keyとToken secretを保存しておけば次回から1~4の手順を省略して5から始める事ができる。

んで、実行させた。

デザインのインタフェースも自分で作成する。こんな感じ。


実行画面。まず、URLが生成され用意しておいたWebViewにTwitterの認証ページが表示される


暗証番号が発行されるので、それを今回は入力ボックスにセット。



これでOAuth認証の準備完了



後は、OAuth認証の部分をちょこっと実装、具体的には先ほどまで使っていたボタン等の部品を隠したり,URLから直接インプットストリームで渡していた部分をコネクションから取り出したりなど。

実行すると、確認ダイアログが出てくる。


すると暗証番号が出るので、これを打つと自分のタイムラインが取得できる。


ただ、現状だとアプリケーションを起動する度に認証が行われるのでToken keyとToken secretを保存し2回目以降は認証をパスするようにした。

具体的にはテキストファイルに情報を保存。その情報を読み書きするメソッドの用意、内部ではストリーム操作と読み込みの確認フラグの操作。

Copyright ©mind-teck All rights reserved..
🔒プライバシーポリシー