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