‘解決’ タグのついている投稿

Twitter+oauth-signpostでOAuthCommunicationException?

oauth.signpost.exception.OAuthCommunicationException: Communication with the service provider failed: https://api.twitter.com/oauth/request_token

Application TypeをBrowserにして、Callback URLをダミーでいいので入力したかい?入力しないとClientに変更されるよ。

Request token URL

https://api.twitter.com/oauth/request_token

Access token URL

https://api.twitter.com/oauth/access_token

Authorize URL

https://api.twitter.com/oauth/authorize

httpsになってるからちゃんとdev.twitter.comから新しいのコピペしようね。

っていう、自分への備忘録。Androidの話。


Eclipse 3.6(Helios)でAndroid SDKのコード補完が遅い問題

Android開発時に、コード補完が死ぬほど遅い問題の解決方法をまとめておきます。

参考にしたのは以下。

つまりはソースコードをダウンロードして展開しておけばいいということですね。

2.2(froyo)の場合

http://android.git.kernel.org/?p=platform/frameworks/base.git;a=snapshot;h=froyo;sf=tgz

base-froyo-73e150c.tar.gz、107MBでダウンロードは10分ほどでした。

展開すると、pax_global_headerというファイルとbase-froyo-73e150cというディレクトリができるので、base-froyo-73e150cをsoucesに名前変更して、

android-sdk-windows\platforms\android-8

の下に移動して完了。

2.1(eclair)の場合はダウンロードURLのh=froyoをh=eclairに変更して、展開先をandroid-7\sourcesにすればOK。

展開すればEclipse再起動しなくても有効になります。


Ubuntu 10.10 (Maverick Meerkat) ServerにJDK6をインストールする

今回の情報元。
How to install Sun JDK on Ubuntu 10.10 "Maverick meerkat"? – Stack Overflow

まずはaptラインの設定。

# vi /etc/apt/source.list

末尾に

deb http://archive.canonical.com/ubuntu maverick partner
deb-src http://archive.canonical.com/ubuntu maverick partner

を追加。

# aptitude update
# aptitude install sun-java6-jdk

で、OK。


Androidエミュレータの通信をFiddlerで見る

Androidのアプリ開発をするときに、サーバとの通信を確認したいということはよくあります。

通信の確認にFiddlerを組み合わせて使うことで、XMLを整形された状態で見たり、詳細なHTTPヘッダを確認したり、リクエストを改ざんしたり、アプリプログラム側を変更せずに開発サーバを見に行くようにしたりできるようになります。自分のローカルマシンだけでサーバ・クライアントモデルの開発が完了できる環境を作っておくと楽ですね。

Fiddlerについてはこちら。
実はFiddlerがすごすぎたので、機能まとめ紹介 : blog.loadlimit – digital matter –

AndroidエミュレータのHTTP Proxy設定方法について参考にしたのはこちら。
[Android] エミュレーターのプロキシ設定(Using the Emulator with a Proxy) – adakoda

AndroidのブラウザでGoogleニュースを見たときのリクエストはこんな感じで覗けます。

emurator

fiddler_http_debug

具体的なやり方は以下の通り。
あと、開発はEclipseで行っていると仮定しますが、別にエミュレータそのまま起動する場合でもOKです。

Fiddlerインストール

FillderのメニューからTools→Fiddler Optionsを選択
menu_options

Connectionsタブから、Allow remote computers to connectを選択して、ローカルマシン以外からのアクセスを受け付ける
fiddler_allow_remote
併せて、その上のFldder listens on portを覚えておく。ここでは8888を使用。

Fiddlerを一度終了して、起動する

EclipseのメニューのWindows→Preferencesを開いて、左側のツリーからAndroid→Launchを選択、Default emulator optionsに-http-proxy http://[ローカルマシンのIP]:[先ほど調べたFiddlerのポート]を入力。
preferences

すでにプロジェクトを作ってしまっている場合には、メニューのRun→Run configurationsからAdditional Emulator Command Line Optionsを設定する。
run_configurations

これで、ApplyしてRunすれば、ProxyにFiddlerを経由して開発することができるようになります。

あとは、必要に応じて、UserAgentにAndroidが含まれているかどうかなどをFiddlerのフィルタにセットすればOKです。

FiddlerのHOSTS機能でサーバのドメインを開発用のVirtualPCなどに割り当てれば、一台で完結できます。

FiddlerのメニューからTools→HOSTSを選択
menu_hosts

開発マシンのIPとドメインを設定してやればOKです。
hosts 

ただし、Androidのブラウザの場合、どうやら存在するドメインでないと、リクエストできないみたいです。おそらくHTTPリクエスト前にDNS名前解決を一度しているのではないかと思います。ドメイン存在していれば大丈夫なので、たいした問題ではないかと思います。