2015年8月12日水曜日

Ingress COMMが邪魔なので、comm cover アプリ作った。 #ingress #だいたいNIAのせい

Ingressで、いつも次のポータルまで少し歩くときは、スマフォを胸ポケットに入れるのですが、
いつの間にか、COMMが開いて、しかも@xxxxって勝手にチャット欄に入ってるし、
このまま最悪、送信とされると誤送信してしまいます。
で、いつもこのCOMM欄を邪魔に思ってたのですが、最下行のcomm欄をタッチできないようにした。
(ダブルタップで、3秒間解除できるようにしています。ほんとに見たい時は、ダブルタップして一時解除。3秒後に元にもどるようにした。)
WindowManager.LayoutParams params= new WindowManager.LayoutParams(
    width,110,
    WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
    WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
    WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | 
    WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN |
    WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
    PixelFormat.TRANSLUCENT);
画面最上位に常駐します。

↑COMM欄を覆って、誤タップしても反応しないようにした。
↑COMM欄をダブルタップすると、一時解除(3秒間)されCOMM欄を
操作できます。
↑残念なのは、他の画面も被りますので、ボタンの下が隠れて押せません。
ただし、隠れていない部分は押せますのでなんとか使えます。

※こアプリは自分用ですので、未公開です。需要があれば野良公開しますが・・
COMM欄誤操作で開かないようにしてほしいです。=> Niantic 





2015年8月4日火曜日

Ingress の Stella Vyctory Medal 取得しました。(Endgame)

Endgame www.ancientsocieties.comのchallengeに挑戦して、490番台でしたので、TOP 1,000に残りました。
TOP 1,000に残るとEndgameのベータ招待(まだ来ない)とingressのStella Vyctory Medalが配付されるのですが、今回、Stella Vyctory Medalが配付されました!。

intel mapでパスコードを入力。
ブロンズメダル扱いなんですね。

ちょうど、昨日LEVEL13になったところです。

しかし、何かに参加する、取得するのにパズルを必至に解いたのは、2011/9のGoogle Developer Day 2011 Japanの参加条件以来4年ぶりです。


以下のコミュニティー&オーナー&ユーザ、サイト、に感謝!




2015年6月19日金曜日

ニャンテックからアンケートミッションがメールで来た。 Niantic

ナイアンテック (Niantic 自分の中では、ニャンテックと。。)

からアンケートミッションがメールで来たので、答えておいた。


されましたが、それと関連があるのかどうかわかりませんが、三菱東京UFJ銀行と他の銀行2社に
関する内容でした。もしかして、他2社もコラボするのか?単なる比較対象として選ばれて
いるのか。みずほ銀行、ソニー銀行。






Ingress ポータル申請結果 (現在Level 10でもう少しでLevel 11です。)

Ingress ポータル申請結果

  ----------------------------------------------------
 場所:XX駅の東口(すでにある反対側の出口)
 5/23ポータル申請  6/10 リジェクト 
 理由:重複または距離が近い。
  ----------------------------------------------------
 場所:XX教会
 5/30ポータル申請  6/19 リジェクト
 理由:重複(他のエージェントさんのポータルが生えていました。)
  ----------------------------------------------------
 場所:XX調整池
 5/23ポータル申請 6/19 リジェクト
  理由:単純にだめ
  ----------------------------------------------------
 場所:XXセブンイレブン
 4/29ポータル申請 6/19 リジェクト
  理由:単純にだめ
    ローソンがいいならセブンイレブンもいいだろうと、
    おバカでした。。。(ローソンはコラボなんですね。)
    何しろ、4/25に始めたばかりでこの時は何も知らなかったです。
  ----------------------------------------------------
 場所:XX公園
 6/14ポータル申請 6/19 登録!
  ----------------------------------------------------

  ※4月~6月にその他、20個ぐらい申請していますが、まだ結果は来てません。
  XX公園、XX教会の審査は早くてすぐ登録される?
  明らかに、だめなものや重複のリジェクト報告は早い。

Portals Discoveredの項目も新たに表示されて1になった。
新参ものなのでPortals Discoveredのメダルはありません。



2015年5月22日金曜日

Ingress 「Agent Stats」がデータアップ時サーバエラーで使えないので。。 tesseract-ocrのビルド

Ingress用のAndroidの「Agent Stats」ですが、Ingressのprofileのスクリーンショットを共有でサーバサイトに送信するとOCRで読み取ってくれて、実績を管理してくれるのですが、
人気なのかサーバ過負荷だと思いますが、エラーで全然認識してくれません。><

(本記事は、一般向けではありませんので、「Agent Stats」で検索して来られた方は、
お役に立ちません。すみません。アプリが完成すれば別ですが。)


そこで、自分で作ってみることにしました。「Agent Stats」はサーバサイドでOCRで読み取って
いますが、今回はAndroid端末側でOCR機能を入れて読み取れないかまず試してみました。

第一ステップ:Android端末の方でOCR認識して、データを文字列に置き換えてできるか。
まず、AndroidでOCRライブラリーを探したところ、
https://github.com/rmtheis/tess-two
があり、ネイティブコード(C/C++)で作られています。jniですので、Android NDKが必要になります。
NDKは、Windowsでは面倒くさいので、Linux(CentOS7)上でコンパイル環境を構築することにします。

【ndk-build環境の構築】CentOS7

1.Android NDKのインストール
 1) wget http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin
 2) chmod +x android-ndk-r10e-linux-x86_64.bin
 3) android-ndk-r10e-linux-x86_64.bin
 4) mv android-ndk-r10e /usr/local/
 5) echo 'export PATH=$PATH:/usr/local/android-ndk-r10e' >> .bashrc
 6) echo 'export NDKROOT=/usr/local/android-ndk-r10e' >> .bashrc

2.Android SDKのインストール
 1) wget http://dl.google.com/android/android-sdk_r24.2-linux.tgz
 2) tar zxvf android-sdk_r24.2-linux.tgz
 3) mv android-sdk-linux /usr/local/
 4) echo 'export PATH=$PATH:/usr/local/android-sdk-linux/tools/' >> .bashrc
 5) echo 'export PATH=$PATH:/usr/local/android-sdk-linux/platforms' >> .bashrc

3.その他必要モジュール
 ビルド時、/usr/local/android-sdk-linux/build-tools/22.0.1/aapt実行時に必要
 モジュールがなくエラーが出る場合は、必要なモジュールをインストールすること。
 私の環境では、以下3つが必要でした。

  1) yum install ld-linux.so.2
  2) yum install libz.so.1
  3) yum install libstdc++.so.6

【tesseract-ocrのビルド】 作者に感謝。

 1) git clone git://github.com/rmtheis/tess-two tess
 2) cd tess
 3) cd tess-two
 4) ndk-build
 5) android update project --path .
 6) ant release

 成功すると以下にオブジェクトが出来ます。
 ./bin/classes.jar
 ./libs/armeabi-v7a/liblept.so
                           /libtess.so
       /mips/liblept.so
               /libtess.so
       /x86/liblept.so
              /libtess.so

 以上をEclipsプロジェクトのlibsフォルダーにコピーすればもうOCR読み取り
 関数が使えます。

【OCR読み取りツール】EclipsはWindows上で開発しています。
  とりあえずこんな感じで、まずは文字が読めるかみました。

BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 1;

Bitmap bitmap = BitmapFactory.decodeFile("/sdcard/Pictures/ingress/profile_20150507_202910_0.png", options);
bitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true);

Log.v(TAG, "-- START");

TessBaseAPI baseApi = new TessBaseAPI();
baseApi.setDebug(true);
baseApi.init(DATA_PATH, lang);
baseApi.setImage(bitmap);

String recognizedText = baseApi.getUTF8Text();

baseApi.end();

Log.v(TAG, "-- END);

読み取り画像 テストアプリで読み取り後
すばらしい。読み取れてる!。読み取り時間は、ネイティブコードにしても8秒程度かかります。
(金色のグラディエーションが係ってるタグ欄は文字化けしているけどこれは読み取れなくともいいので)
使えることが分かったので、第二ステップ以降は時間のある時に作成します。
とりあえず、CSVにしてデータをメール転送ならさくっとできそうです。

OCR読み取りの作成部分は今後、仕事にも生かせそうです。


シンガポールの1$コイン

シンガポール旅行で、1$コイン2枚持ち帰りました。
円形の中に八角形の窪みがあり、マーライオンも刻印されています。
綺麗でお守りにもなるかもと、娘に1個あげました。

2013年度以降の新1$コイン


後で知ったのですが、会社の同僚より、風水を意識してデザインしており、
国民全員に風水羅盤の八卦図を持たせる代わりに、この1$コインをいきわたらせ、
結界を張っているとのことです。なので、これはお守り代わりにもなります!。

では、何の為に結界を張っているかといいますと、MRT(地下鉄)を国の中心部である
City Hall駅に通したら、「国の中心部に穴を掘って電車を通すと龍脈が乱れ国が傾く」と
風水師からの宣告があり、回避策として、国民に八卦図を持たせれば良いとの
ことでしたが、いろんな宗教の方がいる人たち全員に八卦図を持たせるわけにはいかず、
代わりに、コインにすれば全員持てるというアイデアでした。すばらしい!


2015年5月17日日曜日

Ingress 長距離リンク 失敗です。

Ingress 長距離リンク33km(私にとって長距離です。ベテランエージェントだと、なにそれですが。)を張ろうと思って、Ingress Intel Mapで確認して、電車&車で移動。
LINK張る段階で張れない><。MAPでは障害なかったはず。
でも、Ingress Intel Map見ると、ピンポイントで途中にLINKが形成されていました。朝にはなかったはずなのに、見落としたか。。


うわ!、見事にここだけピンポイントで被ってる。また今度トライします。