ラベル Android の投稿を表示しています。 すべての投稿を表示
ラベル Android の投稿を表示しています。 すべての投稿を表示

2010年11月22日月曜日

インターン成果物、解説のコーナー①

インターンで色々やったことちょっとずつ紹介するのコーナー!!

超超時間かかると思いますが、暇な人は覗いてってくださいw

さて、私の作ったものは、こんなものです。



1.写真を撮る。
2.輪郭を取る。その輪郭が迷路のステージになる。
3.ボールとゴールを置く。
4.ユーザはカメラを傾けながらボールを操作する。

が、主な要素。今日は1番のところをメモとして残します。
丁寧な解説はしません。主要な部分だけさくっと書くだけです。
キャプチャの流れとしては次のとおりです。

1.画面をタッチしたら写真を取る
2.写真を撮ったら、バイト列をbitmap型に変換する
てな感じです。

ではさっそく(汚い)コードを見てみましょう。ちなみに、Android SDK のバージョンは2.2です。
全体像は見せたくありません。ベタ書きもいいところで、とてもとても見せられたものではありません。

ちなみに、こんなクラスの中で定義してます。

class Preview extends SurfaceView implements SurfaceHolder.Callback, PictureCallback


さて、まずは1番。画面タッチイのベントハンドラメソッドをオーバーライドします。

@Override
public boolean onTouchEvent(MotionEvent e) {
if (e.getAction() == MotionEvent.ACTION_DOWN) {
mCamera.takePicture(null, null, this);
//mCamera.startPreview();
}
return true;
}

startPreviewしようとしたらなぜかエラーが止まらない。ということでコメントアウトして使ってます。特に問題はないので。

はい、次は2番。キャプチャのイベントハンドラメソッドをオーバーライドします。

public void onPictureTaken(byte[] data, Camera camera) {

try {
String dataName = "photo.jpg";
saveDataToSdCard(data, dataName);

} catch (Exception e) {
cameraRelease();
}

BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 4;
bmpData = BitmapFactory.decodeByteArray(data, 0, data.length, options);
}


SDカードに入れてるのは、特に意味は無いですw
処理時間を短くしたかったので、変換の際に画素数を落としています。縦横共に1/4になります。

以上~w

次は画像処理まわりですねw いつになることやらw

2010年10月15日金曜日

インターン中

今六本木ヒルズのIT企業でインターン中です。
研修内容はAndroidアプリ開発。期間は全部で9日間。
目標としては、画像処理つかったゲーム作れたらいいなと思ってます。完全に趣味に走っていますね。
しかもホテルに泊まってるんで普段よりいい生活してます。快適×2。

そういえば、以前iPhoneアプリ開発をしたいと言ってたのですが、やっぱMacかうかねねーよ、アップルのばかーーー!!!ToT ってことで、Windowsでも開発できるAndroidにしたわけです。

この企業を選んだ理由は、テーマ、時期、期間(上限あり)が自由だったこと。
ゲーム開発もしてて何かおもしろそうと思った、とまぁこんな感じです。
今回のテーマも「すみません、Mac買えなそうなんでテーマ変えてもいいですか?」でOKが出るような対応でした。

さて、そのAndroidアプリ開発ですが、Javaを使って開発をしています。
ええ、そうです。オブジェクト指向プログラミングです。

かっちりやろうと思うともうワケ分からなくなります。オブジェクト指向プログラミングやるには明らかにおつむが足りてません。Cならさくっと書けるだろうに、といっても始まらないんで、何とかします。