Android 開発環境で IntelliJ にしてみた。

2年前 CrenaCam 0.9.2.5を作った時、Eclipseを使ってて、今回EclipseをバージョンアップしてAndroid 開発環境を最新にしようとしましたが、なんかユーザインターフェースがすごく変わってしまって、以前のProjectもimportしなくてはならず、なんとなくうまくProjectが操作できない。

そこで、 IntelliJというものがあり、こちらで紹介されていたので早速インストールしました。
http://www.devlog.alt-area.org/?p=1591

Import Projectで、以前作ったCrenaCamera-Release-0.9.2.5-flashをインポートして、RUNで動作しました。

署名付きAPKのエクスポートで、コマンドラインで作った以前のキーファイルを使えるか?
使えないと、Google Playに登録しているので違うアプリとして認識されてしまい困ったことになります。

Build->Generate Signed APKで作成します。以前作ったキーファイルを指定して
Key store password,Key alias,Key passwordの3つを入力してCameraCam.apkを作成します。
*↑の3つを忘れていたら同じデジタル署名は作成できません。

正式版のCrenaCamがインストールされた状態で、

C:Androidandroid-sdktools>adb install -r C:workandroidCrenaCamera-Release-0.9.2.5-flashCameraCam.apk
1033 KB/s (134450 bytes in 0.127s)
        pkg: /data/local/tmp/CameraCam.apk
Success

で、デジタル署名は前と同じ(当然か・・)でUPDATEできたのでこれからはIntelliJを使うことにします。

*ちなみに、Build->Generate Signed APKで新たに署名を作ってインストールすると、
C:Androidandroid-sdktools>adb install -r C:workandroidCrenaCamera-Release-0.9.2.5-flashCameraCam.apk
518 KB/s (134834 bytes in 0.254s)
        pkg: /data/local/tmp/CameraCam.apk
Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]
のようなことになり失敗します。(この場合は元のアプリを削除すればインストールできます。)

spモードでVPN接続はできません。

YAMAHA RTX1000の中古をYAHOOオークションで2,980円でGETしました。
せっかくなのでVPN設定してみた。(今のPLANEXのルータは奥さんの実家に設置することに。
NTTからKCNに代わるので新たにルータが必要なので。)
で、VPN設定して、他拠点から自宅のルータにVPN接続できるものの、docomoのspモードでVPN接続できず。(XPERIA ><)
当然、XPERIAをテザリングしてPCにUSBでつないで、PCでVPN設定しても同様でつながりません。

2011/10/15 11:41:27: TUNNEL[01] PPTP connection is established: x.x.x.x
2011/10/15 11:41:27: PP[ANONYMOUS01] PPTP Connect
2011/10/15 11:41:27: PP[ANONYMOUS01] SEND LCP ConfReq in STARTING
2011/10/15 11:41:30: PP[ANONYMOUS01] SEND LCP ConfReq in REQSENT
2011/10/15 11:41:58: PP[ANONYMOUS01] Give up establishing PPP/LCP in REQSENT
2011/10/15 11:41:58: PP[ANONYMOUS01] PPTP Disconnecting, cause [PPP: LCP Timeout]
2011/10/15 11:41:58: TUNNEL[01] PPTP connection is closed: x.x.x.x

http://businessnetwork.jp/Detail/tabid/65/artid/1341/Default.aspx にあるあように、spモードでVPN接続は接続できないとのこと。 L2TPをサポートしているVPN装置なら接続できますが、あいにくRTX1000では サポートしていません。 http://www.rtpro.yamaha.co.jp/RT/docs/l2tp_ipsec/index.html#support サポート対象は、 RTX810,RTX1200,SRT100の3機種です。

CrenCam Xperia arcのフラッシュライトサポートしました。

CrenCamアプリで、Xperia arcでフラッシュライトが点灯しませんでしたが、点灯するようになりました。試してないですが、Galaxyも点灯するはずです。
Xperia arcでフラッシュライトの点灯方法をネットで調べてもわからず、Xperia arcでフラッシュライトが点灯するアプリをリバースエンジして分かりました。
簡単すぎです^^。そんなモードがあったのか・・。OFF/ONしか知らなかった。
mCameraPreview.mCamparam.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
mCameraPreview.mCamera.setParameters(mCameraPreview.mCamparam);
これだけで点灯します。
ちなみに、Xperia arcは、getSupportedFlashModesで調べるとoff,auto,on,red-eye,torchの5つをサポートしています。
Xperiaは、従来の非公開APIを利用し、SHARPに至っては、SHARPから公開されているAPIを利用しています。

Xperia Arcになりました。

会社から支給してもらっていたXperiaを途中解約して、Xperia Arcにしてもらいました。(感謝^^)
早速、使ってたアプリをインストールしました。Xperiaと比べて動作は体感できるほど早くなっています。
==インストールしたもの。==
1.GingerBreak
 (ルート化用です。)
2.BusyBox installer
 (各種コマンド)
3.アストロ
4.shootme
5.乗換案内
6.HootSuite
7.K-9 Mail
8.RealCalc
9.S2カレンダー
10.My Tracks
11.QRコードスキャナー
12.Compass3D
http://android20092009.blog67.fc2.com/blog-entry-41.html こちらのコードをコンパイルして使ってます。
13.年間カレンダー
 自作。自分用。公開予定なし。
14.XPERIA arc FlashLight
  以前は、XPERIA FlashLightでarcでは動かず、そのかわりにarc専用が出ていました。
15.McCoupon
16.Task Manager
17.CrenaCam
  自作。marketで公開中です。Xperia arcで動くようになりました。
  ただし、フラッシュライトの制御はできず。>< arcでは制御方法 が違うようです。>< 
  XPERIA arc FlashLightはどうやっているのか?
18.Wifiティザーは、こちら。
http://komugi.net/archives/2011/04/25192138.php
<<<メモ>>>
Xperia arcでCrenaCamが落ちていたところは、setParameterでした。
いろいろ調べた結果、surfaceChanged渡ってきた値、854 x 480をセットすると落ちます。そんな~。。
getSupportedPreviewSizes()でサポートされているサイズ以外は落ちるようです。
で、リストアップしてみて、864 x 480にすると動作するようです。
でも、その取得データをビットマップにしてimgview.setImageBitmap(mBitmap);
で表示すると、854 x 480で表示されます。(隙間が・・)まあ特に問題ないのでこのままで。 CrenaCam 0.9.2.5
//—
private Camera mCamera;
private Camera.Parameters mCamparam;
public void surfaceChanged(SurfaceHolder holder,int format,int width,int height){
mCamparam = mCamera.getParameters();
List sizes = mCamparam.getSupportedPreviewSizes();
Size selectSize = selectPreviewSize(sizes, width, height);
mCamparam.setPreviewSize(selectSize.width, selectSize.height);
try{
mCamera.setParameters(mCamparam);
}catch(java.lang.RuntimeException e){
//
}
mCamparam.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
mCamera.setParameters(mCamparam);
startCameraPreview();
}
//一番近いサイズを選択する。
private Size selectPreviewSize(List sizes, int w, int h) {
Size selectSize = null;
long x;
long y;
long scxy = Long.MAX_VALUE;
long tmp_scxy;
for (Size size : sizes) {
x = size.width – w;
y = size.height – h;
tmp_scxy = (x * x) + (y * y);
if (tmp_scxy < scxy){
scxy = tmp_scxy;
selectSize = size;
}
}
return selectSize;
}

CrenaCam 0.9.2.3 バージョンアップ。Xperia フォーカスが合うようになりました。

Xperiaでフォーカスがandroid 2.1にアップしてから合わなかったですが、
https://www.picolix.jp/blog/archives/2011/04/crenacam_in.html
public void foucsmode(int mode){
 stopCameraPreview();
 if(mode == 0){
   mCamparam.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
 }else{
   mCamparam.setFocusMode(Camera.Parameters.FOCUS_MODE_MACRO);
 }
 mCamera.setParameters(mCamparam);
 startCameraPreview();
}
で、近接と遠距離を切り替えるようにしてフォーカスが合うようにしました。
ただし、setFocusModeは、Android 2.0以降しか使えないので、Xperia 1.6では動作しません。
cre222.png
※Xperia Arcでは落ちます。><

SHARP Androidアプリ開発テクニカルセッション行ってきました。(大阪) #sh_dev

第一部は、技術セミナーで、
1)歩数計:専用のマイコン搭載で、消費電力も抑えられています。API利用可。
2)3D表示:左目、右目の画像をフレームバッファにSide by Side(half)形式で描画。API利用可
3Dのスクリーンキャプチャーしましたので↓で。
3)Felica:おサイフケータイ。Push送信機能でAPI利用可。送信バイト数は、180バイト程度で今後は
もっとできるように検討中とのこと。また送受信は、携帯を密着させるようにすること。
まあ、「携帯を密着」このような利用シーンは??
第二部は、実機タッチ&トライです。
IS03,LYNX 3D,SoftBank 003Hの3機種。
1)CrenaCamとりあえず、CrenaCamが動作するか確認。すべての機種で動作しました。
ただし、LEDのフラッシュライトは点灯しませんでした。
このLEDの機能は、非公開APIを使っているので、シャープ端末では無理なようです。
ただし、専用のAPIはシャープから公開されているのでこれを使えばOKです。
ちなみに、有名どころのLED ONアプリをいろいろ試しましたが、やっぱりXperia用でシャープ
の物では点灯しませんでした。
2) ワンセグ:電波が届かないのかどの機種も見られず。
3) 3D表示
3Dレンズシートのような感覚で見えます。でDDMSでこれのスクリーンキャプチャをとったところ、
Side by Side(half)形式という意味がわかります。3D静止画は、MPO形式、3D動画は、WMV 3D形式です。
・初音ミク3D動画。動画再生中にキャプチャしたので、左右ずれていますが、
このように左右に分かれます。実機では、初音ミクが立体で見えます。
3D変換は、ハード(視差バリア)がやってくれます。
3d1.jpg
魚の遊泳動画。
3d1-1.jpg
・縦でも当然3DはOKです。実機では、「あ」が浮き上がって見えています。
この時のフレームバッファは、↓のようになります。
3d2.jpg
・3Dの画像を作成できます。結構難しいです。(慣れれば簡単なのかも)
3Dツールの指示に従い撮れば、あとは勝手に3Dにしてくれます。
実機では、「ボールペン」が浮き上がってみえます。
3d3.jpg

Xperia Android 2.1なdocomoファームにJIT導入やってみました

2.1なdocomoファームにJIT導入やっみました
こちらの情報↓
http://num1.jp/archives/289をたよりにやってみました。成功しました。
・純正のOptimizerのダウンロードは、
http://forum.xda-developers.com/showthread.php?t=829660このページのDOWNLOAD ver.002を使用しました。
後は、指示に従って作業します。
Quadrantでのベンチーマークテストでは、実施前:520 実施後:650になり、体感的にも早くなってます。^^
(でもroot化とかいろいろしてますが、いつかは潰してしまいそうな予感が・・)
Hootsuiteなんかは実施前はTOP画面がもたついていましたが、さくっと開くようになりました。
CrenaCamの色計算も少しは速くって。。あまり実感ない。
crenacam-3.jpg

クアルコムジャパン AR SDKちょっとイメージ違った。

クアルコムジャパン AR SDKちょっとイメージ違った。
ターゲット、フレームポイントとオブジェクトを事前にサーバにID登録し、
そのイメージーを記載したボード、ペーパー等にカメラを合わせることで、
オブジェクトをAR表示するようです。
レンダリングは、openGLかUNITY(年末にプラグイン実装)で、ネイティブコード
の部分にコーディングする。
仮想空間関連で、UNITY 3Dさわってみたことあるけど、今回アンドロイド用の
UNITYプラグインは有償で36,500とのこと。
セミナーではゲームボードや専用のペーパ上にコミカルなバーチャルな世界を
表現したデモでの説明がありました。
技術的には興味ありますが、果たしてゲームボード等にわざわざカメラを
向けて仮想にARして、ゲームする必要があるのかと。
このあたりは、AR Game Designセッションでも問題提起してた。カメラを向けて
ARすることに対する動機付けをどうするか。日本人には向かないかな?
というかゲームには向かないような。(少なくとも私はやりたいとは思いません。)
私のやってみたいことは、固定的なフレームポイントの事前登録型の認識ではなく、
プレビュー画像から、有意と思われるフレームポイント(まあ、登録必要ですが。)をなんとなく抽出し、
それを元にオブジェクトを組み合わせて、任意な立体物を組み合わせて生成したかったのですが・・・
例えば、カメラでコスモス畑をプレビューし、特定の条件のターゲットポイントを認識したら
妖精をAR表示するとか。ターゲットポイントのパターンによって妖精:アバターメイキングは
微妙にかえることでバリエーションを出す。
後は、これを今はやりのソーシャル・ネットワーキングと連携かな・・
誰か作って。
「ARにおけるビジネスモデルの確立」インターネットメディア総合研究所
http://i.impressrd.jp/e/2010/10/09/1052

『CrenaCam』色名検出アプリ~様々な色の名前を調べよう!~

Andronaviでのレビューありがとうございます。
http://andronavi.com/2010/10/47990
当方、無意識に色名の種類をいろいろセットできるようにしたのですが、
もりひめさんにレビューして頂いた「色名セット」の解説の
とおりです^^。(基本12色:色鉛筆だったのですね。・・・)
LYNXでは、画像がくずれるとのこと、
https://sh-dev.sharp.co.jp/android/modules/sdk/index.php?/sdk
のLYNXのエミュレータをインストールして試したのですが、
正常に表示されます。やっぱり実機で試さないとだめみたい。
※最新版はこちら、http://dip.picolix.jp/disp9.html
Androidマーケットには未登録です。(Vectorに登録したので、VectorがAndroidマーケットに登録してくれることになってるはずなんですが・・不明です。)
プレビュー上で色取得しARで何か表現できるようにできればする予定です。
ちなみに、クアルコムAR SDK セミナー10/18:参加予定です。

Android アプリ CrenaCam この色 何色 0.9.2

Android アプリ CrenaCam この色 何色 0.9.2リリースしました。
https://www.picolix.jp/
 ・イメージカラー追加表示。(色相から求めています。)
 ・LEDフラッシュライトOFF/ON機能追加
 ・ステータスの表示(シャッター音、手ぶれ防止、LEDフラッシュライト)
crenacam2.jpg
 ・手ぶれ中のサイン表示(MAX5秒)
crenacam3.jpg
 ・ボリュームは、メディアの音量に変更しました。
 ・シャッターを切った時に、プレビューを停止しないようにしました。(黒画面表示なし)
これで、このアプリでやりたいことは全部実装したつもり^^。先人のいろんなサイト参考にさせて頂きました。
本ソフトは、androidnaviとvectorに登録依頼中です。