ゲーム パフォーマンス: 頂点配列オブジェクト
2015年11月27日金曜日
KeyPairGenerator.getInstance(KeyProperties.KEY_ALGORITHM_EC, "AndroidKeyStore"); keyPairGenerator.initialize( new KeyGenParameterSpec.Builder(KEY_NAME, KeyProperties.PURPOSE_SIGN) .setDigests(KeyProperties.DIGEST_SHA256) .setAlgorithmParameterSpec(new ECGenParameterSpec("secp256r1")) .setUserAuthenticationRequired(true) .build()); keyPairGenerator.generateKeyPair();
.setUserAuthenticationRequired(true) に注目してください。このメソッドを呼ぶことにより、秘密鍵を使用する前に、登録した指紋の認証を強制できるようになります。
KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore"); keyStore.load(null); PublicKey publicKey = keyStore.getCertificate(MainActivity.KEY_NAME).getPublicKey(); KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore"); keyStore.load(null); PrivateKey key = (PrivateKey) keyStore.getKey(KEY_NAME, null);
boolean enroll(String userId, String password, PublicKey publicKey);
Signature.getInstance("SHA256withECDSA"); KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore"); keyStore.load(null); PrivateKey key = (PrivateKey) keyStore.getKey(KEY_NAME, null); signature.initSign(key); CryptoObject cryptObject = new FingerprintManager.CryptoObject(signature); CancellationSignal cancellationSignal = new CancellationSignal(); FingerprintManager fingerprintManager = context.getSystemService(FingerprintManager.class); fingerprintManager.authenticate(cryptoObject, cancellationSignal, 0, this, null);
Signature signature = cryptoObject.getSignature(); // Include a client nonce in the transaction so that the nonce is also signed // by the private key and the backend can verify that the same nonce can't be used // to prevent replay attacks. Transaction transaction = new Transaction("user", 1, new SecureRandom().nextLong()); try { signature.update(transaction.toByteArray()); byte[] sigBytes = signature.sign(); // Send the transaction and signedTransaction to the dummy backend if (mStoreBackend.verify(transaction, sigBytes)) { mActivity.onPurchased(sigBytes); dismiss(); } else { mActivity.onPurchaseFailed(); dismiss(); } } catch (SignatureException e) { throw new RuntimeException(e); }
@Override public boolean verify(Transaction transaction, byte[] transactionSignature) { try { if (mReceivedTransactions.contains(transaction)) { // It verifies the equality of the transaction including the client nonce // So attackers can't do replay attacks. return false; } mReceivedTransactions.add(transaction); PublicKey publicKey = mPublicKeys.get(transaction.getUserId()); Signature verificationFunction = Signature.getInstance("SHA256withECDSA"); verificationFunction.initVerify(publicKey); verificationFunction.update(transaction.toByteArray()); if (verificationFunction.verify(transactionSignature)) { // Transaction is verified with the public key associated with the user // Do some post purchase processing in the server return true; } } catch (NoSuchAlgorithmException | InvalidKeyException | SignatureException e) { // In a real world, better to send some error message to the user } return false; }
![]() |
作品名: | 3 目並べ(機械学習) |
| 展示者: | Springwater | |
| 概要: |
|
|
![]() |
作品名: | X Sound |
| 展示者: | rilakkuma3xjapan (池田友洋) | |
| 概要: |
X Sound は Web Audio API、Web MIDI API、 WebRTC など Chrome をフルに活用した Web アプリケーションです。 サウンドの生成、 ワンショットオーディオの再生、楽曲の再生はもちろんのこと、10 種類以上のエフェクターや波形描画、録音、セッション機能などを搭載しています。また、オーディオインターフェースからの入力や、MIDI 入力も可能となっています。 |
|
| 作品名: | 受付ペパさん | |
| 展示者: | Wachuu 合同会社 | |
| 概要: |
最高の受付システム。Google Apps, Google Calendar との連携を可能にしたことにより、アポイント管理から会議室管理まですることができる受付ペパさん。 「田中様ですね。山本が首を長くしてお待ちしておりました!ただいま呼び出しますね!少々お待ちください。」 「ペパさん!空いてる会議室ある?」ー>「第三会議室が空いてるよッ!」 貴方の会社に受付嬢ならぬ、受付ペパさんがくるのも時間の問題かも! |
|
| 作品名: | シャンパンタワー | |
| 展示者: | Saltylab.jp | |
| 概要: |
7 色にグラスの色が変化するシャンパンタワーです。スマートフォンから色をコントロールし、様々な色の表情を作り出すことができます。 幻想的な光を楽しんでいただけたらと思います! |
|
![]() |
作品名: | ペッパーソナル・トレーナー |
| 展示者: | BOB (野村有加・太田悠) | |
| 概要: |
彼はあなたの個人トレーナー。あなたの運動量や健康状態を把握し、運動不足な時は Pepper のセンサーを使った運動を提案します。運動量・健康状態の測定は Fitbit と連携することで実現しています。 1 人では怠けてしまうあなたでも Pepper が目標達成をサポートします! |
|
![]() |
作品名: | VR でリアル体験レースジョッキー |
| 展示者: | LeapMotion Developers JP | |
| 概要: |
LeapMotion と Raspberry Piでダービーロボ、Arduino でロデオボーイを動かしつつ、Web カメラとスマートフォンを活用した VR によってリアリティのある競馬のジョッキーを没入体験していただきます。Cardboard で楽しむこともできます。 |
|
![]() |
作品名: | ぷろとろいど君 |
| 展示者: | eegoziila | |
| 概要: |
Android の専用アプリに声をかけると歩いたりします。 また搭載された WebCam からはスマホから2眼で見ることができ Cardboard で VR 的にロボットの光景を楽しむことができます。 |
|
![]() |
作品名: | Android スマホでリモコン ちっちゃい LEGO モーター れごも |
| 展示者: | ちっちゃいものくらぶ | |
| 概要: | LEGO で組んだメカに「れごも」をエンジンとして載せて、Androidから操縦!Android から Bluetooth で 2 モーターと 3LED をコントロール。 2×4 ポッチ LEGO ブロックサイズに、ギアモータ 2 個、コントローラ、充電池を詰込み、アプリは Appinventor2 で記述、ソース、オブジェクトや回路図はウエブ公開中 | |
![]() |
作品名: | Web サイトで動かす電子デバイス |
| 展示者: | @ryoyakawai、@tadfmac | |
| 概要: | Chrome に実装されている Web MIDI API を使い、楽器のみならず電子デバイスも制御してしまおうという趣旨の展示です。今回の電子デバイスとは主に Arduino を使った電子工作物が対象です。また、Web サイトを作る感覚で、アルゴリズムを実装できてしまうツール(Web-Arduino)の展示も行います。 | |
![]() |
作品名: | 3D Radio Spectrum Viewer |
| 展示者: | TT@北海道 | |
| 概要: | USB ワンセグチューナで作った Radio Spectrum Viewer です。ダイナミックに変化する電波の形を、3D で鑑賞できます。ぐるぐる回して、時間軸と周波数軸の動きを両面から観察してみてください。
ChromeApp として動作しています。 使用ライブラリ:Chrome Radio Receiver Extension、Three.js、jsfft |
|
![]() |
作品名: | DARTS MAP |
| 展示者: | 田島真悟 | |
| 概要: | DARTS MAP は、スマートフォンとパソコンがあるだけで世界中を飛び回る体験ができるコンテンツです。Google が提供する Street View を、スマートフォンの加速度センサとコンパス機能を使って直感的にコントロールできるようにしました。今まではマウスやタッチ操作で触っていた Street View も、操作方法をガラリと変えることで、全く違った体験になるでしょう。 | |
![]() |
作品名: | voice recognition robot (Delon kun) powered by Android phone |
| 展示者: | 今岡通博 | |
| 概要: | 2009 年に生まれたドロンくんは、まだクラウド・ロボティクスという言葉がなかった時代にそのコンセプトを具現化したものでした。音声認識の様な多大なコンピューターリソースを必要な機能をインターネットで接続可能な Google 音声認識サービスを利用することで、手に乗る大きさで音声認識ロボットを実現しています。また Android デバイスを外部機器と制御する安価な手段がなかった時代に DTMF を用いることでそれを実現しています。 | |
![]() |
作品名: | Pirouette (ピルエット) |
| 展示者: | 有限会社アドリブ kabayan | |
| 概要: | Pirouette(ピルエット)は Android タブレットを使い、360 度あらゆる方向から同じ画面を見ることができる回転型ディスプレイです。 | |
| 作品名: | きらきライト | |
| 展示者: | 飯島幸太 (@carcon999) | |
| 概要: | 今の季節に最適!夜が待ち遠しくなるイルミネーションコントローラ『きらきライト』を展示します。LED を使った演出を試してみたい自作派のあなたにピッタリのガジェットです。今回それを利用した応用例を多数展示します。実際に触れられる展示を考えておりますので、この機会にぜひお立ち寄りください。世相ブラ(トリンプヒロイン戦士ブラ)にも採用されたバーサライトも展示します。近日クラウドファンディング予定。 |
|
![]() |
作品名: | Android-USB 赤外線アダプタ いちごあめ、WebRTC Gateway |
| 展示者: | tnoho | |
| 概要: | ■いちごあめ: Android の USB ホスト機能を用いて、赤外線通信機能の無い Android 端末で赤外線通信搭載のフィーチャーフォンなどとの赤外線通信を可能とする自作アダプタ。 赤外線リモコンとしても機能する。 ■WebRTC Gateway: Chromium の一部である WebRTC Native Client を Raspberry Pi 2 で動くようにした、動画送信デバイス。 |
|
| 作品名: | きらりんりん | |
| 展示者: | ほえん | |
| 概要: | 今年ももう師走ですね。 寒くなってきましたが、師走の楽しみと言えば、やはりクリスマスです。 きらりんりんは、ちょっと変わったクリスマスツリーです。Android 携帯で、イルミネーションを操作できます! イルミネーションのキラキラを、携帯電話のリンリンで操作するのできらりんりんです。みなさん、よろしくね! |
|
| 作品名: | どこでもコンパニオン | |
| 展示者: | 大阪ペッパー友の会 | |
| 概要: | 独りカラオケの時に、ペッパーがコンパニオンとなってくれるアプリです。ペッ パー同士が繋がって、カラオケシーンを盛り上げてくれて、ユーザーの人間も ペッパーの繋がりの輪の中には入っていきたくなります。YouTube ライブ配信によって遠方の友人/家族とも繫がれるので、ペッパーが同伴者というだけではな く、自分にとって大切なヒトとも一緒になれるという意味で「どこでもコンパニオン」という名前を付けました。 | |
![]() |
作品名: | Maestoro --スマートメトロノームシステム-- |
| 展示者: | AID 白鳥、binary lab 大谷 | |
| 概要: | ドラムパターンと照明の点灯タイミングを CSV ファイルから入力。 従来、音でしかタイミングを合わせられなかったメトロノームに光など、様々な要素を付与!ドラムマシン、照明管理システムとしても使える! Sphero スマートトイ(ボール型ラジコン)が独特(笑)のライブパフォーマンスをしてくれます。 |
|
![]() |
作品名: | pepper ホームラン競争 |
| 展示者: | プロトコーポレーション R&D ラボ | |
| 概要: | Pepper が投げる!君が打つ! どこまで遠くにボールを飛ばせるか!? ホームラン競争に挑戦!! |
|
| 作品名: | つぶ田くん | |
| 展示者: | 小林 豊(GDG信州) | |
| 概要: | 田んぼや畑の様子を定点観測してくれる IoT デバイスです。撮影したカメラ画像や気温・湿度をツイッターで呟いてくれます。設定は Google スプレットシート上で行うので、いつでも設定が可能です。 | |
![]() |
作品名: | ボクスケ VR |
| 展示者: | 株式会社カブク | |
| 概要: | 3D プリントできるドット絵アプリ「ボクスケ」を Google Cardboard 対応にしました。3D プリンタで作成した専用コントローラを使用して仮想空間内での 3D おえかきをお楽しみください。 | |
![]() |
作品名: | 言葉の色 |
| 展示者: | 氏田雄介 | |
| 概要: | Google 先生、「愛」はどんな色ですか? 「言葉の色」は、「Google が言葉に対してどんな色を思い浮かべるのか?」を明らかにする試みです。 Google 画像検索の結果から画像を非表示にすると、画像の特徴的な色だけが表示されることを利用しています。 例えば、「海」と「空」の青色を見比べたりできるだけではなく、「愛」と「恋」や「戦争」と「平和」など形のないものの色を見たりすることもできます。 |
|
![]() |
作品名: | Ping - a feeling sonar |
| 展示者: | TAKETOSHI KAMADA - omoroki KENICHI NAOE - zukan |
|
| 概要: | Ping(ピング)は同じ気持ちの人を探すための iOS アプリです。 今の気持ち、思いつきの言葉を 4 文字の制限内で発信してみると、同じことばを発信している人が出てきます。距離で絞ることもできます。 同じ人と何回か共振すると、その人が登録してるものが少しずつ見られるように なります。 何を発信したかは、同じことを発信した人にしか知られません。 今の気持ちやフリーワードで自由に探索してみてください。 |
|
| 作品名: | Kenzan-Go(盲ろう者のために作られた、Android の統合アクセシビリティサービス) | |
| 展示者: | ヘレンケラーシステムプロジェクト | |
| 概要: | Kenzan-Go とは、ヘレンケラーが飼っていた日本の秋田犬の名前です。 Android には視覚障害者のために Talkback という仕組みがありますが、Kenzan-Go はさらに耳も聞こえない障害を持たれた方(盲ろう者)のために作られた、Android の統合アクセシビリティサービスです。 |
|
| 作品名: | Google Spread Sheet と IoT 用オープンプラットフォーム「Lazurite」で温度・湿度・気圧をモニタリング | |
| 展示者: | ラピスセミコンダクタ株式会社 新規事業開拓プロジェクト | |
| 概要: | 電池で動く超消費電力マイコンボード Lazurite Sub-GHzに温度・湿度・気圧センサーを接続して、920MHz の無線でセンサーの値を送信します。 Raspberry Pi で 920MHz 無線を受信できるようにしたゲートウェイで、センサーの値を受信して、Google スプレッドシートにデータを保存することで、簡単な IoT システムを実現しました。作り方やソフトウエアは、ブログにて公開中です。 |
|
| 作品名: | LiveNote | |
| 展示者: | Tam | |
| 概要: | Google Drive の RealTime API を用い、筆跡情報を共有することによって、複数の人の間でリアルタイムに共同でメモが書ける Web アプリケーションです。 Google Drive を利用しているので、ブラウザさえあればどこからでも参照でき、細かな共有設定も可能となっています。 |
|
![]() |
作品名: | BlocklyDuino Editor |
| 展示者: | 岡田裕行 | |
| 概要: | Scratch のようにブロックを組み合わせることで Arduino をプログラミングできるエディタです。エディタには、オンライン版と Chrome アプリ版があり、このうち Chrome アプリ版は Arduino IDE の外部エディタとして機能します。また、サンプルサイト(Let's Make Arduino!)と連動しており、サンプルコードをエディタに簡単に展開することができます。 |
|
![]() |
作品名: | RasPi bot を Google クラウドでかしこくしてみた |
| 展示者: | Google Inc 佐藤一憲 | |
| 概要: | GoPiGo という Raspberry Pi 搭載のボットに、Google Cloud Platform の新しいサービスを組み合わせて、ちょっと賢くしてみました。 |
|
![]() |
作品名: | FakeRift、taovisor、PocketVR |
| 展示者: | 日本 Android の会 VR 部・金沢支部 | |
| 概要: | 日本 Android の会 VR 部と金沢支部は、Android 端末を使い、誰もが安価に使える Cardboard 互換のカジュアル VR ゴーグルを開発してます。臨場感マシマシの 100 均パーツで作るタブレット向けの"FakeRift"、眼鏡をかけてもOK で個人にフィットした最適な VR 体験を提供する"taovisor"、カードサイズで持ち運び簡単な"PocketVR"、是非体験してみてください。また、 Android を使って VR アプリの作成を行うハンズオンを全国各地で開催しています。 |
|
![]() |
作品名: | てきめんラジコン |
| 展示者: | てきめん | |
| 概要: | Android から Arduino で作ったクローラー(キャタピラ)のおもちゃを操作します。 外側はただのおもちゃですが、Android で制御することによって、声で指示できたり、細かい命令を送ったり、まるで高度な"アンドロイド"のように動きます! |
|
![]() |
作品名: | g の天秤 |
| 展示者: | 中田裕士(電化美術) | |
| 概要: | g の天秤はネットワーク連動のインスタレーションアートです。 天秤の左右の皿に液晶ディスプレイが載っています。それぞれの画面には一定時間ごとに、8 か国語の中からランダムに選ばれる人間の評価に関わることばと、そのことばの Google での検索ヒット数が表示されます。 都度リアルタイムに取得される検索ヒット数 1 件を 1 グラムに見立て、ことばの重みをフィジカルな天秤の傾きによって視覚化します。 |
|
![]() |
作品名: | AGRA Light |
| 展示者: | Abidarma Inc. / Spline Design Hub | |
| 概要: | AGRA Light は Android で制御できる家庭用のムービングライトです。ライトの向きや照度を簡単にコントロールできます。 2016 年早々にクラウドファンディングに出品予定です。 |
|
![]() |
作品名: | Android 音声で LED パネル |
| 展示者: | 有限会社 シー・エス・ディー やましょう | |
| 概要: | アンドロイド端末に話しかけることにより、その言葉が LED パネルに表示されます。 音声入力を使用し、簡単に LED パネルに表示できます。 |
|
![]() |
作品名: | Android で音声合成 IC を動かす |
| 展示者: | 有限会社 シー・エス・ディー | |
| 概要: | アンドロイド端末より、Arduino 基板の USB-232C 変換機能と音声合成 IC を用いて音声を発生させています。 これは弊社製の UNI232C 通信コンポーネントを使用する事で、232C 変換 IC のメーカーを気にすることなくアプリケーションソフトが作成できる一例です。 |
|
![]() |
作品名: | クラウド レコーディングカメラ Safie |
| 展示者: | セーフィー株式会社 | |
| 概要: | カメラがネットにつながって、クラウドに 24 時間 HD の動画を録画します。 スマートフォンから、いつでも・どこからでも、リアルタイムの映像と過去の映像を手軽に行き来することができる、そんなサービスを提供しています。 |
| 時間 | 講演者 | タイトル | 概要 |
|---|---|---|---|
| 14:00 - 14:15 | 河野悦昌 | モバイルピザ窯 DELive | Raspberry Pi を使ってピザを焼こう! どこでも簡単に組み立てられる石窯を開発。ssh でログインしてヒーターのプログラム。Android でモニターなど自由自在! |
| 4:20 - 14:35 | 田島真悟 | DARTS MAP | DARTS MAP は、スマートフォンとパソコンがあるだけで世界中を飛び回る体験ができるコンテンツです。Google が提供する Street View を、スマートフォンの加速度センサとコンパス機能を使って直感的にコントロールできるようにしました。今まではマウスやタッチ操作で触っていた Street View も、操作方法をガラリと変えることで、全く違った体験になるでしょう。 |
| 14:40 - 14:55 | てきめん | てきめんラジコン | Android から Arduino で作ったクローラー(キャタピラ)のおもちゃを操作します。 外側はただのおもちゃですが、Android で制御することによって、声で指示できたり、細かい命令を送ったり、まるで高度な"アンドロイド"のように動きます! |
| 15:00 - 15:15 | BOB (野村有加・太田悠) | ペッパーソナル・トレーナー | 彼はあなたの個人トレーナー。あなたの運動量や健康状態を把握し、運動不足な時は Pepper のセンサーを使った運動を提案します。運動量・健康状態の測定は Fitbit と連携することで実現しています。 1 人では怠けてしまうあなたでも Pepper が目標達成をサポートします! (Pepper App Challenge 2015 Winter ベストライフスタイル賞 受賞作品) |
| 5:20 - 15:35 | 日本 Android の会 金沢支部・VR 部 きんねこ | カジュアル VR にボタンとポジショントラッキングを追加する案 | 日本 Android の会 VR 部と金沢支部は、Android 端末を使い、誰もが安価に使える Cardboard 互換のカジュアル VR ゴーグルを開発してます。臨場感マシマシの 100 均パーツで作るタブレット向けの"FakeRift"、眼鏡をかけても OK で個人にフィットした最適な VR 体験を提供する"taovisor"、カードサイズで持ち運び簡単な"PocketVR"、是非体験してみてください。また、Android を使って VR アプリの作成を行うハンズオンを全国各地で開催しています。次期バージョンとして、jagovisor を開発していますが、そこで改善する予定の2つの機能について説明します。 |
| 15:40 - 15:55 | 今岡通博 | 音声認識ロボット・ドロンくん | 2009 年に生まれたドロンくんはまだクラウド・ロボティクスという言葉がなかった時代にそのコンセプトを具現化したものでした。音声認識の様な多大なコンピューターリソースを必要な機能をインターネットで接続可能な Google 音声認識サービスを利用することで、手に乗る大きさで音声認識ロボットを実現しています。また Android デバイスを外部機器と制御する安価な手段がなかった時代に DTMF を用いることでそれを実現しています。 |
| 6:00 - 16:15 | @ryoyakawai, @tadfmac | Web サイトで動かす電子デバイス | Chrome に実装されている Web MIDI API を使い、楽器のみならず電子デバイスも制御してしまおうという趣旨の展示です。今回の電子デバイスとは主に Arduino を使った電子工作物が対象です。また、Web サイトを作る感覚で、アルゴリズムを実装できてしまうツール(Web-Arduino)の展示も行います。 |
| 16:20 - 16:35 | 氏田雄介 | 言葉の色 | 【 Google 先生、「愛」はどんな色ですか?】 「言葉の色」は、「Google が言葉に対してどんな色を思い浮かべるのか?」を明らかにする試みです。 Google 画像検索の結果から画像を非表示にすると、画像の特徴的な色だけが表示されることを利用しています。 例えば、「海」と「空」の青色を見比べたりできるだけではなく、「愛」と「恋」や「戦争」と「平和」など形のないものの色を見たりすることもできます。 |
| 16:40 - 16:55 | 岡田裕行 | BlocklyDuino Editor | Scratch のようにブロックを組み合わせることで Arduino をプログラミングできるエディタです。エディタには、オンライン版と Chrome アプリ版があり、このうち Chrome アプリ版は Arduino IDE の外部エディタとして機能します。また、サンプルサイト(Let's Make Arduino!)と連動しており、サンプルコードをエディタに簡単に展開することができます。 |
| 17:00 - 17:15 | 株式会社カブク あんどうやすし | ボクスケ - ゆきてかえりしウェブアプリ | 3D プリントできるドット絵アプリ「ボクスケ」を実験的に Google Cardboard 対応にしました。その目指したところと利用した技術について簡単に話します。あとデモ。あ、あと人材募集も。 |
| 17:20 - 17:35 | セーフィー株式会社 | クラウド レコーディングカメラ Safie | カメラがネットにつながって、クラウドに 24 時間HDの動画を録画する。 スマートフォンから、いつでも・どこからでも、リアルタイムの映像と過去の映像を手軽に行き来することができる、そんなサービスを提供しています。 |
| 7:40 - 17:55 | Google Inc 佐藤一憲 | RasPi botを Google クラウドでかしこくしてみた | GoPiGo という Raspberry Pi 搭載のボットに、Google Cloud Platform の新しいサービスを組み合わせて、ちょっと賢くしてみました。 |

private Intent createProcessTextIntent() { return new Intent() .setAction(Intent.ACTION_PROCESS_TEXT) .setType("text/plain"); }
private ListgetSupportedActivities() { PackageManager packageManager = mTextView.getContext().getPackageManager(); return packageManager.queryIntentActivities(createProcessTextIntent(), 0); }
public void onInitializeMenu(Menu menu) { // Start with a menu Item order value that is high enough // so that your "PROCESS_TEXT" menu items appear after the // standard selection menu items like Cut, Copy, Paste. int menuItemOrder = 100; for (ResolveInfo resolveInfo : getSupportedActivities()) { menu.add(Menu.NONE, Menu.NONE, menuItemOrder++, getLabel(resolveInfo)) .setIntent(createProcessTextIntentForResolveInfo(resolveInfo)) .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); } }
resolveInfo.loadLabel(mPackageManager);
private Intent createProcessTextIntentForResolveInfo(ResolveInfo info) { return createProcessTextIntent() .putExtra(Intent.EXTRA_PROCESS_TEXT_READONLY, ! mTextView.isTextEditable()) .setClassName(info.activityInfo.packageName, info.activityInfo.name); }デフォルトの Android テキスト選択機能を使用していない場合、コードを 2~3 行追加するだけでアプリのテキスト選択メニューに翻訳オプションを追加できます。ユーザーが翻訳対象となるテキストを作成する場合、翻訳アプリの起動時にアプリで選択したままにしておく必要があることに注意してください。