対象読者
- Javaの継承/インターフェースを理解している方
- Androidアプリ開発経験がある方
検証環境
この記事では、以下の環境でサンプルの動作を確認しています。
- Android Studio 1.5
- AVD(Nexus 5 API23)
Androidアプリ開発でよく見かける構文
Androidアプリ開発で使われる言語はJavaです。Javaは、ご存知のように業務Webシステムで主に使われている言語です。業務Webシステムでは、JSP/サーブレットを使って開発を行われることが多いですが、Android開発では、これらJSP/サーブレット開発を行っている限りではほとんど使われない構文を使います。
具体的には、以下の例を見てみましょう。
public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // ボタンを取得 Button button = (Button) findViewById(R.id.btClick); // クリック時にメッセージを表示 button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { EditText input = (EditText) findViewById(R.id.etName); TextView output = (TextView) findViewById(R.id.tvOutput); String inputStr = input.getText().toString(); output.setText(inputStr + "さん、こんにちは!"); } }); } }
これは、画面に配置した入力ボックスに名前を入力し、ボタンをタップしたら「■○さん、こんにちは!」と表示されるアプリです。
このソースコードで注目すべき記述は、以下の部分です。
赤色で示したような記述はJSP/サーブレットではほとんど出てこない一方で、Android開発では頻出する定石のコードです。実は、この記述がどういう構文で書かれているのかを理解せずとも、onClick()メソッドの中身を書き換えれば、ボタン処理の内容を修正することも可能です。しかし、それでは少し複雑なものを作る場合や、不具合が起きたときに対応できません。
そこで本稿では、上のような構文を押さえることで、一段上位のAndroidプログラマへの脱皮を目指します。