Android携帯ゲームを作って世界に配信してみよう(1) ―― まずは小さなアプリからこつこつ作ってみる

山田 元康

tag: 組み込み

エレキ系DIY 2011年8月10日

●ソース・コードを作成する

 「DigitalClockActivety.java」というファイル名のソース・コードが,プロジェクトを新規に作成した際にデフォルトで作られているはずです.

 パッケージ・エクスプローラーの一覧から「src」フォルダをクリックして開き,「DigitalClockActivety.java」を選択してダブルクリックし,ファイルを開いてください.リスト1に示したサンプル・ソース・コードをこちらのファイルに入力して,ファイルを保存してください.保存を完了すると自動でコンパイルされます.

リスト1 サンプル・コード

package com.spicysoft.sample;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.os.Handler;
import android.view.MotionEvent;
import android.view.View;
import android.view.Window;

public class DigitalClockActivity extends Activity {
private Handler handler = new Handler();
private View view;

@Override public void onCreate(Bundle icicle) {
super.onCreate(icicle);
requestWindowFeature(Window.FEATURE_NO_TITLE);
view = new DigitalClockView(this);
setContentView(view);

Timer timer = new Timer(false);
timer.schedule(new TimerTask() {
public void run() {
handler.post(new Runnable() { public void run() { view.invalidate(); }});
}
},0, 1000);
}
}

class DigitalClockView extends View {
private static final int CLOCK = 0;
private static final int CALENDAR = 1;
private int mode = CLOCK;
final DateFormat FORMAT_CLOCK  = new SimpleDateFormat("HH:mm:ss");
final DateFormat FORMAT_CALENDAR = new SimpleDateFormat("yyyy/M/d(aaa)");
final Paint paint = new Paint();

public DigitalClockView(Context context) {
super(context);
setFocusable(true);
paint.setTextSize(24);
paint.setTextAlign(Paint.Align.CENTER);
setBackgroundColor(Color.WHITE);
}

@Override protected void onDraw(Canvas canvas) {
final DateFormat format = mode == CLOCK ? FORMAT_CLOCK : FORMAT_CALENDAR;
final String text = format.format(new Date());
canvas.drawText(text,canvas.getWidth()/2,canvas.getHeight()/2,paint);
}

@Override public boolean onTouchEvent (MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
mode = mode == CLOCK ? CALENDAR : CLOCK;
invalidate();
return true;
} else {
return false;
}
}

}

 実はこれで,ソース・コードの作成とAndroidアプリのビルドは完了です.Java,EclipseとADTのマジックで,こんなに簡単にアプリが開発できます.びっくりですよね!

 念のためにAndroidアプリがちゃんとビルドされたか確認してみましょう.メニューバーの「Window」を選択し,メニュー項目「Show View」から「Navigator」ビューを選択して一覧表示を切り替えてください.「Navigator」ビューのディレクトリ一覧から「bin」ディレクトリを開くと,「DigitalClock.apk」というファイルがありませんか? これがAndroidアプリになります.それでは,さっそくこのAndroidアプリを自分のAndroid携帯電話で動かしてみましょう.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日