2014.02.19
AndroidTips | Androidプロジェクトについてもう一度
Androidプロジェクトについてもう一度
皆さんは簡単なアプリは作成できますか?
「なんとなくならつくれるよー」という方に、たまに有りがちなのが「どこになにがあるのかしっかりと把握していない」ということです。
意外と思うかもしれませんが、講師をしているとよくそのような場面に遭遇します。
せっかくなので今一度振り返ってみようかと思います。
Androidアプリケーションプロジェクト
左の図を確認してみてください。
これは「HelloWorld」という名前で空のアプリを作成し、何も手を入れていない状態です。また、Androidアプリケーションプロジェクトを作成途中の画面でも、デフォルトのままの設定となっています。
今回すべてのフォルダファイルについては記述しません。
あくまでも良く利用する部分のみの説明とします。
- srcフォルダ
- MainActivity.java
javaソースプログラムを格納するためのフォルダです。
正確にはフォルダ直下のパッケージ内にjavaプログラムを配置します。
package com.example.helloworld; import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
ADTにより自動生成されたjavaソースプログラムを格納するフォルダです。
このフォルダ内のファイルは、基本的には中身を確認したり修正する必要はありません。
- BuildConfig.java
/** Automatically generated file. DO NOT MODIFY */ package com.example.helloworld; public final class BuildConfig { public final static boolean DEBUG = true; }
/* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package com.example.helloworld; public final class R { public static final class attr { } public static final class dimen { /** Default screen margins, per the Android Design guidelines. Customize dimensions originally defined in res/values/dimens.xml (such as screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here. */ public static final int activity_horizontal_margin=0x7f040000; public static final int activity_vertical_margin=0x7f040001; } public static final class drawable { public static final int ic_launcher=0x7f020000; } public static final class id { public static final int action_settings=0x7f080000; } public static final class layout { public static final int activity_main=0x7f030000; } public static final class menu { public static final int main=0x7f070000; } public static final class string { public static final int action_settings=0x7f050001; public static final int app_name=0x7f050000; public static final int hello_world=0x7f050002; } public static final class style { /** Base application theme, dependent on API level. This theme is replaced by AppBaseTheme from res/values-vXX/styles.xml on newer devices. Theme customizations available in newer API levels can go in res/values-vXX/styles.xml, while customizations related to backward-compatibility can go here. Base application theme for API 11+. This theme completely replaces AppBaseTheme from res/values/styles.xml on API 11+ devices. API 11 theme customizations can go here. Base application theme for API 14+. This theme completely replaces AppBaseTheme from BOTH res/values/styles.xml and res/values-v11/styles.xml on API 14+ devices. API 14 theme customizations can go here. */ public static final int AppBaseTheme=0x7f060000; /** Application theme. All customizations that are NOT specific to a particular API-level can go here. */ public static final int AppTheme=0x7f060001; } }