MyTwitter
MyTwitterとは
中国はGFWのおかげで外国の主要なWEBサービスが遮断されています。Twitterもそのうちの一つで、中国国内から利用するにはVPN等を利用してGFWをくぐり抜ける必要があります。AndroidでVPNを使う場合、不安定で接続がちょくちょく切れるのと、バッテリーの消費が格段に激しくなります。VPN+Tetheringなんかをやった日には・・・。
そこで、中国国外に自分専用のWebAPIサーバを設置し、そこを経由してTwitterへアクセスするためのWebAPIと専用のAndroidクライアントを作りました。なぜ、自分専用のWebAPIが必要かというと、WebAPI側でユーザを管理する機能を実装していないためです。いずれ作成しようかと考えていますが、まずは、Androidクライアント側をメインに実装していくつもりです。
全体的に試作臭が高くなっていますが、ホームのTL、ツイート、公式・非公式リツイート、リプライができます。もちろん、画像のインライン表示なんておしゃれな事には対応していません。
スクリーンショット
タイムライン

ツイート長押し時

ツイートに複数のURLが含まれる時に「URLs」をタップした場合

入力画面

自分でコンパイルしたい方は、各モジュールのダウンロードは下記から行ってください。
環境構築手順
githubで管理している各モジュールのビルド環境構築までの手順をざっくり書きたいと思います。
各モジュール
Twitterへアプリの登録
まずは、自分専用のアプリをTwitterへ登録します。
登録した際に表示される下記の情報は後で使用するのでメモっておいてください。
- Consumer key
- Consumer secret
- Access Token
- Access Token Secret
Settingをクリック

Connections->Developers->hereをクリック

Register a new applicationをクリック

Application TypeをClient、Default Access typeをRead & Writeにチェックし、他の情報を入力。Saveをクリック。

Consumer key, Consumer secretをメモ

Twitter Applications | dev.twitter.comにアクセスし、先ほど登録したアプリケーションをクリック

My Access Tokenをクリック

Access Token, Access Token Secretをメモ

MyTwitter-WebAPI
fukata/MyTwitter-WebAPIをgit cloneします。
Document Root
apiディレクトリにWEBサーバのDocument Rootを設定します。また、同ディレクトリには、.htaccessを適用可能にしてください。
例:Document Root /var/www/mytwitter/api/
OAuth情報
api/system/application/config/config.phpの下記にTwitterアプリを登録した際にメモっておいた情報を当て込みます。
/* |-------------------------------------------------------------------------- | Twitter |-------------------------------------------------------------------------- | | Edit your twitter oauth information. | */ $config['consumer_key'] = ''; $config['consumer_secret'] = ''; $config['oauth_token'] = ''; $config['oauth_token_secret'] = '';
DocumentRootではなく、サブディレクトリに配置する場合
例:
DocumentRoot: /var/www/api/
MyTwitter-WebAPIのディレクトリ: /var/www/api/mytwitter-webapi/
MyTwitter-WebAPIディレクトリ直下にある.htaccessを下記のように環境に合わせて修正します。
{}内が今回の例題環境に合わせた設定部分になります。
RewriteEngine on RewriteCond $1 !^(index\.php|images|robots\.txt) RewriteRule ^(.*)$ /{mytwitter-webapi}/index.php/$1 [L]
MyTwitter-Android
前提条件
- IDE: Eclipse+EGit
- Java Compiler: 1.6
まず、下記をそれぞれgit cloneします。
Repositoryの追加
Gitプロジェクトの追加。File->Import->Git

ローカルリポジトリを追加。Addをクリック

git cloneしたリポジトリを指定して、Searchを実行後、対象のリポジトリにチェックし、OKをクリック

Nextをクリック

キャプチャの通りにチェックし、Nextをクリック

取り込むプロジェクトをチェック(各モジュールで1つしかありません)し、Finishをクリック
ここまでの工程をモジュール3つ分繰り返します

ExAndroid, xstream-for-androidにて、
プロジェクトを右クリック->Properties->Java Build Path->Libraries->andorid.jarを各自のパスに変更

MyTwitter-Androidにて、
プロジェクトを右クリック->Properties->Java Build Path->Sourceで、ExAndroid, xstream-for-androidまでのパスを各自の環境に合わせます

と、ここまでが、ざっくりした環境構築手順になります。
ダウンロード
Android Marketからクライアントアプリのみのダウンロードは下記のQRコードから。

関連記事
- [Android]MyTwitterのバージョン1.6.2をリリース
- [Android]MyTwitterのバージョン1.6.1をリリース
- [Android]MyTwitterのバージョン1.6.0をリリース
- [Android]MyTwitterのバージョン1.4.1をリリース
- [Android]MyTwitterのバージョン1.4.0をリリース
- [Android]MyTwitterのバージョン1.3.0をリリース
- [Android]MyTwitterのバージョン1.2.0をリリース
- [Android]MyTwitterのバージョン1.1.3をリリース
- [Android]MyTwitterのバージョン1.1.2をリリース
- [Android]MyTwitterのバージョン1.1.1をリリース
関連記事一覧を見る
その他
ご意見、ご要望などございましたら、コメントよろしくお願いします。




Pingback: MyTwitter (Android Twitter Client)の開発に参加しはじめた « 週記くらい@上海