Browsing articles tagged with " Android"

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 >>

開発初心者がよくやる失敗【開発環境構築編】(1)

5月 8, 2011   //   by furusin   //   開発環境  //  1 Comment

Androidアプリの開発環境の構築は非常に容易で無料であるため、敷居が非常に低いと言えます。ですが、開発を始める敷居が低い一方、初歩的な所でつまづく人が多いことも現状です。
これからは、開発初心者がよくやる失敗例とその対応方法をシリーズで連載していきます。TechBoosterでは過去にAndroidSDKのインストールにて開発環境の構築について解説しました。
今回は環境構築の段階で悲鳴をあげている人のために、よくやる失敗としてまず以下の2点を紹介、解説します。

  • システム環境変数が適切でない
  • ADTプラグインがインストールできない

Read more >>

Ubuntu 10.04にAndroid SDKをインストールする

7月 4, 2010   //   by kseto   //   開発環境  //  7 Comments

AndroidアプリはWindows,Linux,MacOSで開発することが可能です。ここではUbuntu 10.04でのAndroidアプリの開発環境の構築方法を説明します。

Ubuntu 10.04でAndroidアプリを開発するには下記の環境を満たす必要があります。

  • Java Development Kit (JDK)
  • Android SDK
  • Eclipse
  • Android Development Tool(ADT)

詳細は続きからどうぞ。

Read more >>

センサを使ってAndroid端末の傾きを知る

6月 29, 2010   //   by @mhidaka   //   デバイス, ユーザインターフェース  //  3 Comments

Androidではたくさんのセンサ・デバイスが搭載されています。
機種によって、センサの種類は異なりますが、今回は最もよく使われるセンサの一つ、傾き(方向)センサの使い方を解説します。

Androidのセンサは以下の通り、SensorクラスのConstantとして定めています。

センサ一覧(センサクラスの定数)

定数 説明
TYPE_ACCELEROMETER 加速度センサ
TYPE_ALL 全部のセンサを指定
TYPE_GYROSCOPE ジャイロスコープ
TYPE_LIGHT 照度センサ
TYPE_MAGNETIC_FIELD 地磁気センサ
TYPE_ORIENTATION 傾きセンサ(非推奨定数)
TYPE_PRESSURE 加圧センサ
TYPE_PROXIMITY 接近センサ
TYPE_TEMPERATURE 温度センサ


TYPE_ORIENTATIONが非推奨となっており、今後のバージョンアップを考えると、いままでと同じ使い勝手で傾きを求めることは遠慮した方がよさそうです。

傾き導出方法(従来)

もちろん非推奨ではありますが、今まで通りの方法でも、傾き(方向)を求めることが出来ます。
以下は、従来方式のサンプルです。

List<Sensor> sensors = SensorManager.getSensorList(Sensor.TYPE_ORIENTATION);
Sensor sensor = sensors.get(0);
SensorManager.registerListener(this,sensor,SensorManager.SENSOR_DELAY_NORMAL);
…
public void onSensorChanged(SensorEvent event) {
  if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) {
     (処理など)... event.values[0];
  }
}

Android 2.2推奨の傾き取得方法

続きではAndroid2.2で推奨されているgetOrientationメソッドをつかった傾きセンサ値の取得方法を説明します。
Read more >>

Intentを使って画面を遷移する(明示的Intent)

6月 22, 2010   //   by @mhidaka   //   アプリケーション  //  3 Comments

Intentはアプリケーション間の連携機能で異なるアプリケーションを繋ぐランタイム(機能・モジュール)です。付加情報(配列や、文字列、整数型など)を別アプリケーションに通知でき、他のActivityの呼び出し方法としてよく使われます。Activityをクラス名で指定して呼び出す方法を明示的Intent、動作(振る舞い)で呼び出し、Activityは指定しない方法を暗黙的Intentと呼びます。

暗黙的Intentは、所定の動作(たとえばメールを書く)のみ指定します。どんなActivityでも指定された動作が出来るなら、呼び出し対象となります。Android端末内には、Gmail や Word 、Notepadなどいろいろなアプリケーションがインストールできます。開発者でどのアプリを起動すればいいか、決めうちにするのは難しいですが、暗黙的Intentを使えば、利用者が好きなアプリケーションを選べます。

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

Intentを使ってStringを送信・受信するサンプルを用意しました。
Read more >>

図解Androidのライフサイクルとプラットフォーム

6月 16, 2010   //   by @mhidaka   //   アプリケーション, 開発環境  //  2 Comments

本日はプチ更新です。
Androidのライフサイクルとプラットフォーム、本家のAndroid Developersなどで
何度か見た事があると思います。Androidの特徴を説明するのに欠かせないですね。
今回、Activityのライフサイクルとプラットフォームについて新しく書き起こす機会がありましたのでアップロードします。
勉強会や、PPT、印刷などなど自由に利用してください。


ライフサイクル図の日本語化版
アプリのライフサイクルを意識するケースは多いので、プリントアウトして手元に置いておくといいかもしれません。

2010/06/25 ライフサイクルのonPauseをonResumeと誤植していました。
お詫びして訂正いたします。


プラットフォーム概要図

Buttonのイベント(onClickListener、クリック処理)を受ける

6月 15, 2010   //   by @mhidaka   //   アプリケーション, ユーザインターフェース  //  2 Comments

ボタンの背景をダイナミックに変えるでは、背景の変え方について触れました。
今回は、ボタンへ、イベントを追加する方法について紹介します。

<Button
    android:text="@string/button"
    android:id="@+id/Button01"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:layout_gravity="center" />

キーワードはsetContentView、findViewById、setOnClickListener、Activity implements OnClickListenerなどです。
レイアウトファイルにボタンを配置して、リスナーを登録する部分を続きに解説しました。
Read more >>

MediaPlayerで音楽を再生する

6月 7, 2010   //   by @mhidaka   //   アプリケーション  //  1 Comment

Androidでの音楽再生はとても簡単です。

今回は、MediaPlayerコンポーネントを使って音楽を再生する方法をリソースに合わせて2つ紹介します。

  • リソースファイルから再生する方法
  • ローカルファイルから再生する方法

MediaPlayerコンポーネントはandroid.mediaパッケージをimportすることで利用できます。音楽、動画(Audio/Video)の再生に対応しており、再生するファイルは、リソースファイル、ローカルファイル、インターネット上からのストリーミングなど保存場所を問いません。(ビデオはちょっと手間なのですが、それはまた次の機会に紹介します)

public class AudioPlayerActivity extends Activity {

	private MediaPlayer mp;
	private String path;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        //リソースファイルから再生
        mp = MediaPlayer.create(this, R.raw.music);
        mp.start();

}

解説とローカルファイルからの再生については続きで。
Read more >>

画像リソース

6月 5, 2010   //   by kseto   //   リソース  //  1 Comment

Androidでは画像データをDrawableというリソースで扱います。
Drawableで扱える画像データは以下のものがあります。

  • Bitmapファイル
  • Nine-Patchファイル
  • State List

では、それぞれのリソースについて詳しく見ていきましょう。

Read more >>

ページ:12»

技術書新刊 発売中

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

技術書新刊 発売中

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


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


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


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