たぶん週刊「今週の進捗」

1週間に勉強したことや実装したことをネタに、週に1回(主に土日に)更新していく予定です。「多分」なので、臨時休刊があってもご海容ください。

プロつく計画2 1週目

第一声

はてなブログでも、はてな記法で書けるのかよ!

プロつく計画第2弾、始動

いい加減次のプロつく計画を始動させよう、ということで「プロつく計画第2弾」始まるザマスよ

第2弾では、Android アプリを開発しようと思います。

これまでにも何度か Android アプリの開発はやろうとしてみたんですが、その度に途中で忙しくなったり、プロジェクト作成時に自動的に作成される数多のソースコード類を完全に理解する気ができなくなったり、実機のOSが古くなったりでいつも頓挫してしまってたんですよね。

HelloWorld から学ぶ Android プログラミング

というわけで、まずはHelloWorldのソースコードを元に、各処理が何を意味しているのか勉強してみようと思います。

// HelloWorld.java
package net.zeitungm.helloworld;    // パッケージ宣言

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;

/**
 * Created by ZeitungM on 2015/12/31.
 */
public class HelloWorld extends Activity
{
    @Override   // アノテーション
    public void onCreate(Bundle bundle) // onCreate():アクティビティ起動時に呼ばれるメソッド
    {
        // 親クラスのonCreate()の呼び出し(bundle:呼び出し時に渡されるデータ)
        super.onCreate(bundle);

        // requestWindowFeature(int featureID):ウィンドウの特徴IDの指定(Activityクラス)
        requestWindowFeature(Window.FEATURE_NO_TITLE);  //Window.FEATURE_NO_TITLE: タイトルを非表示

        // setContentView(View view):実画面に表示するビューを指定(Activityクラス)
        setContentView(new HelloView(this));   // ビューの設定(ActivityクラスはContextクラスも継承しているので引数としてthisを渡す)
    }
}
メモ
  • @Override は、「オーバライド(スーパクラスのメソッドをサブクラスで定義し直す)」ことの注釈
    • この例では、スーパクラス:Activity サブクラス:HelloWorld メソッド:onCreate()
    • 書かなくても動作に支障はないが、書いておくとオーバライドされなかった(typoなど)時に、エラーで問題の早期発見がしやすくなるので、オーバライドの際は書いたほうがいい
  • onCreate():アプリ起動時の処理を行うメソッド。アプリ起動時に最初に呼び出される

ぐぐっては見たが、bundle の正体がよくわからん!