atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
Androidアプリ開発ノート
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
Androidアプリ開発ノート
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
Androidアプリ開発ノート
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • Androidアプリ開発ノート
  • Androidプロジェクト

Androidアプリ開発ノート

Androidプロジェクト

最終更新:2012年09月26日 20:56

conn

- view
メンバー限定 登録/ログイン

Androidプロジェクト

Androidプロジェクトの中身を簡単にまとめます。
ネタ元はAndroid SDKのドキュメントと、EclipseのAndroid SDK Pluginで自動生成された雛形の動作検証です。

プロジェクトのディレクトリ構成

Androidアプリを作るなら、ごく当たり前の知識として知っておく必要があります。

プロジェクトルート
  • src ソースコード用ディレクトリ
  • gen ADTが自動生成したファイル用ディレクトリ。R.javaやAIDLファイルから生成されたファイルが該当。
  • assets 生のデータファイルを保存する。ビルド時にapkファイルへ組み入れられ、ファイルシステムと変わりない方法でアクセスできる。
  • bin ビルドされたファイル用ディレクトリ
    • res ビルドされたリソースファイル用ディレクトリ
  • libs ライブラリファイル用ディレクトリ
  • res リソースファイル用ディレクトリ
    • drawable-**** 画像ファイルや、レイヤー定義などを記載した描画用定義XMLファイルを保存する。画面解像度ごとにディレクトリが分かれているモヨウ。
    • layout レイアウト定義XMLファイル用ディレクトリ
    • menu  メニュー定義XMLファイル用ディレクトリ
    • values 文字列や設定情報等用のディレクトリ。resディレクトリ内の他のXMLファイルはファイル名ベースでアクセスするのに対し、XML要素を解析し、それぞれの要素名をR.javaファイルに展開しアクセスする点に違いがある。
    • raw 生のデータファイルを保存する。assetsディレクトリとの違いはアクセス方法で、こちらはR.javaファイルを通じてリソースファイルとしてアクセスする。
  • AndroidManufest.xml アプリの基本情報を定義する。アプリバージョン、製作者、対応・必要APIバージョン、必要な外部ライブラリなどなど、様々な情報を定義する。奥が深い。

リソースファイル用ディレクトリと、マニフェストファイルは、特に勉強が必要。
詳細が知りたければSDK Managerでドキュメントをインストールし読んでみると良い、全部英語だけども。

雛形プロジェクトの動作

ADTでプロジェクトを作成すると、HelloWorldが表示される簡単なアプリが出来上がった状態になっている。
その動作の細かな点をつついて、それぞれのディレクトリに格納されたファイルが
どのように連携するかを調べてみた。

  • AndroidManifest.xmlを解析しアプリを起動、アクティビティの定義を読み込む。
XMLファイル中では「@」を用いることでリソースにアクセスすることができ、アプリケーション名やスタイル定義の指定に使用されている。
   <application
       android:icon="@drawable/ic_launcher"  <<<res/drawable-****/ic_launcher.pngファイルを参照
       android:label="@string/app_name"  <<<res/valus/strings.xml内の文字列を参照
       android:theme="@style/AppTheme" >  <<<res/valus/style.xml内の定義を参照
       <activity
           android:name=".MainActivity"   <<<ここで起動するアクティビティを指定
           android:label="@string/title_activity_main" >  <<<res/valus/strings.xml内の文字列を参照
           <intent-filter>
               <action android:name="android.intent.action.MAIN" />
               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
       </activity>
   </application>

  • binディレクトリ内のデフォルトアクティビティを起動する。
public class MainActivity extends Activity {
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);  <<<レイアウト定義ファイルを指定
   }
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
       getMenuInflater().inflate(R.menu.activity_main, menu);  <<<メニュー定義ファイルを指定
       return true;
   }
}

  • レイアウト定義ファイル res/layout/activity_main.xml
  • メニュー定義ファイル res/menu/activity_main.xml
Activityの動作に従い読み込まれる。
それぞれの定義ファイルにはリソースへのアクセスが指定されている。
   <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_centerHorizontal="true"
       android:layout_centerVertical="true"
       android:text="@string/hello_world"
       tools:context=".MainActivity" />

<menu xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:id="@+id/menu_settings"
       android:title="@string/menu_settings"
       android:orderInCategory="100"
       android:showAsAction="never" />
</menu>

以上が簡単な動作解説です。
マニフェストファイルが起点となり、アクティビティが実際の動作を担っており、
動作時に様々な箇所でリソース内の定義ファイルが読み込まれているのが分かる。

Webアプリケーションなどに比べると非常に単純な構成となっているが、アプリが大きくなるとファイルが増え、管理が難しくなりがち。だがディレクトリ構成の原則に従いアプリを作成することで、誰にでも分かりやすい、無論のこと自分自身にも分かりやすい管理しやすい構成にできる。
「Androidプロジェクト」をウィキ内検索
LINE
シェア
Tweet
Androidアプリ開発ノート
記事メニュー

メニュー


各種手順
  • トップページ
  • 開発環境構築
    • PATH設定
    • ソースコード管理
  • 仮想端末でHello,world
  • 実機で動作確認
基礎知識
  • Androidアプリの基本構成
    • Androidプロジェクト
    • アクティビティのライフサイクル
  • ログ出力
  • 異なる環境への最適化

逆引き
  • リストから値を選択する
    • Spinnerの使用
    • ListViewの応用
  • タイマーを使う
  • 着信音を鳴らす
  • ステータスバーに通知を出す







更新履歴

取得中です。

ここを編集
記事メニュー2

wiki内検索

検索 :



管理人のオススメ


Javaの基本から学ぶならコレ。定番の一冊

独習Java 第4版



名著。オブジェクト指向を深く学ぶなら。

オブジェクト指向でなぜつくるのか 第2版 知っておきたいOOP、設計、関数型言語の基礎知識



作りながら体で覚えることが大事

作ればわかる!Androidプログラミング―10の実践サンプルで学ぶAndroidアプリ開発入門 (Smart Mobile Developer)



その他のアイテムを探す








ここを編集
最近更新されたページ
  • 4661日前

    トップページ
  • 4667日前

    ServiceのBind
  • 4669日前

    wiki初期画面のバックアップ
  • 4670日前

    ソースコード管理
  • 4670日前

    メニュー
  • 4670日前

    着信音を鳴らす
  • 4673日前

    ステータスバーに通知を出す
  • 4675日前

    タイマーを使う
  • 4676日前

    ListViewの応用
  • 4678日前

    TextViewの応用
もっと見る
最近更新されたページ
  • 4661日前

    トップページ
  • 4667日前

    ServiceのBind
  • 4669日前

    wiki初期画面のバックアップ
  • 4670日前

    ソースコード管理
  • 4670日前

    メニュー
  • 4670日前

    着信音を鳴らす
  • 4673日前

    ステータスバーに通知を出す
  • 4675日前

    タイマーを使う
  • 4676日前

    ListViewの応用
  • 4678日前

    TextViewの応用
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  2. MadTown GTA (Beta) まとめウィキ
  3. R.E.P.O. 日本語解説Wiki
  4. シュガードール情報まとめウィキ
  5. ソードランページ @ 非公式wiki
  6. AviUtl2のWiki
  7. Dark War Survival攻略
  8. シミュグラ2Wiki(Simulation Of Grand2)GTARP
  9. ありふれた職業で世界最強 リベリオンソウル @ ウィキ
  10. 星飼いの詩@ ウィキ
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 初音ミク Wiki
  5. 発車メロディーwiki
  6. 検索してはいけない言葉 @ ウィキ
  7. モンスター烈伝オレカバトル2@wiki
  8. 機動戦士ガンダム EXTREME VS.2 OVERBOOST wiki
  9. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  10. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 参加者一覧 - ストグラ まとめ @ウィキ
  2. アフロディテ - オレカバトル アプリ版 @ ウィキ
  3. 機体一覧 - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  4. Trickster - ストグラ まとめ @ウィキ
  5. ギャング - ストグラ まとめ @ウィキ
  6. 暦家 - ストグラ まとめ @ウィキ
  7. shade - 初音ミク Wiki
  8. グランツーリスモ7/収録車種 - グランツーリスモWiki
  9. ロスサントス救急救命隊 - ストグラ まとめ @ウィキ
  10. MOZU - ストグラ まとめ @ウィキ
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.