コンテンツへスキップ

IMG_1047[1]

なんだかんだで画像受信出来るようなのが出来上がったので、Android端末に転送&実行!
すると動いた。動いたけど・・・

めちゃめちゃ遅いやん。秒間1フレームも無いような・・・?
実機(IS01)でも試してみましたが状況変わらず。

ログを見ると1フレーム更新するのに3秒かかってました。
なんでだ~ということでプロファイルを取得してみると、

android_ddms_130529

JPEGイメージを連続して送っているので展開とガベージコレクトで処理遅くなっているのかと思いきや、ほぼネットワーク部分でつまっている模様。
パケットキャプチャで通信内容もみてみると、

android_packet_130529

パケットそのものは送信&受信済みのように見えます。
受け取った後の処理がまずいのか・・・ともう一度プロファイルとソースコードを見比べると、、、

あ!?

//データ本体を受信
byte[] byteData = new byte[size];
for(int i=0; i<size; i++){
byteData[i] = din.readByte();
}

受け取ったパケットの中身を1byte毎に取り出してました。テスト用クライアントはこれで問題なく動いてたのは、多分PCのマシンスペックで強引にカバーしていたのでしょう。
このあたりを修正するとそこそこ見れるパラパラ画像になってきました。

もうちょい、もうちょい。

--------------------------------------------------------------------------------

VMWare上のAndroidへのadb接続メモ

  1. AndroidのIPアドレス確認(Terminalでnetcfgコマンド)
  2. ホストOS側から
    $ adb (Android IPアドレス)

これでEclipse上からもAndoird端末が認識出来ています。Androidエミュレータは猛烈に重い(うちのPCが非力?)ので、結構助かります。

また、Androidアプリでネットワーク通信する場合は、プロジェクト内AndroidManifest.xmlに以下の項目追加。

<uses-permission android:name="android.permission.INTERNET"/>

これでSocket接続出来るようになる模様。

eclipse_130528

JavaでVNCもどきをコーディング中です。
仕様としては、

  • デスクトップスクリーン丸ごとではなく、特定のアプリケーション画面のみをキャプチャーして送信する
  • 特定部(メニューとか)を判定してクライアント側で拡大表示
  • 音も送りたい・・・

亀の歩みながら、Javaをもう一回勉強しながらコーディング中です。
今のところアプリケーション画面キャプチャ&JPEGエンコードして送信したものを、テスト用クライアントで表示OK。
同じくテスト用クライアント側からのクリックイベント送信もOK。

このあたりでAndroid端末用にアプリケーションをこさえてみようと思います。
勉強&リハビリがてらなので仕様がころころ変わりますが、そのうちここで公開したいなぁ。

android_x86_grub

x86版AndroidをVMWareにインストールしてみました。
(参考にさせて頂いた記事はこちら↓)
http://www.crystal-creation.com/software/tool/smart-phone/android/vmware/android4_0.htm

なんとなく懐かしいCUI画面でパーティションを作成し、作業自体に躓くところもなくサクサクと入りました。
(自動検出でFreeBSD扱いになってた)

その後はOSを立ち上げるとAndroidロゴが表示され、あっさり起動。

android_x86_menu

これでAndroidアプリのデバッグがやり易くなるのでは。
特に端末同士がP2Pで繋がるようなアプリに威力を発揮するんじゃないかなぁ・・・と期待が募ります。

1

Android端末をPCのサブディスプレイとして使用出来るソフトKomadoを試してみました。
(もしかして有名なのかな)
ソフトはPC(Windows)とAndroidにそれぞれインストールします。その後、PC側ソフトで設定。
我が家はディスプレイ2台環境で、今回はKomadoを使ってトリプルディスプレイに挑戦します。

Komado設定画面(WIN)

で、PC側ソフトが立ち上がった状態でAndroid側を立ち上げると、自動的にネットワーク経由で相手を探して繋いでくれます。
早速と手元にあったPDFファイルを表示してみると。。。

Android側Komado

おおおお・・・・、普通に読める。IS01の画面サイズでこれなら、タブレットなら結構いけるかもしれません。

流石にネットワーク経由しているせいか画面は遅いですが、何か資料を開きっぱなしにするには問題なさそうです。
手元にAndroid端末が余っている方は試してみては如何でしょう。
(Komado1は1.6でも動作OK、Komado2は2.3以上の模様)

IS01

相変わらずではありますが、ようやっと調子が戻ってきました。

久しぶりに家に転がっていたIS01をいじっていると、Android Marketからアプリがダウンロード出来なくなっていることが発覚。
うちのIS01はAndroid2.2にバージョンアップしていましたが、遂に1.6に続き2.x系列も駄目なのかと諦め・・・いや、Google先生にお問い合わせすることに。

http://weekly.ascii.jp/elem/000/000/080/80955/

ここのページ(↑)の下のほうにある、

1. “設定”の“アプリケーション”から“アプリケーションの管理”を開き、“すべて”タブを選択。
2. “Googleサービスフレームワーク”で、“データを消去”
3. “マーケット”(Google Playストア)で、“データを消去”と“キャッシュを消去”
4. “ダウンロード”で、“データを消去”

というヤツを実行すると直りました。
どうやらマーケットアプリやらのキャッシュが壊れていたようです。
(そういえば、以前にファームウェアのバージョンアップとかしたような記憶が)

これでもう暫くは実験機として使えそうです。