【Android Studio】アプリ開発の基本とそれぞれのファイルの役割を覚える。

公開 : → 更新 :

iPhone持ってないみなさん、一緒にAndroidアプリ開発しましょう。@It_is_Rです。

Androidアプリ開発、5回目となりました。
今回は Android Studio でアプリを開発する時の、それぞれのファイルの役割を簡単に覚えていきましょう。
ファイルの役割はアプリ開発をする上で必ず必要な知識ですので、分からなくなったらこのページを見直す様にしてみてください。

それぞれのファイルの使い方

まず、Android Studioを開き、新規プロジェクトを作成すると次の様になります。
android studio

画面左側には、フォルダの階層が表示されています。
もしも表示されていない場合は「Project」タブをクリックしましょう。
android studio

一応、階層の表示方法を変えておきます。
人によるのかもしれませんが、変更した方が見やすいかも知れません。

ツールウィンドウ上部の「Android」と書かれた部分を「Project」に変更します。
階層の表示方法が変更されます。
android studio

今回は以下のファイルやフォルダについて解説します。

  • app/src/main/java/パッケージ名/MainActivity
  • app/src/res/drawable
  • app/src/res/layout/activity_main.xml
  • app/src/res/mipmap-xxxx
  • app/src/res/values/colors.xml
  • app/src/res/values/strings.xml
  • app/src/res/values/styles.xml
  • app/src/res/AndroidManifest.xml

MainActivity

「MainActivity」は「MainActivity.java」というファイルに書かれたクラスです。
ここでActivityを作成しています。Activityクラスがありそのサブクラスを作る事で、Activityが作成されます。

Activityとは、ユーザーの操作を可能にする画面を提供するコンポーネント(部品)の事です。
つまりこのファイルは、アプリをどう動かすのか、例えばボタンが押されたらこれを実行するなど、アプリの動きを書いていくファイルということになります。

では実際にソースを見て見ましょう。

MainActivity.java

package com.example.r.mytestproject;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

「MainActivity」というActivityがあり「AppCompatActivity」というクラスを継承しています。
先ほど、Activityクラスのサブクラスを作ることでActivityが作成されると言いましたが、Activityクラスではなく「AppCompatActivity」クラスを継承しています。

では、どうして「AppCompatActivity」クラスなのでしょうか?
それを解決するために、スーパークラスを辿っていきましょう。

AppCompatActivity → FragmentActivity
FragmentActivity → BaseFragmentActivityJB
BaseFragmentActivityJB → BaseFragmentActivityHoneycomb
BaseFragmentActivityHoneycomb → BaseFragmentActivityGingerbread
BaseFragmentActivityGingerbread → SupportActivity
SupportActivity → Activity

やっとたどり着きましたね。継承元を順番に見ていくとActivityクラスに辿り着くのです。

では、話を戻しましょう。
MainActivityクラスの中に「onCreate」というメソッドがあります。
これはActivityが作成された時に呼び出されるメソッドです。

アプリを作成する時には、必ず実装しなくてはいけないものです。
詳しくは実際にアプリを作っていく時に解説したいと思います。

drawable

drawableフォルダには、アプリ内で使用する画像ファイルを格納します。
詳しくは実際にアプリを作っていく時に解説していきます。

activity_main.xml

activity_main.xmlはレイアウトファイルです。
今の状態でアプリを実行した場合、「Hello World!」というテキストが画面上に表示されています。
この「Hello World!」の位置や、テキストの文字、サイズなどが指定されています。

「MainActivity.java」の11行目にsetContentView(R.layout.activity_main);という記述がありました。
これこそが、MainActivityクラスとactivity_mainを紐付ける命令です。

mipmap-xxxx

mipmap-xxxxというフォルダが5つあります。
その中には「ic_launcher.png」や「ic_launcher_round.png」という画像ファイルが入っています。
ここには端末のサイズによって画像サイズを変更したい時のアイコンです。

drawableとの使い分けとして、mipmap-xxxxではアニメーション中に画像を拡大縮小する時に使用するといいとのこと。
また、mipmap-xxxxでは古い端末に対応していない様です。
というわけで、はじめのうちはdrawableを使えばいいかと思われます。

colors.xml

色を指定しておくファイルです。
例えば、赤にも様々な赤がありますよね。しかし同じアプリ内では同じ赤を使いたいと思います。
そこで、好きな赤をここに指定しておけば、定数を入力するだけで、毎回同じ赤を使うことができる様になります。

strings.xml

文字をあらかじめ指定しておくファイルです。
上のカラーと同様に、指定しておけば毎回同じ文字列を使用することができます。

styles.xml

styles.xmlは、テーマをカスタマイズしたい場合などに使います。
例えば、初期状態で実行すると、次の様になっています。
android studio

styles.xmlを少し触るだけで、この様に変更できます。
android studio

AndroidManifest.xml

AndroidManifest.xmlは少し理解に苦しむ部分かも知れません。
とりあえず、ファイルを開いてみましょう。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.r.mytestproject">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

manifestとapplicationは必須で、一度しか使用できません。
2行目の「xmlns:android=”http://schemas.android.com/apk/res/android”」は、これはネームスペース(名前空間)を定義するものです。

applicationの中で、様々な設定が行われています。
例えば、アプリの名前を変更したり、アイコンを変更したりといったことが可能です。
その他、バックアップエージェントのバックアップを有効にするか否か、なども設定することができます。

この企画の一覧はこちら

スポンサードリンク

おすすめの記事♪

java

Javaのクラスとメソッドの違いとは?ゲーム風に解説。

この頃小説を読んでいなく、何か読みたいなと思[email protected]_is_Rです。 Javaを勉強し始めたばかりの人は、何やら難しい単語に混乱する人も多いでしょう。その中で、クラスとメソッドって一体何が

Blender

Blenderで3D美少女キャラの作り方。その3(鼻の穴と唇を作る)

Blenderの記事、しばらく書いていませんでしたが再[email protected]_is_Rです。 前回、キャラの目を作り込んでいきました。今回は鼻の穴と唇を作っていこうと思います。 実は、今回からMac

WordPress|特定カテゴリーに属する記事を一覧表示させる方法!!

今まで、何度かに分けて書いた記事でも、その一[email protected]_is_Rです。 昨日、記事の一覧表示をするショートコードを作って、記事の一覧が欲しい記事にだけ貼り付けてみ

Illustratorでオブジェクトを均等に並べる超簡単な2つの方法。

ロゴなどを制作する上でほぼ必要不可欠となっているIllustratorですが、この機能を完全に使い果た[email protected]_is_Rです。 今回は、オブジェクトを均等に並べる方法を

enchant.js

enchant.js でクラスを作る、激分かりやすい方法!

[email protected]t_is_Rです。 前回までの enchant.js の記事で、画像の表示やキャラの移動など、ゲーム制作には欠かせない基礎知識が身についたのではない

上海

上海ガール、イラスト描きました!

[email protected]_is_Rです。 芸術の世界はとても厳しいと痛感しております。 さて、芸術の世界では自分をアピールすることが必要となってきます。その為には、自分の作品をたくさ

SCSS vs SASS どっちが便利か違いを比較。おまいら SASS 使えよ!

CSS を書くときに、 Sass はもう手放せません。 @It_is_R です。 さて、今回のテーマとなる Sass の表記には、2種類ありますよね。 SCSS と、 SASS です。

enchant.js

HTML5 と javascript ( enchant.js )を使ったアクションゲーム開発。

以前、Flashを使って、横スクロールアクションゲームを作ろうとしていたのですが、実はAndroid4.xではFlashPlayerがサポートされておらず、最近のAndroidではFlashPlaye

enchant.js

ゲームに背景画像を表示する方法!( enchant.js )

[email protected]_is_Rです。 ゴールデンウィークいかがお過ごしでしょうか。 今回は、 enchant.js を使った横スクロールアクションゲームの背景を表示してみようと思います。 空と

blender

Blenderで3D美少女キャラの作り方。その5(後頭部を作る。)

最近は雨が多いので、シャワーが必要ありませんよね。え?[email protected]_is_Rです。 さて、今回はBlenderで美少女キャラの後頭部を作っていこうと思います。 後頭部はパーツがなく、簡


コメントをどうぞ!

メールアドレスが公開されることはありません。




Games