無題のAndroid入門中

この赤くかこったとこ


androidをいじってると出てくる

ちょっとだけ表示されたらほわーって消えるやつです


使い方によってはデバッグにも使えます


Toast.makeText(this, msg, Toast.LENGTH_LONG).show();


はい


これだけです

msgってのはStringかたの文字列です すきなことばを指定してね


LENGTH_LONGってのは表示させる時間です

Toast.ってうつとでてくるよ



androidアプリケーションからshell?が使えるようです


ちょっとlinux詳しくないんですが、


try{
Runtime.getRuntime().exec("mv /sdcard/testfolder/ /sdcard/testfolder2/");
}catch( IOException e )
{
e.printStackTrace();
}

はい


このexecってのがそのメソッドらしいです

上ではディレクトリ名を変更しています

エミュレータ上でもSDカードを再現したいときは

SDカード付きのAVDをつくります


方法はかんたんでした


無題のAndroid入門中


この赤くかこったとこにSDカードのサイズを入れる

まー試験なので64MBぐらいで


アクセスするコードは次回にしたいと思う


自分もよーわからんし

#こんなでるとリナックスっぽいね


はい

adb shellとやらを使いたいときは


まずコンピューターの環境変数にadbshellがあるパスを通す


自分はC:\Android\android-sdk-windows\toolsはここにabdってのがありました

みんなそれぞれ違うと思うからさがしてみて


次はこれを環境変数のPathって項目に追記するよ


Windows7だとコンピューターを右クリックしてプロパティ→システムの詳細設定

そしたら詳細設定タブの環境変数をクリックして


無題のAndroid入門中

赤くかこったとこ


システム環境変数項目の

Pathを編集します


一番最後尾に


;C:\Android\android-sdk-windows\tools


を追記

先頭の”;”は必須だから忘れるなー


あとはコマンドプロンプトから

adb shellと入力します

ゲームでは何でも絵では解決できない

スコアとかHPとか町の人の声とか


はい


それには以下のAPIで


String msg = "Test text";
canvas.drawText(msg, 3, 10, paint);


これでcanvasに文字を表示できます

onDraw関数内に記述して、Canvas型の引数が上のcanvasです


@Override
protected void onDraw(Canvas canvas)
{
Paint paint = new Paint();

String msg = "Test text";
canvas.drawText(msg, 3, 10, paint);

}



無題のAndroid入門中



はい やっぱり今どきタッチ


タッチはこう実装します


@Override
public boolean onTouchEvent( MotionEvent event )
{

switch( event.getAction() )
{
case MotionEvent.ACTION_UP:
Log.v("touch", String.valueOf(event.getX()));
if( b.mX >= ( event.getX() / blc_size ) )
{
if( Chk_Left() )
{
b.mX--;
}
}
else
{
if( Chk_Right() )
{
b.mX++;
}
}
break;

}
return super.onTouchEvent( event );
}


getAction()ってので何をしたか

何をしたかで分岐してます


上の場合だと、画面から手が離れたらって分岐のしかたです

詳しくはぐぐってくれー


最初このイベント発生しないなーって思ったら

setClickable(true);

って記述がいったようです


自分はゲーム画面でタッチイベントを起こしたいんで、

   View view = new DrawTestView(this);
view.setClickable(true);
setContentView(view);


viewってところでゲーム処理をしてます



無題のAndroid入門中
途中経過

今こつこつテ○リスをつくってるよ


やっぱり形になると楽しいね!



無題のAndroid入門中


いろいろバグあるけどねw

今簡単なゲームを製作しています


そこでやっぱる必要になるのが、キー操作

のちのちはタッチで操作しようと思うんですが、

まずはわかりやすいキー制御でおこないたいと思います


@Override
public boolean onKeyDown(int KeyCode, KeyEvent event)

{

  //ここに処理を

  if(KeyCode == KeyEvent.KEYCODE_DPAD_LEFT)

  {

    //ここに左ボタンを押されたときの処理を

}


どのキーが押されたかってのは

if(KeyCode == KeyEvent.KEYCODE_DPAD_LEFT)

って感じで、

実際はアルファベットとかも検出できるんでしょう


上はキーが押されたときで、

キーが押し終わったときを検出するには


@Override
public boolean onKeyUp(int KeyCode, KeyEvent event)

{

  //ここに処理を

}



物理キーボード付きのやつしかできなんで、ちゃんとしたアプリはタッチイベントで動かしたいですね



はい LogCatを表示させるウィンドウを表示させる方法です


ちなみに自分Eclips環境では

メニューの「ウィンドウ」→「ビューの表示」→「その他」を選んだら、

ビューの表示ってウィンドウが表示されます


そしたら「Android」→「LogCat」でOK


無題のAndroid入門中


ちなみに表示されたLogCatウィンドウにメッセージを表示させたいときは

Log.v(tag, msg);

tagとmsgはどっちも文字列なんで

Log.v("tag", "messgae");なんて使う


デバッグがはかどりますね