2011年10月30日日曜日

AndroidでAR(人工現実)

さてAndroidの開発環境ができたので、早速ARのアプリをインストールしてみます。NyARToolKit for Androidというのがあり、DLしてきました。ビルドしてみるとエラーがでます!?エラーの箇所を見てみると、コメント部分が文字化けしています。文字コードの解釈ミスですね。(ファイルはUTF-8ですが、SJISと誤認識しています)試しに一つのファイルの文字コードをUTF-8に設定すると、そのファイルのエラーは消えました。なので、プロジェクト全体のプロパティを文字コードUTF-8にしてビルドしました。(自動ビルドだとキャッシュの影響がわかりにくいので、手動にしてます)OpenSourceでは当たり前の警告は一杯でましたが、無事動きました。さすがにGalaxy S2 1.2GHz x2の威力で、サクサク動きます。(マーカーがカメラ内に2個入っても、アニメーションしてくれます)

2011年10月29日土曜日

UbuntuにAndroid開発環境を構築

今度はLinux(Ubuntu)でAndroid開発環境を構築してみます。ターゲットPCは余ってたネットブックPC(Atom:N270 1.6GHz)です。前回のMacBook Airに比べると非力感は否めませんが、一昔まえなら普通の能力です。WindowsXPも普通に動いていました。
さてUbuntuというディストリビューションですが、このところ個人ユーザーからは結構人気があるようですが、実は自分はあまり好みでなかったりします。ただRedHatが商業ベースに移行してしまい、Fedoraは実装が挑戦的すぎて、実験や実用には向きません。実用性を重んじるならCentOSというところですが、さすがにstableすぎてパッケージのVerがちょっと古いです。文句ばかりいっても仕方が無いので、はやりにのってUbuntuでトライです。
Macとちがって注意するところは以下の2点です。

  1. javaがLinuxのくせにSun Javaじゃありません。Oracleに買収されたのに腹を立てたのかOpenJDKがデフォルトで入っています。インストールするにはデフォルトではオフになっているリポジトリで「Canonicalのパートナー」をオンにしないと、インストールすらできません。(インストール後、複数のjava環境からSun Javaを選択することを忘れずに)
  2. eclipseのパッケージはUbuntuにも用意されているんですが、独特のカスタマイズがしてあるらしく日本語化等で問題を起こすことが多いので、eclipseのHPからDLしてきて個人環境に展開して使ったほうがいいです。

準備に半日くらいかかって(Android SDKの構築でパッケージのDLに時間がかかります)、いざ実行ですがAndroidのEmulatorに異様に時間がかかります。Macでも絵がでるまで30秒くらいかかりましたが、その比じゃありません。しかもeclipseの動きも恐ろしく鈍く、自動で動いている構文チェックで問題ない所でエラーをしばらく表示し続けていました。Emulatorもあまりの遅さにHelloAndroidが起動するのに時間がかかりすぎて、TimeOutのダイアログが表示されるしまつ。(我慢してれば起動しますが)
これはダメですね。とても実用に耐えません。元々、eclipse自体javaでできていてそんなにキビキビ動く方ではなかったんですが、色んなプロセスを動かしている感じで、メモリも相当くっています。メモリをたくさん積んだ64bitのWindowsが必要そうですが、Androidが32bitなのでちょっと設定に注意が必要です。どうしたものか。

追記
翌日、MacBookでシステムアクティビティ見ながらeclipse動かしてみましたが、Androidの開発環境動かし始めたらメモリ800MBくらい消費しているようです。これはメモリ1GBのネットブックでは無理だ。

2011年10月28日金曜日

MacのAndroid EmulatorでWarning、NSQuickDrawViewが出続けます

NSQuickDrawViewのWarinigがeclipseのAndroid Emulatorでよくでます。(たまに出ない時もある)動作的には動くようですが、たまに画面がおかしくなるときもあります。
気になってぐぐってみましたが、どうもMacのEmulatorでAudio関係のAppleのデバイスドライバ(?)で出力されるようです。英語のメーリングリスト見ると、2008年の頃から言われ続けて、いつかは修正されるだろうと、Warinigだから気にするな、と言われ続けていますが未だに修正されていません。
他にもEmulatorの動作見てるとあやしいところがあるし・・・、Ubuntuで環境作って試してみるかな。

MacにAndroid開発環境を構築

Docomoが3メーカーの最後に2011年冬春モデルを発表しましたが、つまらない結果でした。iPhoneは予約しても何時になるかわからないとのことで、すぐ入手できるGalaxy S2を購入してきました。

それで早速Androidの開発環境を構築ですが、何となく放置気味だったPCのMac Book Airに作りました。構築方法は各所で公開されているので、基本的にやった項目だけ書いときます。


  1. MacのJavaバージョン確認(WindowsなんかだとMSのがデフォルトで入っているので、Sun(今はOracle配下(;_;))のJDK入れないといけません)
  2. eclipseをインスト^ール。(古いのが入ってたので、最新のIndigoをインストール)
  3. eclipseの日本語化。(別に無理にしなくてもいいけど、なんかの時に検索に便利だから)
  4. Android SDKのインストール。
  5. eclipseのソフトウェアインストールで、Android ADTのインストール。(Androidのバージョンを選ぶんですが、ネットからDLしてくるんでAllなんてやると時間が大変なことになります。途中、色んなメーカーからのDLも入ります)

これで終了です。No5では2,3回eclipseの再起動が入りましたが、例によってHelloAndroidを作ってみて、Galaxy S2にも入れてみて動作を確認しました。
eclipse.iniでメモリ確保量をデフォルト(なんと初期が40MBしかない)から256MBにしたんですが、あいかわらず動作のろいですね。またAndroid Emulatorの起動が遅く、最初30秒くらいかかったのには驚きました。(一応Core2Duoの2.13GHz、SSDだからもっと速いと期待してたのに)

あと、eclipseのせいなのかjavaのせいなのか(おそらくjavaだと思います)強烈なキャッシュがきいていて、ソースを変更してもすぐには反映されません。特にEmulatorの方には反映が遅い気がします。再起動しても、すぐだと反映されない時がありました。確実なのはシステム再起動なんですが、毎回そんなことやってられないのでどうしたものか。(プロジェクト→自動ビルドをはずしたほうがいいんだろうな)

2011年10月17日月曜日

「おサイフケータイ」の調査

今更ながらスマホが欲しくなりました。今使ってるのは、3,4年前にかったDocomoのパナソから出てた、とっても薄いガラケーです。(力加えたら、折れそうw)
ただ前からスマホに興味はあったんですが、問題なのは日本製のスマホにはどうも興味が出ず、iPhoneかサムスンがいいんですが、「おサイフケータイ」機能がありません。これ一度使い出すと、もうコンビニなんかで普通の財布出す気になりません。(これのおかげで、小銭地獄から解放されましたヽ(^。^)ノ)
日本製のスマホなら「おサイフケータイ」ついてるのがあるんですが、どうにも面白みがなくまたiPhoneが最初欲しかったんですが、繋がらないケータイほど意味がないものはなくて、Docomo以外使う気になれません。(最初、iPhoneが日本に来る時DocomoとSoftBankで争いましたが、官僚的なDocomoではジョブズの出してきた条件飲まないよな)
ただ、どうにも我慢ができなくなりふと思ったのが「おサイフケータイの機能使うのに、携帯の契約している必要があるのか?」です。元々、自分はこの携帯は代金を購入時に全額支払い済みです。この携帯の契約解除して、本体だけ持っていればお金のチャージをする方法があれば使えるのでは?と考えました。調べてみると、Edyチャージ機かコンビニで入金できるそうですが、自分の付近にはチャージ機なんて見たことないし、コンビニでチャージなんてしたことない・・・ できるんか?ところで、自分はPasmoの利用状況を見るためにFelicaリーダーを購入してあり、Edy ViewerもPCに入れてあります。ただ、Ver2だったんですが、ネットで調べたら今はIE6以上を使えば、ブラウザでEdy Viewer3.0が使えて、そいつはなんと入金までできちゃうんですね。これで入金の問題はクリアしました。ということで、実験です

1.まずEdyのロックを外します。(普段はロックしていて、使うときだけアンロックしてます)
2.携帯の電源切って、Edy Viewerで利用状況の確認をしてみたら使えました。OK
3.次に携帯の電池を抜いてみたんですが、Edy Viewerで認識されません。NG
4.お次は、携帯からSIM(FOMAカード)を抜き、携帯の電池だけセットして(但し、携帯の電源はOFF)Edy Viewerで利用状況を確認したら見ることができました。OK
5.試しにこの状態で(PCから)入金してみたら、入りました。OK
6.最後に、SIMを携帯に差してから電源をON。携帯で残金を確認したところ入金されていました。OK

以上のことから、どうも携帯のバッテリが多少使われるようですが、SIMは不要のようです。(現状の電話メーカーはSIMの方にFelicaの機能を入れたいと画策しているという話を聞いていたので、今回の実験を思いつきました。)これなら今の携帯を解約して、スマホにしても問題なさそうです。(スマホを次に買い換えるまでには、スマホの方にもNFCが普通にのり、日本でも使えるようになってることを祈って・・・)

20111024追記
その後、携帯を変えたんですがEdyがエラーで使えなくなりました。これだけ念入りに実験したのに・・・、ドコモshopにいって話をしたら703(903)以降の機種では何らかの時にパケット通信が発生して、解約すると使えなくなると。(自分のは705)電源切ってまで試してみたのに、意味がないーーー 仕方ないからEdyカードでも買うか。

後で冷静に考えたら、中古で売ったときにそれ買った人が使っちゃうとか面倒なことが起きそうなんで携帯解約したら自動的にロックするかどうにかするようにしたんでしょうね。

2011年10月4日火曜日

Windows8 β試してみた

Windows8のβが公開されたので動かして見ました。
といってもいきなり生のPCを用意するのも怖いので、最初はVMPlayerでやろうとしたんですが、64bitの32bit版もどちらもダメ!(ぐぐったら、VMWareでは動かした記事があったんですけどね)
しかたないのでVirtual Boxで試して見ました。こちらは問題なく64bitでも動作。(但しhost OSはWindows7 64bitです。32bitで動くかは不明。)特に1ページレビューしか見ずに触って見ましたが、どうもよくわかりません。四苦八苦してログアウトとシャットダウンはわかりましたが、最後でこけました。まあ、βだし、仮想環境だし・・・・(あと、Windows Live ID要求されたのはちょっとびっくりしました。そんな記事見た記憶なかったので。まあ使わないけど、一応持っていますが。)

2011年10月1日土曜日

WindowsXPの動きを速くする

古いDynaBookで、思い入れの強いやつがあります。ビデオチップにTridentを積んだ(これしか製品化は聞いてません)、とても薄いやつです。バッテリもへたり、買い直したんですが更新を繰り返すうちにどんどん遅くなりました。どうも更新情報を起動時に読み込んでいるようです。(メモリが512MBなので、足りなくなるようです)どうしたものかと思っていたんですが、M$のHPに更新情報の管理データがおかしくなった場合の対処ページがあります。


これを行うと、動きが速くなるという話がありました。試してみたところ、確かに速くなるようです。ただ、Windowsはよくも悪くもタフにできてて、こういうデータは消しても自動的に再構成してくれます。しばらく様子を見ないとなんともいえませんが、とりあえず手順をメモしておきます。

1.スタートメニュー→コントロールパネルから管理ツールを起動する



2.自動更新のサービスを一旦停止する(v6の場合で説明がされている)

 注:最後の方のXPだと「自動更新」という日本語名になってたりします

3.以下の場所にあるファイル(フォルダ)を削除する


4.自動更新のサービスを再開する


これを行うと、たった512MBしかメモリがなくても快適に動作するようになりました。(使用メモリがこれまで512MBを起動直後から超えていることが多かったのが、200MBちょっとに激減しました)しばらく動かしてると、削除したファイルとフォルダがまた作成されています。消したときは100MB以上あったんですが(まさかこれがメモリに読み込まれていたのか!?)、最初は小さなものです。また遅くなったら、見てやらないといけないですかね?(Windows7でも同じようにいけるとか・・・でもセキュリティとか厳しくなってるから、少し厄介になってるかな?)