• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • PR

  • PR

  • PR

  • PR

  • PR

お役立ち!Androidツール&ライブラリ

Android Query - 避けては通れないView周りのコードがすっきり書ける

わかめ まさひろ(vvakame) 2013/03/06 日経ソフトウエア
出典:日経ソフトウエア 2012年8月号pp.132-133
(記事は執筆時の情報に基づいており、現在では異なる場合があります)
目次一覧

 Androidアプリを開発する上で、どうしても避けては通れないコーディングの一つに、Viewの操作があります。毎回findViewByIdメソッドを使って、キャストして、長いコードを書いて、ようやくTextViewなどを操作する準備が整うわけです。こんなに面倒で、Eclipseもろくに自動生成してくれないコードを記述するのは嫌になりませんか。筆者は、嫌です。

 例えば、テキストビューを使用するためには、

TextView textView = (TextView)
findViewById(R.id.text);

というコードを記述しなければなりません。なぜ、

TextView textView =
  findViewById(R.id.text);

のように「(TextView)」を省いたシンプルな記法を許さなかったのか理解に苦しみます。

 今回紹介する「Android Query」は、このような悩みを解決してくれるライブラリです。Android Queryは、JavaScriptのライブラリである「jQuery」を元に考案されたライブラリで、View周りのコードを記述する際には、リスト1のように記述できます。Android Queryを使うと、すっきりとした記述に直すことができます。

リスト1●Android QueryによってViewの定義を書き直したプログラム
[画像のクリックで拡大表示]

jQueryのように書ける

 Android Queryを使うと、今まで冗長だった処理を簡潔に記述できるようになります。先ほど紹介したViewの操作のサポートもその一つです。jQueryのようにメソッドチェーンで、処理を次々に記述していけることもうれしいところです。

リスト2●冗長だった処理を簡潔に記述でき、数珠つなぎで記述も可能
[画像のクリックで拡大表示]

 例えば、リスト2の上のコードを下のコードのように、数珠つなぎで書くことができます。ちなみに、

AQuery aq = new AQuery(this);
aq.id(R.id.text);
aq.text(R.string.hello);
aq.background(R.color.bg);

のように書くことも可能です。

 また、Web APIを利用する際の補助としても使えます。Android Queryには、Web APIをたたくための便利なメソッドが提供されています。サンプルとして、リスト3のように認証なしで利用できるTwitterのpublic timeline(すべての公開ユーザーのつぶやきが見られる)を取得するAPIをたたいてみましょう。

リスト3●Twitterのつぶやきを取得するプログラム
[画像のクリックで拡大表示]

 これだけで、TwitterのAPIからのデータの取得を非同期で開始→ProgressDialogを表示→取得が完了したら処理→ProgressDialogを消す、という一連の処理を実装できます。レスポンスは、JSONArrayのほかにもJSONObjectやString、File、InputStreamなど、様々な形式で受け取ることが可能です。

 リスト3では、クライアント側から何もファイルのアップロードやパラメータの受け渡しなどを行なっていませんが、これらのパラメータやファイルも簡単に送信したり、アップロードしたりできます。

ここから先はITpro会員(無料)の登録が必要です。

次ページ 画像を高速表示してくれる
  • 1
  • 2

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

運用管理

設計/開発

サーバー/ストレージ

クライアント/OA機器

ネットワーク/通信サービス

セキュリティ

もっと見る