2012年3月アーカイブ

東京都中央区八重洲 2-4-6 にある RFID / NFC Real Touch Shop に行ってきました。

 

RFID/NFC Real Touch Shop

map.pngentrance.png

お店は、東京駅八重洲南口から徒歩数分のところにあります。

 

店内の様子

shop2.pngshop1.png

小さいお店ですが、たくさん商品が置かれています。

予備知識なしに行ったのですが、わからないことを聞くと、お店の方が丁寧に教えてくれました。

 

shop3.pngshop4.png

店内の色々なものにタグがつけられています(笑)。

 

店内で紹介されていた Android アプリ

NFC Quick Actions Free.png

 

NFC Task Launcher Free.png

 

unnamed.png

 

NFC HUNTER.png

 

NFCTagReader.png

 

購入したもの / もらったもの

(上図)上から順に、以下のものを購入しました!

  • Mifare UL(ユーザエリア:48byte、NDEFエリア:48byte) 20枚 1,000円
  • Mifare NTAG203(ユーザエリア:144byte、NDEFエリア:137byte) 20枚 1,200円 ・・・ おすすめ
  • タグ金属部を白で見えなくしたシールが張られたキャップx2 ・・・ おまけ?

 

今回購入したシールは、1万回以上?書き換えできるそうなので、

NFC の R/W できる Nexus S / Galaxy Nexus を使って、NFC アプリでも作ってみたいと思います^^

 

あわせて読みたい

google-io-logo.png

もうすぐ Google I/O 2012 の Registration が始まりますね。

 

ということで、昨年(2011)かかった費用の振り返り。

logo.png

 

Google I/O 2011 費用

  • 総額・・・265,402 円

<内訳>

内容 費用(円) 費用(USD) 備考
Google I/O 2011チケット 37,414円 $450 Early Bird price registration
宿泊費 24,028円   Expediaで予約、5/8-5/13(5泊)ルームシェア
航空券 111,222円   HIS、銀行振込手数料472円含む
ESTA 1,182円 $14
ESTA(再申請) 1,190円 $14
交通費(海外) / CLIPER 1,700円 $20 地下鉄(BART)で使用
交通費(海外) / MUNI PASSPORT 2,210円 $26 1週間乗り放題チケット
交通費(海外) / 現地でのレンタカー 1,847円   7人で割り勘
交通費(海外) / レンタルサイクル 2,975円 $35  
交通費(国内) / 京成SKY LINEAR 4,800円   日暮里-成田(往復)
交通費(国内) / JR 11,430円   某所-上野-日暮里(往復)
国際運転免許証 2,650円    
国際運転免許証写真 700円    
食費(海外) 6,960円   5/8-5/13、すぎもてさんには2回もおごってもらいました^^
食費(国内) 1,750円   5/8,5/13
保険 / 損保ジャパン契約 4,240円   新・海外旅行保険【off!】
通信費 / Mi-Fi 11,322円   本体1280円x7日+あんしんパック1,837 円+受け取り手数料525円
観光 / アルカトルナイトツアー 2,750円    
お土産 34,847円   このうち19,046円はGoogle Store
その他 185円 現地で歯ブラシ、歯磨き粉調達など

 

※入力不備(先頭2文字の英字が足りなかったの)で、搭乗2時間前にチェックインカウンターの前で、
 @zaki50さんにテザリングしてもらいつつ、ノパソ広げてエクストリーム再申請><

Galaxy Nexus は物理的にも幅があるので、ナビゲーションバーを 5 つボタンに変更し、

片手で操作できるように、ステータスバー開閉ボタンを追加しました。

この機能により、ナビゲーションバーからステータスバーの開閉(上げ下げ)ができます。

toggle_statusbat_button.png

※左から 『 戻る 』『 旧メニュー 』『 ホーム 』『 ステータスバー開閉 』『 最近使ったアプリ 』 ボタン

※Galaxy Nexus の幅は720 pixel、Density 2.0 なので、全幅は 360 dp

※幅いっぱいに、5 個のボタンを均等に配置すると、1ボタンあたり 72 dp(元々は 80 dp + パディング View)

 

変更点

※以下、android-4.0.3_r1/frameworks/base/packages/SystemUI のコード

 

  • res/drawable-hdp へステータスバー開閉用のボタンイメージを追加
    1. ic_sysbar_expand.png
    2. ic_sysbar_expand_land.png

ic_sysbar_expand.png ic_sysbar_expand_land.png

※上記のイメージを右クリックなどからダウンロードできます(透過で見えないため、ブログの背景色を変更しています)

 

  • src/com/android/systemui/statusbar/phone/NavigationBarView.java
    1. (他のボタンと同様に)ボタンへのアクセッサ追加(getExpandButton)
    2. ステータスバー開閉機能追加(expand, collapse)
    3. setDisabledFlags() に追加したボタンの表示状態を設定する処理を追加
    4. デバッグダンプ用コード追加(任意(以下では省略))
    public View getBackButton() {
        return mCurrentView.findViewById(R.id.back);
    }

    public View getHomeButton() {
        return mCurrentView.findViewById(R.id.home);
    }

// -> added for toggle statusbar (1)
    public View getExpandButton() {
        return mCurrentView.findViewById(R.id.expand);
    }
// <- added for toggle statusbar

// -> added for toggle statusbar (2)
    public void expand() {
        try {
            mBarService.expand();
        } catch (android.os.RemoteException ex) {
        }
    }
// <- added for toggle statusbar

// -> added for toggle statusbar (2)
    public void collapse() {
        try {
            mBarService.collapse();
        } catch (android.os.RemoteException ex) {
        }
    }
// <- added for toggle statusbar
    
    public void setDisabledFlags(int disabledFlags, boolean force) {
        if (!force && mDisabledFlags == disabledFlags) return;

        mDisabledFlags = disabledFlags;

        final boolean disableHome = ((disabledFlags & View.STATUS_BAR_DISABLE_HOME) != 0);
        final boolean disableRecent = ((disabledFlags & View.STATUS_BAR_DISABLE_RECENT) != 0);
        final boolean disableMyMenu = ((disabledFlags & View.STATUS_BAR_DISABLE_RECENT) != 0);
        final boolean disableBack = ((disabledFlags & View.STATUS_BAR_DISABLE_BACK) != 0);
// -> added for toggle statusbar (3)
        final boolean disableExpand = ((disabledFlags & View.STATUS_BAR_DISABLE_RECENT) != 0);
// <- added for toggle statusbar
    
        getBackButton()   .setVisibility(disableBack       ? View.INVISIBLE : View.VISIBLE);
        getHomeButton()   .setVisibility(disableHome       ? View.INVISIBLE : View.VISIBLE);
        getMyMenuButton()   .setVisibility(disableMyMenu       ? View.INVISIBLE : View.VISIBLE);
        getRecentsButton().setVisibility(disableRecent     ? View.INVISIBLE : View.VISIBLE);
// -> added for toggle statusbar (3)
        getExpandButton(). setVisibility(disableExpand     ? View.INVISIBLE : View.VISIBLE);
// <- added for toggle statusbar    
    }

 

  • src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
    1. ボタンクリック時にステータスバーを開閉するリスナー追加
    2. ナビゲーションバー初期化時にボタンクリック時のリスナー設定
 private View.OnClickListener mRecentsClickListener = new View.OnClickListener() {
        public void onClick(View v) {
            toggleRecentApps();
        }
    };

// -> added for toggle statusbar (1)
    private View.OnClickListener mExpandClickListener = new View.OnClickListener() {
        public void onClick(View v) {
            if (!mAnimating) {
                if (mExpanded) {
                    mNavigationBarView.collapse();
                } else {
                    mNavigationBarView.expand();
                }
            }
        }
    };
// <- added for toggle statusbar

    private void prepareNavigationBarView() {
        mNavigationBarView.reorient();

        mNavigationBarView.getRecentsButton().setOnClickListener(mRecentsClickListener);
        mNavigationBarView.getRecentsButton().setOnTouchListener(mRecentsPanel);
// -> added for toggle statusbar (2)
        mNavigationBarView.getExpandButton().setOnClickListener(mExpandClickListener);
// <- added for toggle statusbar
    }

    // For small-screen devices (read: phones) that lack hardware navigation buttons
    private void addNavigationBar() {
        if (mNavigationBarView == null) return;

 

  • res/layout/navigation_bar.xml
  1. ナビゲーションバーに新規ボタン追加(android:id="@+id/expand")
  2. ナビゲーションバーのボタン幅を 80dp から 72 dp に変更(72dp x 5 = 360dp = 画面幅)
  3. ナビゲーションバーの空きスペースを埋めるための View を削除
    <FrameLayout android:id="@+id/rot0"
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        >

        <LinearLayout
            android:layout_height="match_parent"
            android:layout_width="match_parent"
            android:orientation="horizontal"
            android:clipChildren="false"
            android:clipToPadding="false"
            android:id="@+id/nav_buttons"
            android:animateLayoutChanges="true"
            >

            <!-- navigation controls -->
<!-- changed 80dp to 72dp (2) -->
            <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/back"
                android:layout_width="72dp"
                android:layout_height="match_parent"
                android:src="@drawable/ic_sysbar_back"
                systemui:keyCode="4"
                android:layout_weight="0"
                systemui:glowBackground="@drawable/ic_sysbar_highlight"
                android:contentDescription="@string/accessibility_back"
                />
<!-- comment out (3)
            <View 
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:visibility="invisible"
                />
-->
<!-- changed 80dp to 72dp (2) -->
            <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/mymenu"
                android:layout_width="72dp"
                android:layout_height="match_parent"
                android:src="@drawable/ic_sysbar_menu"
                systemui:keyCode="82"
                android:layout_weight="0"
                systemui:glowBackground="@drawable/ic_sysbar_highlight"
                android:contentDescription="@string/accessibility_menu"
                />
<!-- comment out (3)
            <View 
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:visibility="invisible"
                />
-->
<!-- changed 80dp to 72dp (2) -->
            <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/home"
                android:layout_width="72dp"
                android:layout_height="match_parent"
                android:src="@drawable/ic_sysbar_home"
                systemui:keyCode="3"
                systemui:keyRepeat="false"
                android:layout_weight="0"
                systemui:glowBackground="@drawable/ic_sysbar_highlight"
                android:contentDescription="@string/accessibility_home"
                />
<!-- comment out (3)
            <View 
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:visibility="invisible"
                />
-->
<!-- added (1) -->
            <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/expand"
                android:layout_width="72dp"
                android:layout_height="match_parent"
                android:src="@drawable/ic_sysbar_expand"
                android:layout_weight="0"
                systemui:glowBackground="@drawable/ic_sysbar_highlight"
                />
<!-- changed 80dp to 72dp (2) -->
            <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/recent_apps"
                android:layout_width="72dp"
                android:layout_height="match_parent"
                android:src="@drawable/ic_sysbar_recent"
                android:layout_weight="0"
                systemui:glowBackground="@drawable/ic_sysbar_highlight"
                android:contentDescription="@string/accessibility_recent"
                />
<!-- comment out (3)
            <View 
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:visibility="invisible"
                />
-->
        </LinearLayout>

            ・・・

        <View android:id="@+id/deadzone"
            android:layout_height="@dimen/navigation_bar_deadzone_size"
            android:layout_width="match_parent"
            android:layout_gravity="top"
            android:clickable="true"
            />
    </FrameLayout>

    <FrameLayout android:id="@+id/rot90"
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        android:visibility="gone"
        android:paddingTop="0dp"
        >

        <LinearLayout 
            android:layout_height="match_parent"
            android:layout_width="match_parent"
            android:orientation="vertical"
            android:clipChildren="false"
            android:clipToPadding="false"
            android:id="@+id/nav_buttons"
            android:animateLayoutChanges="true"
            >
            
            <!-- navigation controls -->
<!-- changed 80dp to 72dp (2) -->
            <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/recent_apps"
                android:layout_height="72dp"
                android:layout_width="match_parent"
                android:src="@drawable/ic_sysbar_recent_land"
                android:layout_weight="0"
                android:contentDescription="@string/accessibility_recent"
                systemui:glowBackground="@drawable/ic_sysbar_highlight_land"
                />
<!-- added (1) -->
            <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/expand"
                android:layout_height="72dp"
                android:layout_width="match_parent"
                android:src="@drawable/ic_sysbar_expand_land"
                android:layout_weight="0"
                systemui:glowBackground="@drawable/ic_sysbar_highlight_land"
                />
<!-- comment out (3)
            <View 
                android:layout_height="match_parent"
                android:layout_width="match_parent"
                android:layout_weight="1"
                android:visibility="invisible"
                />
-->
<!-- changed 80dp to 72dp (2) -->
            <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/home"
                android:layout_height="72dp"
                android:layout_width="match_parent"
                android:src="@drawable/ic_sysbar_home_land"
                systemui:keyCode="3"
                systemui:keyRepeat="false"
                android:layout_weight="0"
                android:contentDescription="@string/accessibility_home"
                systemui:glowBackground="@drawable/ic_sysbar_highlight_land"
                />
<!-- comment out (3)
            <View 
                android:layout_height="match_parent"
                android:layout_width="match_parent"
                android:layout_weight="1"
                android:visibility="invisible"
                />
-->
<!-- changed 80dp to 72dp (2) -->
            <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/mymenu"
                android:layout_height="72dp"
                android:layout_width="match_parent"
                android:src="@drawable/ic_sysbar_menu_land"
                systemui:keyCode="82"
                android:layout_weight="0"
                android:contentDescription="@string/accessibility_menu"
                systemui:glowBackground="@drawable/ic_sysbar_highlight_land"
                />
<!-- comment out (3)
            <View 
                android:layout_height="match_parent"
                android:layout_width="match_parent"
                android:layout_weight="1"
                android:visibility="invisible"
                />
-->
<!-- changed 80dp to 72dp (2) -->
            <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/back"
                android:layout_height="72dp"
                android:layout_width="match_parent"
                android:src="@drawable/ic_sysbar_back_land"
                systemui:keyCode="4"
                android:layout_weight="0"
                android:contentDescription="@string/accessibility_back"
                systemui:glowBackground="@drawable/ic_sysbar_highlight_land"
                />
<!-- comment out (3)
            <View 
                android:layout_height="match_parent"
                android:layout_width="match_parent"
                android:layout_weight="1"
                android:visibility="invisible"
                />
-->
        </LinearLayout>

 

1

2016年8月

  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31