android

JmDNSによるBonjourのサービス解決

android.net.nsdパッケージが現状バグで使えなさげだが、Bonjourを扱うには元々実績のあるJavaのライブラリィが提供されており、有り難いことにandroidからでも使えるのだ。 JmDNS JmDNSはmDNS(Multicast DNS)とDNS-SD(DNS based Service Discovery)をサポー…

NsdServiceは時期尚早?

androidからのBonjourをテストするのに最初JmDNSの実装を使う予定だったのだが、android 4.1以降サポートされたandroid.net.nsdバッケージがmDNS(Multicast DNS)とDNS-SD(DNS based Service Discovery)をサポートしたとのことなので、まずはそちらから試して…

AirPrintはBonjourを話すとは限らない

!= 先日AirPrint対応のプリンタをandroidから制御してみようというエントリを起こしたのだが、これは困難なのかもしれないと思いはじめている。無知な私はAirPrintはBonjourに対応した印字機能を持つプリンタのことを指すのではないかと勝手に思い込んでいた…

Personal Media eXchange

Personal Media eXchange - Google Play の Android アプリ Personal Media eXchange(以下、PMX)は、NTTドコモのモバイルWi-Fiルーター「BF-01D」に対応し、モバイルWi-Fiルーターのインターネット接続状態や、バッテリー残量が一目で分かるほか、基本的な…

AirPrintとandroid

AirPrint対応のプリンタを買う予定なのだが、MacやiOSから普通に使えるのは当たり前として、androidからも同様にアクセスしたい。そのためのアプリがあるであろうことは想像がつくのだが、折角なので自力でやってみたいのだ。 1. 環境の準備 開発環境は整っ…

BeautifulWidgets

時計と天気をカスタマイズできる"BeautifulWidget"を愛用しているが、android4.2.2にしてから殆どのテーマで時計と天気が表示されなくなってしまった。(スクリーンショットは正常に表示されている)間違いなくバグだと思い本家を調べてみたが、β版が出ている…

android4.2.2-yakju

個人用として使用しているdocomo SC-04Dだが、ドコモのアップデートがあまりに遅く(現在4.1)我慢が出来なくなったので、android 4.2.1(JOP40D)のyakjuイメージで置き換えてしまった。(その後OTAで4.2.2にアップデート済み)Factory Images "yakju" for Galaxy…

cvBlobsLib (その2)

cvBlobsLib - OpenCV Wiki cvBlobsLibが使えそうだということは解ったのだが、問題は主要なモバイルプラットホームで使えるかどうかだ。 iPhone(iOS) aaronsung/cvBlobsLib-iOS · GitHub Objective-C(++)へのポートとも言える実装。本家と同等に使えそうだ。…

モバイルの悩み

OpenCVを使ったアプリケーション、それもモバイルアプリケーションで一番の悩みはデスクトップ等に比べてリソースの制約が大きいことだ。 MPU メモリ GPU モバイルプラットホームはこの2年で飛躍的な進歩を遂げたが、それでも一般的なデスクトップPCに比べる…

GPUImage その2

ちょっと空き時間が出来たのでサンプルを動かしてみたが、やはり性能は素晴らしい。静止画は勿論のこと動画でも即時にフィルタが適用されるため、キビキビと動く画像操作アプリケーションが書けることだろう。しかし私のように、画像を解析してオブジェクト…

GPUImage

BradLarson/GPUImage - GitHub GPUImageはBSDライセンスで利用できるiOS用の高機能の画像処理ライブラリィだ。 実装は一部にOpenGL ES2.0を下地にしておりGPUアクセラレーションを利用できるため、CoreImageやOpenCVに比べて高い性能が期待できる。(ベンチマ…

ビュー上に直接文字列を描画する

android androidの場合、オーバライドされたonDrawメソッドのコンテキスト中でCanvasクラスのインスタンスの参照を得ることができるので、そのCanvasのメソッドを使って直接文字列を描画できる。 @Override public void onDraw(Canvas canvas) { super.onDra…

androidプロジェクトでjavadocを生成する

Eclipseを使えば簡単だと思っていたんだが、そうでも無かった。ビルドツールもコマンドも使わず、EclipseのExportメニューでプロジェクトソースのjavadocを生成しようとすると、以下のエラーが出て途中で止まってしまう。 java.lang.ClassCastException: com…

カメラでキャプチャした写真の向きを取得する (その3)

頼みの綱だった画像のExifタグ情報の"Orientation"属性だが、私の端末では使えないことが分かった。(他の端末、例えばXperia等では正しい値が返ってくると聴いたが、検証はしていない)その後調べてみたが、Exifタグ情報以外に写真の向きを取得するには以下の…

カメラでキャプチャした写真の向きを取得する (その2)

さて、昨日の続き。 androidのカメラでキャプチャした写真の向き(Orientation)はその写真のExifタグデータを取得することで得ることができる。※ ExifInterface http://developer.android.com/reference/android/media/ExifInterface.htmlandroidではExifタグ…

カメラでキャプチャした写真の向きを取得する

androidの大いなる機能であるIntentはシステムアプリのカメラを制御することも可能であり、MediaStore.ACTION_IMAGE_CAPTUREアクションを送信するだけで キャプチャした写真をバイトデータで返す キャプチャした写真を任意の保存可能な場所に保存する これら…

GLaDOS V2.1

久しぶりにカスタムROM(というかJelly Bean JRO03Cからの上書きカーネルだが)をGALAXY Nexusに焼いてみた。[KERNEL][27 JUL] GLaDOS V2.0 for JB - [GSM] Galaxy Nexus Development - RootzWikiこれに引かれたのはV1.29のFeatures:にあった Added support fo…

機敏と機微

2ヶ月ぶりにGoogle Playのデベロッパーコンソールに入ったら新しいデザインが使えるようになっていた。 色々と使いやすくなっていたのだが、その中でも心引かれたのはスクリーンショットをアッブロードするためのウィジェット。 仕組み自体はiTunes Connect…

こんなんなりました

58MBのヒープを使っているアプリなんて他に何も無いが、仕方が無いだろう。 昨日悩んだ肝心の仕様(制限)だが、オプションで画像のサイズを大小と選べるようにしておき、大を選んだ場合はICS以降を条件にするつもりだ。

ヒープサイズ (その2)

ログからはヒープの伸びも頭打ちもまだはっきりしないため、まだメモリリークがあるかどうか分からない。 もう少し大きなヒープで試したい所だ。 ということで大きなヒープで動かしてみよう。iOSは私の知っている限りでは「アプリケーションヒープを制御する…

ヒープサイズ

OpenCVを利用したサンプルアプリケーションをandroidプラットホームに移植しているのだが、Bitmap生成に起因するOOM(Out of Memory)に悩まされている。以前にエントリに書いたように、ハードウェアアクセラレーションを有効にした状態で扱える最も大きな画像…

Intel HAXM Emulator JerryBean Image バグ2選 (Mac)

以下、どちらもMacBook Pro Retina上での致命的なバグを確認。 8GiBのストレージを設定すると起動しない デフォルトの20MiBでは足りなくなったのでこんな風にAVDの内部ストレージを8Gibに拡張するとエミュレータを起動できない。どれ位まで設定できるかを検…

OpenCV for android 2.4.3 (その3)

実機ではGoogle PlayからOpenCV Managerをインストールすることが出来たが、エミュレータはどうすれば良いのだろう。とすぐに見つかった。以下のコマンドでエミュレータにOpenCV Managerをインストールすることができる。 OpenCV4Android SDK ― OpenCV v2.4.…

OpenCV for Android 2.4.3 (その2)

OpenCV for androidのインストールが終わったので、実際にアプリケーションを書いてみよう。 OpenCVといえば、まずすることは2値化ということでImageViewに表示する前に画像をOpenCVで2値化するコードを書いてみた。 MainActivity.java private void doBin…

OpenCV for android 2.4.3

そろそろandroid側のOpenCVも覗いておこうと思い、インストールしてみた。version2.2以降、Java APIが整備されてきたおかげで、基本的にJava APIでアプリケーションを書けるはずだが、OpenCVの提供するサンプルアプリケーションを動かすためにはNDKを使った…

ビューと2D描画

昨日も書いたが、iOSで書いたカスタムビューをandroidに移植している。 主な機能としては、昨日も書いたように画像のプレビューの他に、 タップした箇所にポインタ(円)を描画 ポインタ同士を線分で描画して接続 3点以上をタップした際にポインタで閉じた領域…

ハードウェアアクセラレーションの罠

久しぶりにAndroidでカスタムViewを書いている。内容はiOSで作ったUIViewからの移植であり、画像の加工前のプレビューを表示するものだ。技術的には別に難しくは無いのだが、画像をassetからロードするとエミュレータでは発生しなかった例外が出る。 サンプ…

Intel(R) HAXM Hot fix for Mountain Lion 10.8.2 on Ivybridge platform hardware

※そういえばMacBook Pro RetinaでAndroid 4.0以上のx86イメージを使うとOSごと落ちてしまう問題は修正されたのだろうか? さすがはIntel、11/14付けで既にアップデートが出ていた。 Intel® Hardware Accelerated Execution Manager 1.0.1 (R2) | Intel® Devel…

Android* 4.1.1 (Jelly Bean) x86 Emulator System Image

Windows機上で動かすとすごく快適で、これなら実機が無くても開発できそうだ。 動作のシルキーさはiOSやWindowsPhoneのシミュレータにも見劣りしない。 しかし起動はまだまだ遅いな。もう少しがんばって頂きたい。グーメン。あとこれは今に始まったことでは…

docomo SC-04D GALAXY Nexus OTA (android4.1.1)

docomoだしどうせ年をまたぐのではないかと思っていたのだが、GoogleがGALAXY Nexus向けにandroid4.2を出してくる中、流石にこれ以上は遅らせることが出来なかったのだろう。以前、私は新しいandroidのUIをこっぴどく批判したことがある。 [android] 私が「I…