2010年5月19日水曜日

Android:HelloWorldを作ってみる

Android1.6+
HelloWorldを作ってみる
Windows XP+
Eclipse Galileo
---
この前の記事
Android 開発環境の構築 Android SDKのインストールからXperiaの開発環境構築まで
のつづきです。

さてAndroidの開発環境が整ったところで、まず最初はやはりHelloWorldでしょう。

実際のプログラムを見る前に、Androidのアプリケーションの構成を説明します。

主に個々のアプリケーションを表現する『Activity』クラスと
アプリケーション中のウィンドウを表現する『View』クラスとで
構成されています。
ここでは、このActivityとViewを使ってHelloWorldを作成し、
描画領域を表現する『Canvas』クラスを使いグラフィカルな表示を
試してみます。

Eclipseを起動します。
メニューから
[File]-[New]-[Project]



New Project で
[Android]-[Andoid Project] を選択し[Next]



New Android Projectで
Project name: HelloWorld
◎Create new project in workspace
Build Target [v]Android 1.6 のように選び
Application name: HelloWorld
Package name: com.android.example.helloworld
[v]CreateActivity: HelloWorldActivity

とし

[Finish]をクリックします。

Package nameは本来自分のドメイン名を使用して選定します。
たとえば、所属する会社のドメインがhogehoge.co.jpなら
jp.co.hogehoge.helloworld
とします。
しかしながら、パッケージ名がアプリケーションリリース後に重複しないように
するのが目的なので、それほど厳格には決められていないようです。
しかも、ドメイン名に『 - : ハイフン』が入っている名前は、
Javaパッケージ名では許されないので、ちゃんと選定しようとすると
ずいぶんと頭を悩ませます。





ワークベンチに移動します。
画面右側の矢印をクリックします。
ちなみにこのWelcom画面に戻るには、メニューから[Help]-[Welcome]とします。


ワークベンチの画面が表示されます


ソースコードは次のところに生成されています。
左のパンから

[HelloWorld]-[src]-[com.android.example.helloworld]-[HelloWorldActivity.java]

と開いていきます。

HelloWorldActivity.java

をダブルクリックし開きます。


ちなみに
左のパンに表示されているフォルダは次のような意味があります。

・src
ソースコード
アプリケーションのソースプログラムがここで管理されています。

・res
リソース
アイコンや画像、プログラム中で使用するメッセージ等の文字列。
音楽データや動画データ、ゲームのデータ
と言ったアプリケーションが実行中に使用する実行中に変わらない
データを保存しておきます。

・AndroidManifest.xml
アプリケーションについての情報を記載します。
アプリケーションをリリースするときの情報や
アプリケーションが実行するときに使用する端末の資源、
インターネット接続やファイルシステムへのアクセスや
画面表示の自動回転と言った動作を設定します。

・gen
自動生成されるファイルです。
実際には、作成・編集したリーソース中のラベルを自動生成し、
アプリケーションから利用しやすくしています。
プログラム中で R.layout のように記載されているステートメントは
このリソースを参照しています。


■自動生成されたプログラムをとりあえず実行してみる

メニューから
[Run]-[Run Configurations...]


左側のパンから
[Android Application] をダブルクリック
Project欄の右横の[Browse]をクリックし
ターゲットとなるプロジェクトを選択します。
ここでは
[HelloWorld]
を選択します。




上部のタブから
[Target] を選択し
バーチャルデバイスを選択します。
ここでは

[v]Android1.6_API_Level4

にチェックを入れています

下部のボタン
[Apply]
 をクリックし
[Run]
で実行します。


まつことしばし。。。
2~10分ぐらいでしょうか。
最初の実行時にはバーチャルデバイス用メモリ領域を作成し
そこにAndroid一式をコピーし
エミュレーターを起動し
Androidを実行し
ビルドしたアプリケーションをエミュレーター上の端末にコピーし
アプリケーションの実行を指示します。
重い。。。






とりあえず、

HelloWorld,HelloWorldActivity!

と表示されていますが、これは、プロジェクトの自動生成したときに
自動的にリソース上に作成されたものなので、実際には何もプログラミングしていません。
これではつまらない。。。

ただ、これだけのソースコードでアプリケーションが実行出来るのは、
Windows VisualC++プログラマーからすると驚きですよね。

では、HelloWorld を表示してみましょう。
もともとのプログラムは、次のように生成されているはずです。

[HelloworldActivity.java]

package com.android.example.helloworld;

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

public class HelloWorldActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}



これを修正していきます。

[HelloworldActivity.java]

package com.android.example.helloworld;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.graphics.*;

public class HelloWorldActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
HelloWorldView view = new HelloWorldView(getApplication());

setContentView(view);
}
}

class HelloWorldView extends View{
public HelloWorldView(Context context){
super(context);
setFocusable(true);
}

@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);

Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setARGB(255,128,128,255);
paint.setTextSize(24);

canvas.drawText("Hello World!!!",100,100,paint);

}

}


再び

[Run]-[Run Configuration]

から実行してみます。



のように停止した場合は、
エミュレーター上の Menu ボタンをクリックします。




つづいて、実際にAndroid携帯にこのプログラムを送って実行してみましょう。

Android 開発環境の構築 Android SDKのインストールからXperiaの開発環境構築まで
の下~~~~の方です。。。

まとまってなくてすみません(^-^;;;
いま編集しなおしますので。。。

0 件のコメント:

コメントを投稿