投稿

12月, 2011の投稿を表示しています

Java の 自作クラス を 配列 化する時の注意点

例えば、Dataという自作クラスがあったとします そのクラスの配列を使いたい場合 private int NUM=5; private Data[] datas = new Data[NUM];     for(int i=0;i<NUM;i++)         datas[i]=new Data(); と、このようにするとよいです 配列の要素一つ一つにインスタンス化しないとダメみたいですね ビルドでエラーが出ないので気が付きにくいエラーです

Activity の動作について

アプリを作っていてSurfaceViewの上から別の画面(スコアなど)を表示したくなった その際に何で画面を切り替えるか、どうやって処理を中断させるか、悩んだので書いて置きます まあ、タイトルの通り、別画面への以降は別Activity呼び出しを使いました SurfaceView上のから以下のコードを実行するといい Intent i = new Intent(getContext(),ClearActivity.class); i.putExtra("DataKeyWord",Data); getContext().startActivity(i); ViewのgetContextを使っての呼び出し   ここで、別画面での処理の後、もう一度呼び出し元のSurfaceViewに戻りたいと考えました しかし、getContextだと startActivityForResultメソッドは使えないようです どうにかならんかなあ、とLogCatでトレースし、SurfaceViewとActivityの動きを観察してみた SurfaceViewのオーバーライドメソッドは以下の3つ Viewが生成されるとき呼び出し surfaceCreated(SurfaceHolder holder) Viewが変更されたとき呼び出し surfaceChanged(SurfaceHolder holder,int format,int w,int h) Viewが破棄されるとき呼び出し surfaceDestroyed(SurfaceHolder holder) Activityのオーバーライドメソッドは多いから省略! 図はめんどいので字で メインのActivityを A 呼び出される側のActivityを B SurfaceViewは S とする A:onCreate   A: onStart A:onResume  //ここでSurfaceViewを生成 S: SurfaceCreated S:SurfaceChanged   //ここで一定条件を満たした時,Intentを投げる A:onPause   B:onCreate S: SurfaceDestroyed

Android セミナー 2012 in Aizu 第2回 で作ったもの

イメージ
一応置いておきます Avoidroid http://dl.dropbox.com/u/25808411/AndRocket.apk 傾きセンサを使って操作します 10秒間UFOから逃げてください 。 加えて、バグがあって直してないので、 自己責任でお願いします Xperia x10とかだと重いです・・・ Surface Viewでぬるぬる動かすのってどうやるんだろう? 追記:12/30 一応バグ直しました

Android で MIME Type 判別

ちょっとアプリを作っていてかなり悩んだのでメモとして残しておく MIME Typeというのは見たことはあるが、きちんと知らないので調べて見ました MIME 【Multipurpose Internet Mail Extension】 "マイム"と読むらしい 直訳してみれば、"多目的インターネットメール拡張機能"かな? ネットワーク上で動画、音声、画像などのファイルを扱うための規格 RFC2045~2049で規定されている。  拡張子とファイルのデータを関連付けているものらしい " タイプ名/サブタイプ名"のように区切られて表現される 例としては、 text/html text/plain image/jpg application/pdf などなど さて、例えば、AndroidでSDカードにアクセスし適当なファイルを開いた際 どんなファイルか判別したいとする この時にMIMEを読み取り画像か音声かテキストか判別し 他のアプリにIntentを投げようと思います ※12/25追記:以下の方法だと動作しない場合があるので更に下に追記しました。 Android Developerの ここ を参考に //ファイル名からMIMEタイプ取得 public String GetMIMEType(String Path){ //拡張子を取得 String ext=MimeTypeMap.getFileExtensionFromUrl(Path); //小文字に変換 ext=ext.toLowerCase(); //MIME Typeを返す return MimeTypeMap.getSingleton().getMimeTypeFromExtension(ext); } 引数のパスは"/sdcard/Music/xxx.mp3"のように渡しています。 そこからgetFileExtensionFromUrlメソッドを使って、拡張子(mp3)を取得 それをgetMimeTypeFromExtensionメソッドに入れてMIME Typeを呼び出し元に返す getFileExtensionFromUrlとgetMimeTypeF

Compiling Avrdude

AVRマイコンで遊ぶ下準備として自分で適当にコンパイルしてみた AVRDUDE - AVR Downloader/UploaDEr >AVRDUDE is an utility to download/upload/manipulate the ROM and EEPROM contents of AVR microcontrollers using the in-system programming technique (ISP). AvrdudeはAVRマイコンにライタで書き込んだりする際に使うツールらしい MinGWを使って、"avrdude-5.11.tar.gz"でUSB込でビルドしました(USB使う予定はないけど・・・) と言っても、コマンドラインだけでの書き込みも面倒なので eclipseのプラグインなどを使って開発環境を構築する予定 なんか、まとまりも無いし、後日改めてまとめ直すことにしよう 追記 現物が届いたのでいろいろとやってみたが肝心のeclipseだとどうも上手く動かないので 仕方なく公式の"AVR Studio"を使いました('A`) とりあえず、超小さい蛍光管で、マイコン時計を作ってみようと思います 部品がまだ足りない・・・

概要

メモも兼ねて何でも書きますよ