Browsing articles tagged with " Intent"

Intentで画面遷移する(暗黙的Intent)/Getting started

9月 26, 2011   //   by furusin   //   アプリケーション  //  No Comments

Intentで画面遷移する(明示的Intent)/Getting startedでは、同一アプリケーション内での画面遷移をIntentで行いました。
今回は暗黙的Intentを使って、他アプリケーションを呼び出してみます。


暗黙的Intentは、所定の動作(例:ブラウザを起動)のみ指定してアプリケーションを起動します。
起動される側のアプリケーションは、反応したいイベント(ブラウザでURLを表示する、というAction)に対して返事をします。

明示的Intentで単純に標準の「ブラウザ」アプリケーションを指定しても、Webを見るという動作は実現できます。
標準のアプリケーションを使っていれば一見問題無いように思えますが、利用者は好きなアプリケーションを選べなくなってしまいます。
(※また、ブラウザが入っていないシステムでは、残念ながら動かないでしょう。)

暗黙的IntentはAction(動作)を指定して起動対象を決めることで、アプリケーションが緩やかに連携します。
一見回りくどいように見えますが、明示的に指定するより、アプリケーション間の連携が格段に行いやすくなっています。

暗黙的Intentで重要なメソッドは次の3つです。

メソッド名説明
IntentクラスのIntentメソッドIntentの内容を設定。
ActivityクラスのstartActivityForResultメソッドIntentでの情報の受け渡しを開始(返り値有り)
ActivityクラスのstartActivityメソッドIntentでの情報の受け渡しを開始(返り値無し)

それでは、サンプルプログラムで確認してみましょう。
Read more >>

Intentで画面遷移する(明示的Intent)/Getting started

9月 18, 2011   //   by furusin   //   アプリケーション  //  1 Comment

Intentは、複数のアプリケーションやActivityを繋ぐ、架け橋のようなものです。
※ここでは、アプリケーションはGmailやブラウザ等のアプリの事を指し、ActivityはJavaクラスの事を指します。

Intentを用いることで配列や文字列、整数型などを別アプリケーションに通知でき、他のActivityの呼び出し方法としてよく使われます。

明示的Intentと暗黙的Intent

IntentでActivityを呼び出す方法には以下の2つがあります。

  • Activityをクラス名で指定して呼び出す方法=明示的Intent
  • 動作(振る舞い)で呼び出し、Activityを指定しない方法=暗黙的Intent

明示的Intent

Intentは同一アプリケーション内でも利用可能です。
Intentを明示的に使う場合は主に画面遷移で使い、IntentクラスのstartActivityメソッドの引数として追加されます。
今回は同一アプリケーション内での利用(明示的Intent)について解説します。

Read more >>

Google Analyticsを用いてアプリの使用状況を調査する

7月 11, 2011   //   by UpDown-G   //   Android, マッシュアップ  //  No Comments

Androidのアプリケーションでは、Google Analytics用いてアプリケーションの使用状況を調査(トラッキング)することが可能です。

Google Analyticsは、主にウェブサイトなどの使用状況(訪問数や滞在時間など)を調査するための、Googleが提供するWebサービスです。下図はGoogle Analyticsによる解析結果を表示する画面の一例です。解析結果はブラウザにて閲覧可能です。


Google Analyticsには、Google Analyticsfor Mobile apps SDKが用意されており、AndroidやiOSなどのモバイルプラットフォーム用にAPIが定義されています。

今回はその中から、Google Analytics SDK for Androidを使用して、アプリケーションの訪問回数ボタンがクリックされた回数などをトラッキングしてみたいと思います。

サンプルとして作成するアプリケーションは非常に簡単なもので、3つのボタンから一つを選択し、選択したボタンに応じて、遷移先の画面にメッセージを表示します。

解説の流れとしては以下の通りです。

  • Google Analyticsを使用するための準備
  • ソースコードにトラッキングのためのAPIを埋め込む(サンプルコード解説)

※なお、Google Analyticsについてはここでは詳しく解説しません。

では続きをどうぞ

Read more >>

インストール済みホームアプリケーションの一覧を作成する

7月 3, 2011   //   by UpDown-G   //   アプリケーション  //  No Comments

インストール済パッケージを取得するおよびインストール済みアプリケーションのアプリケーション名とアイコンを取得するでは、インストールされているすべてのアプリケーションのパッケージ名を取得することで、アプリケーション一覧画面を作成しました。

Androidでは、アプリケーションパッケージ名の取得の際に、カテゴリやその他インテントフィルターの属性を指定することで、インストールされているアプリケーションの中から、すべてではなく一部のアプリケーションのパッケージ名のみを取得することも可能です。
今回は、インストール済みアプリケーションのアプリケーション名とアイコンを取得するで作成したサンプルアプリをベースに、デフォルト設定を解除するサンプルアプリを作成しながら解説します。デフォルト設定を解除するには、アプリケーション管理の詳細画面に遷移する必要がありますので、その方法も一緒に学んでみてください。
※「デフォルト設定」とは、ブラウザアプリやホームアプリが暗黙的IntentやブロードキャストIntentによって起動される際に、選択式にせずに、起動されるブラウザ、もしくはホームアプリケーションを、決め打ちで指定しておくことです。

▲図:ホームアプリ選択画面。チェックボックスにチェックを付けると、選択したホームアプリがデフォルト設定となり、ホームボタンを押すとそれが起動することになる。

なお、手順としては、前回作成したインストール済みアプリケーションのアプリケーション名とアイコンを取得するで作成したサンプルアプリを以下の手順で改良を加えますので、そちらの記事も参考にしてください。
・すべてのアプリケーションの情報を取得していた部分を、インテントフィルタを用いてホームアプリのみ取得できるようにする。
・ホームアプリ一覧を取得したら、アプリケーション管理画面の詳細画面(上図右)に遷移させることで、デフォルト設定の解除を可能にする。

では続きをどうぞ

Read more >>

インストール済みアプリケーションのアプリケーション名とアイコンを取得する

6月 11, 2011   //   by UpDown-G   //   アプリケーション  //  No Comments

インストール済パッケージを取得するでは、端末にインストールされているアプリケーションのパッケージ名を取得し、リストにしています。

今回は、取得したパッケージ名以外に、アプリケーションの名前アイコンを取得し、それをリストにする方法を解説します。
さらに最後に、パッケージ名を利用して、選択したアプリケーションをアンインストールしてみます。

ポイントは、以下の4つです。

  • ・PackageManagerからインストール済みアプリケーションの情報を取得する。
  • ApplicationInfo#loadLabel(PackageManager pm)メソッドでアプリケーション名取得
  • PackageManager#getApplicationIcon(String packageName)メソッドでアイコンを取得
  • ・Intentの引数に、Intent.ACTION_DELETEを指定し、アンインストール画面に遷移する。

なお今回、リストの作成の際に以下の記事で作成したサンプルを利用していますので参考にしてください。

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

それでは続きをどうぞ

Read more >>

ターミナルからIntentを投げる

5月 30, 2011   //   by UpDown-G   //   開発環境  //  No Comments

ターミナルから端末、もしくはエミュレータに対してIntentを投げることが可能です。

アプリケーションの開発を行っていると、ブロードキャストインテントなど特定のタイミングにしか飛んでこないIntent(端末起動時のBOOT_COMPLETE)や、暗黙のIntentに反応させたいということがあるかと思います。
そういったときに、ターミナルからIntentを投げることができれば非常に便利です。

今回は、比較的よく使われると思われる以下の3つの方法について解説します。

  • 明示的Intent
  • ブロードキャストIntent
  • 暗黙的Intent

amコマンド
ターミナルからIntentを投げるには、amコマンドを使用します。
今回は、PC上でエミュレータを起動している状態を想定して解説を行いますが、実機の場合でも特に違いはありません。
それでは早速使ってみましょう。まずはターミナルを起動してください(windowsならコマンドプロンプト)。
以下のように入力し、端末にアクセスしましょう。
$ adb shell
ターミナル上に$ <カーソル>だけ表示されていれば成功です。
それではまず、amコマンドのhelpを見てみましょう。コマンドの使い方やオプションの種類などを知りたいときに使います。
ターミナルに以下のように入力してください。
$ am
すると以下のように表示されるかと思います(androidのバージョンによって多少誤差があります)。

それでは、主な使い方を順に解説します。

Read more >>

Application内からMarketアプリを呼び出す

5月 29, 2011   //   by UpDown-G   //   Android, アプリケーション  //  No Comments


「無料版アプリから有料版アプリへのリンクを貼りたい」「Application紹介アプリを作りたい」「ヘルプ用にMarketの詳細画面を使いたい」
など、AndroidMarketの画面をアプリケーション内で呼び出したいケースが開発中に出てくるかと思います。
そこで今回は、作成したApplication内から、Marketアプリを呼び出す方法を紹介します。
単にMarketアプリを呼び出すのではなく、

  • Marketでの任意Word検索結果を呼び出す
  • 開発者での検索結果を呼び出す
  • 指定したアプリケーションの詳細画面を呼び出す

これらについて紹介していきたいと思います。

また、本記事の内容について、要領よく理解する為に以下記事を参考にどうぞ。

Read more >>

アプリケーションのディテール画面、アプリケーション一覧画面を開く

12月 29, 2010   //   by kkato   //   アプリケーション  //  1 Comment

android.provider.Settingsクラスで宣言されているACTION(String型)のIntentを発行することで時計設定画面など様々な設定画面を開くことができます。

Android2.3(API9)から新たに以下のACTIONが追加されました。

  • ACTION_APPLICATION_DETAILS_SETTINGS
  • ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS

それぞれどのような画面が表示されるか続きで紹介します。

Read more >>

AlarmClockクラスを使用してアラームをセットする

12月 12, 2010   //   by kei_i_t   //   アプリケーション  //  No Comments

AlarmClockクラスはAndroid SDK 2.3から追加されたクラスです。

AlarmClockクラスを使用することで、android.intent.action.SET_ALARMのアクションを持つIntentに連携し、アラームをセットすることができます。

続きでAlarmClockクラスの使用方法を説明します。

Read more >>

残量などバッテリーの情報を取得する

10月 28, 2010   //   by kkato   //   デバイス  //  2 Comments

今回はバッテリーの状態変化を取得する方法を説明します。
バッテリー残量や充電中か否かの情報を知りたいということがあるかと思います。

以前、システムの起動時にサービスを実行するBroadcast Intentの種類をいくつか紹介しましたが、その中のACTION_BATTERY_CHANGEDを利用します。

それではサンプルソースとともに説明してきます。

Read more >>

ページ:12»

技術書新刊 発売中

アンドロイドアカデミアには、CIやテスト、互換検証など実務に生きるノウハウをあつめています

技術書新刊 発売中

Android Next!はAndroid 7.0に対応したはじめての技術書です!


The Web Explorer 2はCSSの中央寄せやWebAudioなど未来を読み解く一冊です


Revised TypeScript in DefinitelylandはTypeScript 2.0(β)に対応した解説書です。インストールから型定義まで幅広くサポートしています


技術書をかこう!はエンジニアらしい執筆環境を構築、HowTo本です