SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

速習! Androidアプリケーション開発

最低限これだけ知っていればOK! Androidアプリ開発の基礎知識
~速習! Androidアプリケーション開発(2)~

第2回 開発準備

  • X ポスト
  • このエントリーをはてなブックマークに追加

 この連載では、Androidの開発の楽しさを感じてもらう事を目標に、難しい内容はひとまず置いておいて、アプリケーション開発ができるようになるまでを最短ルートで説明していきます。第2回目は、必要な基礎知識を身につけながら開発の準備を整えていきましょう。

  • X ポスト
  • このエントリーをはてなブックマークに追加

Androidアプリケーション開発の基礎知識を身につけよう

 前回で開発環境が準備できたので、今回は必要な基礎知識を身につけて開発の準備を整えていきましょう。

対象読者

 本連載はJavaおよびEclipseの基本を理解している方を対象としています。

前回の記事

Android独自の実行環境

 AndroidのアプリケーションはJavaのVM上で動作しますが、日ごろ使用しているJava VMとは異なり、DalvikVMという低メモリ環境に最適化された独自のVM上で実行されます。

 DalvikVMでは、Java標準のクラスライブラリのすべてがサポートされているわけではなりません。その結果、世の中に存在するJavaライブラリの多くはそのまま持ってきても使う事はできません。もし運よく、使いたいライブラリが非対応のAPIを利用していなければ使用できるので、Androidプロジェクトのビルドパスに対象のライブラリを追加して、エラーが出るかどうかで判断してください。

 ビルドからアプリケーション実行までの流れも、かなり特徴的です。

  1. Javaソースコードをコンパイルして.classファイルを生成
  2. Javaクラスファイル(.class、.jar)をリコンパイルして、実行形式のファイル(.dex)を生成
  3. パッケージングしてアプリケーションファイル(.apk)を生成

 このように、生成されたapkファイルを使ってアプリケーションがインストールされ、展開された.dexファイルでアプリケーションが実行されるという流れになります。

Androidのアプリケーションフレームワーク

 続いて、Androidのアプリケーションフレームワークについて簡単に説明します。他にも色々と知っておいた方がよい概念はあるのですが、ここでは必須の概念である「アクティビティ」と「インテント」のみ説明します。

アクティビティ

 まず、最も基本となるのは「アクティビティ」と呼ばれる要素です。通常は「1アクティビティ=1画面」で作成し、レイアウトやユーザーのイベント、アクティビティの状況に応じた処理を記述します。

 アクティビティは開始~終了まで、次のようなライフサイクルで動作します。

アクティビティのライフサイクル
アクティビティのライフサイクル

インテント

 インテントは、アクティビティ間やアプリケーション間でやり取りするメッセージの役割を果たすものです。インテントを送る事で、アプリケーション内の画面遷移や他アプリケーションの呼び出しを行います。

 インテントには「明示的インテント」と「暗黙的インテント」の2種類が存在します。明示的インテントでは、相手を指定してインテントを送ります。一方、暗黙的インテントは相手を指定せずに送るインテントで、どのアクティビティが処理を行うかはインテントフィルタに応じて決定されます。

インテントの概念図
インテントの概念図

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
サンプルアプリケーション作成の下準備

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
速習! Androidアプリケーション開発連載記事一覧

もっと読む

この記事の著者

横井 朗(ヨコイ アキラ)

株式会社ビーブレイクシステムズにて業務システムのパッケージソフト(MA-EYES)の製品開発から導入までを手掛けるとともに、オープンソースソフトウェア(ExCella)の開発リーダも務める。オープンソース関連について多くの執筆経験を持つ。  

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4657 2009/12/02 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング