絵文字パッケージ対応IME開発ガイド
|
|
|
- けいざぶろう こいまる
- 7 years ago
- Views:
Transcription
1 絵文字パッケージ対応 IME 開発ガイド Ver オムロンソフトウェア株式会社 2012/12/3 Copyright (C) OMRON SOFTWARE Co., Ltd All Rights Reserved.
2 目次 1. 本ドキュメントについて 5 2. 参照資料 参照ドキュメント 5 3. 略語 記号の定義 5 4. 機能概要 6 5. 構成 6 6. 絵文字パッケージ 絵文字パッケージでできること 絵文字パッケージの機能レベル 絵文字パッケージのI/F 8 7. Application Programming Interface 入力 / 表示シーケンス 9 8. デコメ絵文字 Data Interface デコメ絵文字の定義 デコメ絵文字の登録と削除 登録先ディレクトリ IMEとの関係 IME Interface キャリア絵文字入力 I/F(A 機能 ) デコメ絵文字一覧入力 I/F(B 機能 ) デコメ絵文字予測 / 変換 I/F(C 機能 ) 実装手順 IME からの絵文字パッケージ利用手順 IMEのキャリア絵文字一覧入力機能追加 IMEのキャリア絵文字予測 / 変換入力対応 IMEのデコメ絵文字一覧起動 入力の追加 デコメ絵文字一覧の起動 入力されたデコメ絵文字の伝送 19 Copyright (C) OMRON SOFTWARE Co., Ltd All Rights Reserved.
3 10.4. IMEのデコメ絵文字予測 / 変換入力対応 候補画面の表示 TextView をEmojiAssist に組込み 絵文字表示を可能にする 候補画面にデコメ絵文字を表示する 入力フィールドの絵文字属性判定 キャリア絵文字入力許可フラグ (allowemoji) デコメ絵文字入力許可フラグ (allowdecoemoji) 一覧表示の順序制御 実装手順 デコメ絵文字読み情報更新手順 デコメ絵文字読み情報更新手順 (ContentProviderインタフェース) デコメ絵文字読み情報更新手順 (aidlインタフェース) デコメ絵文字辞書情報更新の基本手順 シーケンス図 実装手順 デコメ絵文字の一覧表示の更新 一覧表示アプリケーションの表示更新 実装手順 IME に関する付加情報 Android Framework 全画面モード時の既存不具合対応 スリープ時の注意事項 対応策 ( アクティビティアプリケーション向け ) 対応策 ( サービスアプリケーション向け (IME を含む )) API インタフェース仕様 TextView/EditText( 絵文字入力の有効化 ) EmojiAssistクラス インスタンス取得 TextView 登録 TextView 削除 TextView 全削除 アニメーション開始 アニメーション停止 デコメ絵文字 Span 設定 デコメ絵文字 Span 設定 ( 拡張版 ) 絵文字データ取得 ExtractEditText 差し替え 入力文字列の絵文字有無判定 デコメ絵文字 pop 識別子表示 デコメ絵文字 pop 識別子表示可否設定取得 デコメピクチャ拡縮表示設定 46 Copyright (C) OMRON SOFTWARE Co., Ltd All Rights Reserved.
4 14.3. DecoEmojiSpanクラス URI 取得 幅取得 高さ取得 デコメ絵文字 pop 識別子取得 デコメピクチャ判定 EmojiDrawableクラス 絵文字判定 絵文字判定 ( コード ) 絵文字一覧アプリDecoEmojiList Intent 起動 返値取得 絵文字マネージャDecoEmojiManager 絵文字マネージャのサービス (aidl) インタフェースのAPI 利用クラス 定数 DecoEmojiManager 発行インテント 絵文字マネージャDecoEmojiManager (Content Provider) インタフェース 絵文字パッケージで提供する Content Provider 機能 前提条件 取得モード一覧および取得データ一覧 使用方法 取得データ詳細 取得モード詳細 利用クラス (DecoEmojiContractクラス) 定数 例外 Data Format デコメ絵文字フォーマット GIF ファイルフォーマット デコメ絵文字 popファイルの判定方法 JPEG ファイルフォーマット 付加情報定義フォーマット 付加情報の詳細 付加情報フォーマットDTD( 参考 ) 付加情報文字列の上限 付加情報文字列の文字コード 付加情報文字列の分割 日本語向け品詞一覧 91 Copyright (C) OMRON SOFTWARE Co., Ltd All Rights Reserved.
5 1. 本ドキュメントについて 本ドキュメントは Android PF 上で絵文字の入力 表示を可能にするソリューション 絵文字パッケージ と連携する機能を IME に組み込むためのガイド ( 手引書 ) です 本ガイドに沿って作成された IME では キャリア絵文字 デコメ絵文字の一覧選択入力および予測 / 変換入力と表示を行うことが可能となります 2. 参照資料 2.1. 参照ドキュメント 3. 略語 記号の定義 IMF IME 絵文字キャリア絵文字デコメ絵文字デコメピクチャデコメコンテンツ Input Method Framework Input Method Editor キャリア絵文字とデコメ絵文字の総称 携帯電話事業者ごとに定められた 文字コードを持つ絵文字 文章中にキャリア絵文字と同様に用いられる画像 携帯電話事業者により様々な呼称があるが 本書では代表して デコメ絵文字 と呼ぶ 文章中に挿入される自由なサイズの画像 デコメ絵文字 デコメピクチャなどの画像ファイルの総称 デコメ デコメ絵文字 デコメピクチャ は 株式会社 NTT ドコモの登録商標です Copyright (C) OMRON SOFTWARE Co., Ltd All Rights Reserved. 5
6 4. 機能概要 絵文字パッケージは Android プラットフォームに 携帯電話で普及している絵文字 ( キャリア絵文字およびデコメ絵文字 ) の入力と表示の機能を加えるソリューションです 標準的な Android プラットフォームにこのパッケージをインストールすることによって アプリケーションに共通の絵文字機能を付け加えることができます アプリケーションは 標準的なアプリケーションフレームワーク (IMF TextView WebView) を使い 絵文字の入出力を行うことができます 文字入力アプリ (IME) は 絵文字辞書機能を備えることによって 絵文字パッケージと連携して絵文字を入力できるようになります 5. 構成 絵文字パッケージに IME を加えた絵文字関連のモジュール構成は図 1 絵文字関連モジュール構成 (IME 関連のみ抽出 ) のようになります 絵文字パッケージモジュール既存モジュール文字入力 ( 文字 絵文字 デコメ絵文字 ) ) IMF アプリケーション EmojiAssist 編集画面 (TextView) 1 IME EmojiAssist 候補画面 (TextView) 2 Intent EmojiAssist 絵文字一覧パレット (TextView) 1IMEの候補画面に絵文字 / デコメ絵文字表示 2 絵文字パレットで入力 3デコメ絵文字辞書登録 IM Engine DecoEmojiListener DecoEmojiManager 辞書 ( 絵文字含む ) デコメ絵文字辞書 デコメ絵文字登録 3 デコメ絵文字 DB 図 1 絵文字関連モジュール構成 (IME 関連のみ抽出 ) Copyright (C) OMRON SOFTWARE Co., Ltd All Rights Reserved. 6
7 6. 絵文字パッケージ Android 絵文字パッケージは Android プラットフォームに絵文字 ( キャリア絵文字 デコメ絵文字 ) デコメピクチャの入力および表示機能を加えるソリューションです 6.1. 絵文字パッケージでできること 標準的な Android 端末は 絵文字パッケージをインストールすることによって アプリケーションに共通の絵文字機能を付け加えることができます (1) Android 端末の FW に絵文字機能を組み込んでいるか否かに関わらず 絵文字パッケージをインストールすることでアプリ間で共通の絵文字を利用することができます (2) Android 端末にあらかじめインストールしたデコメ絵文字またはダウンロードしたデコメ絵文字を一覧表示し アプリから入力することを可能にします (3) デコメ絵文字に読みを付けることができ IME の予測 / 変換機能を用いて入力することも可能になります アプリケーションは 絵文字パッケージを利用する機能を組み込むことによって 標準的なアプリケーションフレームワーク (IMF TextView WebView) を使い 絵文字の入出力を行うことができます ユーザは 通常文字 キャリア絵文字 デコメ絵文字を特別に意識せずにシームレスに利用して 豊かな表現を行うことができます 絵文字パッケージは IM サービス (IME) と連携して 絵文字の入力を可能にします 絵文字パッケージが備えるすべての機能を Android 端末で可能にするには IME は絵文字の一覧選択機能と 絵文字辞書機能を備えることが必要です 6.2. 絵文字パッケージの機能レベル 絵文字パッケージには次の 3 つの機能レベルがあります 機能レベル IM アプリ レベル A キャリア絵文字の一覧および予測 / 変換入力 キャリア絵文字の表示 キャリア絵文字対応 レベル B デコメ絵文字の一覧からの入力 デコメ絵文字の表示 デコメ絵文字対応 レベル C デコメ絵文字予測 / 変換入力 デコメ絵文字の予測 / 変換入力 デコメ絵文字の表示と追加 Copyright (C) OMRON SOFTWARE Co., Ltd All Rights Reserved. 7
8 6.3. 絵文字パッケージの I/F 絵文字パッケージは アプリケーション 絵文字データを格納する DB および IME との間の 3 つのインタフェースを持っています 機能レベルごとに必要となる I/F を下表に示します 表 1 絵文字パッケージ IF 一覧 絵文字パッケージ機能レベル 1. アプリケーション I/F 2. DB I/F 3. IME I/F (A) キャリア絵文字入力 / 表示 絵文字有効フラグ (allowemoji) 絵文字フォントデータライブラリ 絵文字辞書 (B) デコメ絵文字一覧入力 / 表示 デコメ絵文字有効フラグ (allowdecoemoji) デコメ絵文字 ID(URI) カテゴリ分類 ( ディレクトリ ) 一覧表示 デコメ絵文字更新情報 (C) デコメ絵文字変換入力 / 表示 (B に同じ ) デコメ絵文字読み付加情報 デコメ絵文字辞書更新情報 IMEは 絵文字パッケージに対して絵文字を利用するアプリケーションという側面と 絵文字パッケージと連携してアプリケーションの絵文字入力を可能にするサービスという側面を持っています Copyright (C) OMRON SOFTWARE Co., Ltd All Rights Reserved. 8
9 7. Application Programming Interface 絵文字を扱うアプリケーションは TextView を用いて 絵文字を含む文字列を入力および表示します WebView では表示のみが可能であり たとえば HTML メールの Preview 画面として用いられます 絵文字は文字コードの問題などから 使えるアプリケーションを限る必要があります このため キャリア絵文字を扱えるかどうか デコメ絵文字を扱えるかどうかのフラグ (TextView の属性 ) を API として以下のように定義しています (1) allowemoji フラグ TextView において キャリア絵文字の入力 表示を可能にする属性 (Hidden API) (2) allowdecoemoji フラグ TextView において デコメ絵文字の入力と表示を可能にする属性 ( 本パッケージで定義した API) (3) デコメ絵文字 ID アプリケーションは 入力 / 表示において通常文字と絵文字を区別する必要はありません しかし メールへの添付など デコメ絵文字コンテンツファイルを意識して扱う場合があります デコメ絵文字 ID はこれをファイルとして扱うためのシステム内の ID(URI) です 7.1. 入力 / 表示シーケンス 絵文字 / デコメ絵文字の入力と表示を行うアプリは以下の流れで実行します Copyright (C) OMRON SOFTWARE Co., Ltd All Rights Reserved. 9
10 図 2 アプリ実行時のシーケンス Copyright (C) OMRON SOFTWARE Co., Ltd All Rights Reserved. 10
11 1 TextView に絵文字フラグをバンドル TextView に 絵文字の入力と表示を可能にするフラグを立てます これは TextView のインスタンスに Bundle パラメータとして 追加することによって行ないます allowemoji キャリア絵文字の入力と表示を可能にします allowdecoemoji デコメ絵文字の入力と表示を可能にします サンプルコード : EditText text = new EditText(this); Bundle b = text.getinputextras(true); b.putboolean("allowemoji", true); b.putboolean("allowdecoemoji", true); 2 インスタンス生成絵文字表示を行う TextView のインスタンスを 絵文字制御ライブラリ EmojiAssist に引き渡します アニメーション絵文字を含む画像表示を自動的に行うため アニメ動作を開始します サンプルコード : // TextView のインスタンスを取得する TextView emojiview1 = findviewbyid(r.id.emoji_view1); TextView emojiview2 = findviewbyid(r.id.emoji_view2); // EmojiAssist に TextView を割り当てる EmojiAssist ea = EmojiAssist.getInstance(); ea.addview(emojiview1); ea.addview(emojiview2); // EmojiAssist のアニメ動作を開始させる ea.startanimation(); 3-1 文字入力 (1) TextView を通じて文字列の入力を行ないます ( gettext ) デコメ絵文字は通常文字 キャリア絵文字と同様 文字列の中の 1 文字として入力されます 文字コードは 別に定めます (*1) 通常表示に用いられない文字が利用されます このコードは 定義によって変化する可能性があるため このコードのみによって デコメ絵文字を識別 ( デコメ絵文字として認識 ) してはなりません *1: 現在の定義は Unicode 0x3013 (2) 表示について TextView では EmojiAssist によって 入力が行われるとともに表示は行われているので アプリケーションが表示のために行うことはありません 3-2 デコメ絵文字の URI の読み込みデコメ絵文字の保存や外部出力 ( たとえば HTML への変換 ) のためには ファイルとしての識別子が Copyright (C) OMRON SOFTWARE Co., Ltd All Rights Reserved. 11
12 必要となります (1) スパン属性の識別デコメ絵文字は DecoEmojiSpan というスパン属性をもちますのでこれで識別します (2) URI の読み込みデコメ絵文字のバンドル情報から URI を読み込みます (3) ファイルの読み込みファイルの実体は ContentProvider または直接ファイル入出力を用いて読み込みます サンプルコード : android.text.spanned sp = (Spanned)edittext.getText(); DecoEmojiSpan[] decoemojispans = sp.getspans(0, sp.length(), DecoEmojiSpan.class); String uri = decoemojispans[0].geturi(); Copyright (C) OMRON SOFTWARE Co., Ltd All Rights Reserved. 12
13 8. デコメ絵文字 Data Interface 絵文字パッケージをサポートする Android 端末では デコメ絵文字選択パレットに表示するデコメ絵文字や 変換候補として表示するデコメ絵文字をアプリケーションから追加 削除することができます 8.1. デコメ絵文字の定義 絵文字パッケージでは 基本的に以下の両方の条件を満たす場合にデコメ絵文字用の画像ファイルとみなします (1) ファイルフォーマット : jpeg gif (2) サイズ : 20x20(pixel) サイズ :20x20(pixel) 以外の場合はデコメピクチャとして扱います 8.2. デコメ絵文字の登録と削除 登録先ディレクトリデコメ絵文字は システムで規定する所定のディレクトリにおかれることによって 絵文字パッケージからデコメ絵文字として認識されます このデコメ絵文字を登録するディレクトリのことを 登録先ディレクトリ と呼びます デコメ絵文字を追加する場合 アプリケーションから登録先ディレクトリにデコメ絵文字ファイルを格納します 所定のディレクトリにファイルが格納されたことは絵文字パッケージが自動的に検出し IME と連携してデコメ絵文字を変換候補とパレットに追加します デコメ絵文字を削除する場合 アプリケーションから登録先ディレクトリに置かれているデコメ絵文字ファイルを削除します ファイルが削除されたことは絵文字パッケージが自動的に検出し IME に通知してデコメ絵文字を変換候補とパレットから削除します IMEとの関係絵文字パッケージ対応の IME は 絵文字マネージャ (DecoEmojiManager) から次の二つの通知を受けて 自らが保持するデコメ絵文字の一覧データとデコメ絵文字辞書を更新します (1) デコメ絵文字更新通知 絵文字マネージャはデコメ絵文字が登録先ディレクトリに追加 削除されたことを Broadcast で通知します IME( その他サービスアプリ ) が デコメ絵文字の一覧データを自アプリ内に保持する場合 そのデータを更新することが必要です (2) デコメ絵文字辞書更新通知 絵文字マネージャはデコメ絵文字の読み情報が追加 削除されたことを Broadcast で通知します IME は 自らのデコメ絵文字辞書を更新することが必要です Copyright (C) OMRON SOFTWARE Co., Ltd All Rights Reserved. 13
14 9. IME Interface 絵文字パッケージは IME と連携して 絵文字の入力を可能にします IME は 絵文字の一覧選択機能と 絵文字辞書機能を備えることが必要です 一覧選択機能 - キャリア絵文字一覧選択機能キャリア絵文字の DB から一覧 Preview を表示し 選択する機能です 携帯電話事業者ごとに定義されます - デコメ絵文字一覧選択機能デコメ絵文字の DB から一覧 Preview を表示し 選択する機能です 絵文字辞書機能 - キャリア絵文字辞書キャリア絵文字をその読みから予測 / 変換するための辞書です 携帯電話事業者ごとに定義します - デコメ絵文字辞書デコメ絵文字をその読みから予測 / 変換するための辞書です 所定の領域に格納されたコンテンツから 自動的に生成されます ( 本パッケージで I/F を定義 ) 9.1. キャリア絵文字入力 I/F(A 機能 ) A-1. 一覧表示 ( パレット ) 入力 (1) 一覧表示アプリを用意します - IMEからインテントで呼び出します - 選ばれたキャリア絵文字のコードを返却します - 選ばれた履歴を一定量保持し 先頭に表示します (2) 表示定義ファイル - 表示順序定義一覧に表示するカテゴリと 表示順序は 一覧表示アプリのリソースとして XML ファイルに定義します A-2. 予測 / 変換入力 (1) キャリア絵文字を含む予測 / 変換辞書を用意します キャリア絵文字は文字コードを持ちますので 辞書を用意すれば入力は可能です (IME 毎にフォーマットは異なります ) (2) IME 内の候補画面に絵文字を出力させるために EmojiAssist を利用します インタフェース 絵文字表示ライブラリ(EmojiAssist) 絵文字一覧アプリ(DecoEmojiList) Copyright (C) OMRON SOFTWARE Co., Ltd All Rights Reserved. 14
15 9.2. デコメ絵文字一覧入力 I/F(B 機能 ) (1) 一覧表示 ( パレット ) 入力 一覧表示アプリを用意します - IMEからインテントで呼び出します - 選ばれたデコメ絵文字の URI を返却します - 選ばれた履歴を一定量保持し 先頭に表示します IME は パッケージが提供するライブラリにより URI をデコメ絵文字属性付き文字に変換して アプリケーションに返します カテゴリ名定義に従い デコメ絵文字は分類して表示されます (2) 表示定義ファイル カテゴリ名定義 - カテゴリ区分はサブディレクトリによって区別します このディレクトリ名と表示する区分タイトルの対応を絵文字パッケージの設定として定義します インタフェース 絵文字表示ライブラリ(EmojiAssist getdecoemojitext) 絵文字一覧アプリ(DecoEmojiList) 絵文字絵文字デコメ絵文字 お気に入り 図 3 絵文字一覧の UI Copyright (C) OMRON SOFTWARE Co., Ltd All Rights Reserved. 15
16 9.3. デコメ絵文字予測 / 変換 I/F(C 機能 ) (1) 予測 / 変換入力 デコメ絵文字用予測/ 変換辞書を用意します - デコメ絵文字は文字コードを持ちませんので 特別な辞書を用意することが必要です (IME 毎にフォーマットは異なります ) - デコメ絵文字辞書には 次の項目を含むことを想定します デコメ絵文字 ID(URI) 読み 品詞( オプション ) IME 内の候補画面に絵文字を出力させるために EmojiAssist を利用します (2) デコメ絵文字辞書の更新 IME に対し デコメ絵文字が追加されるとパッケージは DecoEmojiListener を通じて次の情報を提供します - デコメ絵文字 ID(URI) - 読み - 品詞 IME はこの情報を受けて デコメ絵文字辞書に情報を追加します デコメ絵文字が削除されたとき ID の削除を通知します - IMEはデコメ絵文字辞書からデコメ絵文字を削除します デコメ絵文字が変更されたとき 削除と追加を通知します - IMEは デコメ絵文字辞書の削除と追加を行ないます IME は Android 端末の稼働中に切り換えられたり 新たにインストールされたりすることがあるため 絵文字パッケージのデコメ絵文字データベースとデコメ絵文字辞書が不一致になることがあります このため IME と絵文字パッケージとは適切なタイミングで同期を取る必要があります インタフェース 絵文字表示ライブラリ(EmojiAssist getdecoemojitext) 絵文字マネージャ(DecoEmojiManager) [ 説明 ] A,B 機能において 絵文字一覧を 絵文字一覧アプリを使わず IME 内に組み込むことも可能です 絵文字一覧アプリは Reference Implementation として ソースコードも開示します Copyright (C) OMRON SOFTWARE Co., Ltd All Rights Reserved. 16
17 凡例 A-1 絵文字一覧入力 A-2 絵文字予測 / 変換入力 B デコメ絵文字一覧入力 C デコメ絵文字予測 / 変換入力 IME に実装を期待する機能 : 絵文字パッケージインタフェースを利用する : 独自に機能を用意する 絵文字一覧を表示し 絵文字を選択入力する通常文字と同様に絵文字 ( 文字コードあり ) の予 測 / 変換を行う絵文字一覧を表示し デコメ絵文字を選択入力する 通常文字と同様にデコメ絵文字の予測 / 変換を行う 表 2 IME の絵文字対応とインタフェース IME 側で機能を実装 1. 絵文字一覧を呼ぶ 注 1 1. 絵文字を含む辞書を用意 する 2. 候補画面 (TextView) に絵 文字を表示する 1. 絵文字一覧を呼ぶ 注 1 2. デコメ絵文字属性付き文字コードを生成し 文字列に含めてアプリに出力する 1.IMEの固有の機能を用いて デコメ絵文字予測 / 変換辞書 ( 入れ物 ) を用意する 2. デコメ絵文字属性付き文字コードを生成し 文字列に含めてアプリに出力する 3. 候補画面 (TextView) にデコメ絵文字を表示する 4. デコメ絵文字更新通知を受けて デコメ絵文字予測 / 変換辞書 ( 内容 ) を更新する IME 固有機能 注 1 IME 固有の絵文字一覧を実装することも可能 絵文字パッケージの用意するインタフェース (1) (2) (3) (4) 絵文字表示 Lib 絵文字一覧アプリデコメ絵文字文字変換デコメ絵文字辞書更新通知 (EmojiAssist) (DecoEmojiList) (getdecoemojitext) (DecoEmojiManager I/F) 端末に登録されたデコメ絵候補画面絵文字一覧を表デコメ絵文字属性付き文字を検出し デコメ絵文字 (TextView) に絵示し 文字を選択文字を生成する読み情報の追加 削除を文字を表示する入力する IMEに通知する Copyright (C) OMRON SOFTWARE Co., Ltd All Rights Reserved. 17
18 10. 実装手順 IME からの絵文字パッケージ利用手順 キャリア絵文字 デコメ絵文字が入力可能なIME 開発において 一般的なアプリで必要となる 7 Application Programming Interface に加えて IMEとして対応が必要となる内容を記載しています IME のキャリア絵文字一覧入力機能追加 キャリア絵文字一覧は IME に機能追加して実現するか 絵文字一覧入力アプ (DecoEmojiList) を IME 側から起動する動線を追加します 絵文字一覧アプリはIntentにより起動されるアプリとして実装されています ( 項参照) IME のキャリア絵文字予測 / 変換入力対応 IME の予測 / 変換入力機能に キャリア絵文字も候補に含めるためには IME にて下記の対応を行う必要があります (a) キャリア絵文字辞書を追加する (b) 候補表示において 絵文字パッケージのキャリア絵文字表示のための対応を行う ( 10.5 項参照 ) IME のデコメ絵文字一覧起動 入力の追加 デコメ絵文字一覧の起動 デコメ絵文字一覧は IMEに機能追加して実現するか 絵文字一覧入力アプリ (DecoEmojiList) をIME 側から起動する動線を追加する必要があります 1 絵文字一覧アプリはIntentにより起動されるアプリとして実装されています サンプルコード : Intent intent = new Intent(); // クラス名にデコメ絵文字一覧アプリを指定 intent.setclassname("jp.co.omronsoft.android.decoemojilist_<career>", "jp.co.omronsoft.android.decoemojilist_<career>.decoemojilist");(*1) // 呼び出す Activity 以外の Activity をクリアして起動させる設定を付与 intent.setflags(intent.flag_activity_clear_top); // デコメ絵文字一覧アプリ上で表示する絵文字タグ切替値の設定 intent.putextra("switch_emoji_flg", 1); // 0:both 1:deco 2:carrier // 縦画面時のデコメ絵文字一覧アプリを表示する高さの領域を設定 intent.putextra("current_ime_height_port", heightp); // 横画面時のデコメ絵文字一覧アプリを表示する高さの領域を設定 intent.putextra("current_ime_height_land", heightl); // デコメ絵文字取得方法を設定 1 同様の機能を IME ではなくメーラ等のアプリで実装することも考えられます その場合 絵文字一覧入力アプリからのレスポンスを当該アプリで受け付け 受け取ったキャリア絵文字 / デコメ絵文字を編集画面に反映するなどの処理を追加する必要があります 18
19 intent.putextra("current_input_type", 0); // 0: 複数候補選択後にアプリに返す 1: 候補を一つ選択した時点でアプリに返す // デコメ絵文字一覧アプリ起動 startactivityforresult(intent, 0); // request code = 入力されたデコメ絵文字の伝送 絵文字一覧入力アプリは 入力されたデコメ絵文字の列を その起動元 ( 通常 IME) に対し次の形式の Bundle 情報として返します List 型 android.net.uri の List 内容 IME でデコメ絵文字を扱うには IME で Bundle 内の List から URI( デコメ絵文字を示す ) を取り出し デコメ絵文字属性付き文字コードに変換して EditText( アプリケーションの入力フィールド ) に伝達するように修正する必要があります サンプルコード : EmojiAssist ea = EmojiAssist.getInstance(); // URI からデコメ絵文字属性付き文字を生成する CharSequence decoemoji = ea.getdecoemojitext(uristring, ctx); // uristring はデコメ絵文字の uri ctx はアプリケーションのコンテキスト IME のデコメ絵文字予測 / 変換入力対応 IME の予測 / 変換入力機能に デコメ絵文字も候補に含めるためには 下記の対応を行う必要があります (a) 予測 / 変換に用いるデコメ絵文字辞書を追加する (b) 候補表示において 絵文字パッケージのデコメ絵文字表示のための対応を行う (c) デコメ絵文字の追加 / 削除の通知を DecoEmojiManager から受け取る機能を追加する 絵文字パッケージでは IME でデコメ絵文字の予測 / 変換を可能にするためのインタフェースを用意しています (1) 絵文字表示ライブラリ (EmojiAssist) 候補画面 (TextView) 表示 デコメ絵文字生成インタフェース 次項参照 (2) 絵文字マネージャ (DecoEmojiManager) デコメ絵文字読み情報 ( 辞書更新 ) 通知インタフェース 11 実装手順 デコメ絵文字読み情報更新手順 を参照 候補画面の表示 TextView を EmojiAssist に組込み 絵文字表示を可能にする 絵文字を表示する候補画面 (TextView) の生成時 そのインスタンスを EmojiAssist に組み込みます 19
20 EmojiAssist は絵文字パッケージの一部として提供されるプラグイン機能であり 次の機能を持ちます (1) 設定された TextView にキャリア絵文字 デコメ絵文字があったとき これを画像に変えて表示します (2) 設定された TextView を定期的に更新 (invalidate) し アニメーション絵文字をアニメ動作させます (3) 設定された TextView の文字列内容が (IME からの入力などで ) 更新されたとき 更新内容にデコメ絵文字が含まれるかどうかをチェックし 含まれる場合は TextView で処理可能なオブジェクト (DecoEmojiSpan : android.text.style.replacementspan の継承クラス ) に変換します DecoEmojiSpan は絵文字パッケージとして提供されるクラスで デコメ絵文字の表示を行います サンプルコード : // TextView のインスタンスを取得する TextView emojiview1 = findviewbyid(r.id.emoji_view1); TextView emojiview2 = findviewbyid(r.id.emoji_view2); // EmojiAssist を TextView に割り当てる EmojiAssist ea = EmojiAssist.getInstance(); ea.addview(emojiview1); ea.addview(emojiview2); // EmojiAssist のアニメ動作を開始させる ea.startanimation(); 候補画面にデコメ絵文字を表示する 候補画面にデコメ絵文字を表示するためには デコメ絵文字をデコメ絵文字属性付き文字に変換して TextView に書き込む必要があります サンプルコード : EmojiAssist ea = EmojiAssist.getInstance(); // URI からデコメ絵文字属性付き文字を生成する CharSequence decoemoji = ea.getdecoemojitext(uristring, ctx); // uristring はデコ絵文字の uri ctx はアプリケーションのコンテキスト 入力フィールドの絵文字属性判定 7 Application Programming Interface にあるように アプリの入力フィールド(EditText) には Bundleパラメータとして下記の絵文字入力属性が設定されています (1) キャリア絵文字入力許可フラグ key: allowemoji (2) デコメ絵文字入力許可フラグ key: allowdecoemoji IME は 入力フィールドの属性に従って 対応する入力候補を表示しなくてはなりません キャリア絵文字入力許可フラグ (allowemoji) IME はキャリア絵文字入力許可フラグ (allowemoji) がオンのとき キャリア絵文字の入力を可能にします allowemoji フラグが Off (false) の時 または設定されていない時は キャリア絵文字の入力候補を表示しません 20
21 キャリア絵文字の入力候補は 次のように表示します (1) 絵文字一覧 ( パレット ) カテゴリと 表示順序を設定した絵文字コードの定義表を元に 一覧表を表示します キャリア絵文字コードの設定は 事業者ごとに異なります 一覧表示アプリ (DecoEmojiList) を利用する場合は Intent でこれを起動し ユーザの入力結果を受け取ります (2) 予測変換入力キャリア絵文字コードを含む 辞書を用意し 予測 変換を行います 辞書の実装方法は IME によって異なりますが allowemoji が Off または指定されない場合は 予測変換に利用されないようにしなければなりません デコメ絵文字入力許可フラグ (allowdecoemoji) IME はデコメ絵文字入力許可フラグ (allowdecoemoji) が On のとき デコメ絵文字の入力を可能にします allowdecoemoji フラグが Off (false) の時 または設定されていない時は デコメ絵文字の入力候補を表示しません デコメ絵文字の入力候補は 次のように表示します (1) 絵文字一覧 ( パレット ) カテゴリと 表示順序に従ったデコメ絵文字 ID(URI) の一覧データを絵文字マネージャ (DecoEmojiManager) から入力し 一覧表を表示します カテゴリと一覧データの入力方法は ContentProvider インタフェースを用いるか aidl インタフェースを用いるかによって異なります 一覧表示アプリ (DecoEmojiList) を利用する場合は Intent でこれを起動し ユーザの入力結果を受け取ります (2) 予測変換入力デコメ絵文字辞書を用意し 予測 変換を行います 方法は IME によって異なりますが allowdecoemoji が Off または指定されない場合は 予測変換に利用されないようにしなければなりません 一覧表示の順序制御 一覧表示では 履歴表示が求められることがあります IME をはじめ いくつもの一覧表示アプリが存在するとき それぞれのアプリ内で履歴が管理されるため ユーザにとっての操作履歴としては不統一となり UX 上の不都合となります これを避けるため 絵文字マネージャにデコメ絵文字の選択操作を通知し 履歴を集めることにより 統一された履歴管理を実現します 以下の API を利用します (1) 利用履歴更新通知 aidl_changehistory(uri) 選択 採用したデコメ絵文字の ID(URI) を絵文字マネージャに通知します 絵文字マネージャは利用履歴を共通の DB で管理します (2) カテゴリ内利用順更新 (1) の通知を行うことで カテゴリ内の表示順序も 利用履歴の最新順に更新することができます この表示順序は絵文字プロバイダにソートを指示することによって取得可能になります なお カテゴリ内利用順序には ダウンロードされ 新しく追加されたデコメ絵文字も新しいものからこの順序に加えられ ユーザ 21
22 に気づきの機会を与えることができるようになります (DL 絵文字の順序制御は絵文字マネージャ内で自動的に行われます ) (3) 利用履歴のリセット aidl_resethistory(target) 利用履歴の記録をリセットすることができます カテゴリ内の表示順序もリセットすることが可能です (4) 利用履歴リスト取得 aidl_gethistorylist(max, emojitype, urilist) デコメ絵文字の利用履歴の最新のものから順に指定個数を取り出すことができます 詳細は 絵文字マネージャのサービス (aidl) インタフェースの API を参照ください 一覧表示アプリケーションは 表示パレットの再表示など 適切なタイミングで 絵文字プロバイダから一覧情報を取り直し 共通の表示順序を反映することが必要です 絵文字パッケージの提供する絵文字一覧アプリ (DecoEmojiList) は その中で順序制御の処理を行っていますので 呼び出し側のアプリ (IME) はこの処理を行う必要はありません 22
23 11. 実装手順 デコメ絵文字読み情報更新手順 IME は 絵文字マネージャ (DecoEmojiManager) からの デコメ絵文字辞書更新通知 を受けて 絵文字辞書を更新 ( 追加 削除 ) します IME と絵文字マネージャのインタフェースには aidl インタフェースと ( 絵文字パッケージ V1.2 から追加された )ContentProvider インタフェースとがあります ContentProvider インタフェースは アプリや IME からの要求に対する柔軟性に優れているため 今後のバージョンでは このインタフェースを中心に機能を強化していきます 従来のIME 実装方法との互換性のため aidlインタフェースによる実装手順の説明を 11.2 デコメ絵文字読み情報更新手順 (aidlインタフェース) に記載します デコメ絵文字読み情報更新手順 (ContentProvider インタフェース ) 対応バージョン: 絵文字パッケージ V1.2 以上 絵文字マネージャContentProvider 機能 ( 以下 絵文字プロバイダと呼びます ) を用いて 絵文字マネージャの持つデコメ絵文字 DBにアクセスすることができます 絵文字プロバイダへのアクセスは 参照 (Query) だけが可能です 絵文字プロバイダを通じてDBにデータを追加したり 変更することはできません デコメ情報読み情報更新は以下のように行ないます (1) デコメ絵文字の更新 ( 追加 削除 ) があったとき ( ア ) 絵文字マネージャから デコメ絵文字情報更新通知 が Broadcast されます ( イ ) IMEの予測 変換機能としては何もする必要はありません 一覧表示アプリ またはIME 内で行っている一覧表示機能では これによって一覧表示データの更新が必要になります これについては次章 12 実装手順 デコメ絵文字の一覧表示の更新 を参照ください (2) 更新されたデコメ絵文字に読み情報があったとき ( ア ) 絵文字マネージャから デコメ絵文字辞書更新通知 が Broadcast されます ( イ ) IME は 読み情報の更新 ( 削除 追加 ) 情報を元に デコメ絵文字辞書を更新します 辞書の更新は IME の予測 変換表示とは非同期に行われ 辞書の更新が終わったときから 予測 変換に用いられます (3) システムの初期化 デコ絵文字格納場所の大幅な変更 (SD カードの差し替え ) 等によって 絵文字パッケージの DB も初期化が必要な場合があります 絵文字パッケージの初期化が行われた場合 ( ア ) 絵文字マネージャから (1) と (2) の更新通知に乗せて 初期化 が通知されます ( イ ) (1) の通知に関しては 一覧表の保有データをリセットし 絵文字プロバイダからすべての対象絵文字データを取り直すことが必要です ( ウ ) (2) の通知に関しては IME がデコ絵文字辞書をリセットし 絵文字プロバイダから すべてのデコメ絵文字読み情報を取り直すことが必要です (4) IME アプリの初期時など IME から初期化が必要となった場合 ( ア ) IME は 絵文字プロバイダからすべての絵文字読み情報を取り込み デコメ絵文字辞書を更新します ( イ ) IME の一覧表示機能 一覧表示アプリは 絵文字プロバイダから 対象となる絵文字データを取り直して 表示を行います 絵文字プロバイダのインタフェースについては 14.7 絵文字マネージャDecoEmojiManager (Content Provider) インタフェース を参照ください 23
24 11.2. デコメ絵文字読み情報更新手順 (aidl インタフェース ) デコメ絵文字辞書情報更新の基本手順 辞書情報更新の関係モジュールは以下の通りです (1) 絵文字マネージャ (DecoEmojiManager) デコメ絵文字の登録 変更 削除を検知すると IME に対して 更新情報を載せて Intent で通知を行います 絵文字マネージャではあらかじめ IME が特定できないため ブロードキャストを行います (2) IME / DecoEmojiListener 絵文字マネージャからの Intent を受け取って デコメ絵文字の辞書を更新します Intent は 辞書更新情報をブロック化して分割して送信されるため 辞書の更新後 残りの更新がないか絵文字マネージャに問い合わせて 次の更新情報の通知を待ちます 絵文字マネージャへの問い合わせ / 要求は 絵文字マネージャサービスへの Bind(aidl) インタフェースによるプロセス間通信で行います ( 実装例 ) DecoEmojiListener は IME 側で Intent のレシーバの役割を担います 1.DecoEmojiListener(Listener と省略 ) は絵文字マネージャからの Intent のレシーバ機能を持つ IME が起動しているか否かに関わらず 絵文字マネージャからの更新通知 (Intent) を受けられることが望ましい 絵文字マネージャの絵文字検出と通知は IME とは非同期に行われるため IME が起動していないときの通知を逃すことで辞書に不一致が生じるためである (IME 起動時に 起動していない間の通知を問い合わせる実装も可能 ) 2. 一方で Listener がデコメ絵文字辞書を更新するとき IME とは デコメ絵文字辞書を共有することになるため 両者で競合管理を行うことが必要なことがある 3.IME と Listener を 同一プロセス ( 別スレッド ) とするか別プロセスとするかはインプリメントに依存する 表 3 モジュール間のメッセージ メッセージ 通知 経路 IME の処理 備考 デコメ絵文字辞書の更新 ( 追加と削除 ) 1デコメ絵文字辞書更新 IME 不特定時のブロードキャストと最大 100 件の通 M I Intent 通知 23に応える IME 向けユニキャストがある知 が処理は同じ 2 追加更新チェック I M Bind 更新した最終 ID を通知し 追加の更新通知を要求する 3デコメ絵文字辞書初期化要求 I M Bind 全読み情報の再送を求める 初期処理 4デコメ絵文字辞書初期化通知 M I Intent デコメ絵文字辞書のリセットを行う 初期処理 M: 絵文字マネージャ I:IME 24
25 シーケンス図 想定している実装シーケンスを示します (1) 通常更新処理 利用アプリ IME/ DecoEmojiListner 絵文字マネージャ (DecoEmojiManager) 通常時更新処理 デコメ絵文字の追加 変更 削除 1 読み情報の更新通知 Intent デコメ絵文字辞書の更新 2 追加更新チェック 1 読み情報の更新通知 Intent デコメ絵文字辞書の更新 2 追加更新チェック IME 起動時更新処理 文字入力開始 2 追加更新チェック 25
26 (2) IME 初期処理 IME が初めてデコメ絵文字辞書を作成するとき 絵文字マネージャに全更新データを求めます 利用アプリ IME/ DecoEmojiListner 絵文字マネージャ (DecoEmojiManager) IME 初期時更新処理 デコメ絵文字の追加 変更 削除 1 読み情報の更新通知 Intent ( 初期時 )3 辞書初期化要求 1 読み情報の更新通知 Intent デコメ絵文字辞書の更新 2 追加更新チェック 1 読み情報の更新通知 Intent デコメ絵文字辞書の更新 2 追加更新チェック IME 初期時更新処理 文字入力開始 ( 初期時 )3 辞書初期化要求 26
27 (3) 絵文字マネージャ初期処理 絵文字マネージャ自身が初期化されたとき IME に デコメ絵文字辞書の再作成を求めます 利用アプリ IME/ DecoEmojiListner 絵文字マネージャ (DecoEmojiManager) 絵文字マネージャ初期処理 絵文字マネージャの初期化 4 読み情報の全削除 Intent デコメ絵文字辞書のリセット 1 読み情報の更新通知 Intent デコメ絵文字辞書の更新 2 追加更新チェック 1 読み情報の更新通知 Intent デコメ絵文字辞書の更新 2 追加更新チェック 27
28 12. 実装手順 デコメ絵文字の一覧表示の更新 対応バージョン: 絵文字パッケージ V1.1 以降 絵文字マネージャがデコメ絵文字の更新を検出した時に この通知を Broadcast する機能が提供されました このことにより デコメ絵文字の一覧表を表示したり デコメ絵文字の付加情報を利用する IME などのサービスアプリケーションが デコメ絵文字の更新の通知を受けて 一覧表などの情報を更新することが可能となりました 一覧表示アプリケーションの表示更新 絵文字の一覧表示など 自アプリ内にデコメ絵文字の情報を取り込んで処理をしているアプリの場合 動的に変化しているデコメ絵文字の更新情報を取り込む手段がなく 表示内容を最新の状態に保つことが難しいという課題がありました 絵文字マネージャ (DecoEmojiManager) は 登録先ディレクトリ内のデコメ絵文字の更新 ( 追加 / 変更 / 削除 ) を検出すると Broadcastでこれを通知します ( デコメ絵文字情報更新通知 ) また Bundle データとして 更新を検出したデコメ絵文字の URI 更新区分( 追加 削除 ) ( 更新データを DB に登録した )Timestamp を通知します ( デコメ絵文字の 変更 は 削除 と 追加 として通知されます ) 一覧表示アプリケーションは この Broadcast を受信してデコメ絵文字情報を取り込み 自らの表示内容を更新することができます デコメ絵文字の一覧表の更新方法にはいくつかの方法があります (1) 絵文字一覧アプリ (DecoEmojiList) を用いている場合 絵文字一覧アプリを再起動し 一覧情報を取り直す (2) Bind(aidl) インタフェースを用いて 絵文字マネージャから一覧情報を取り直す 詳細は 絵文字マネージャのサービス (aidl) インタフェースのAPI を参照ください (3) 更新通知の内容から 当該デコメ絵文字の情報を更新する 必要な場合はデコメ絵文字の ID(URI) を元に 絵文字プロバイダにアクセスし 情報を補足します なお 更新通知に乗せて 絵文字マネージャ (DB) の初期化が通知されることがあります この場合は すべてのデータをリセットし 必要な一覧情報を 絵文字マネージャから取り直すことを行う必要があります 28
29 13. 実装手順 IME に関する付加情報 Android Framework 全画面モード時の既存不具合対応 Android Framework には IME の全画面モード時の既存不具合が存在します (V2.3 現在 ) 全画面モードに適用される ExtraEditText 内で文字の編集中に Span 属性が削除されることがある その不具合対応として IME 側に ExtractEditText の差し替え処理およびそこで必要となるリソースの追加を実装する必要があります 絵文字パッケージでは EmojiAssist 内に ExtraEditText の代替え処理を用意し iwnn IME の V2 をベースとした追加リソースおよび ExtractEditText の差し替え処理の修正差分を用意しています カスタム対応された iwnnime に適用する場合は その差分をカスタム版に反映する必要があります 他の IME にも 参考情報としてこれを提供することは可能です 追加リソース : res drawable emoji_extract_edit_text.xml res drawable-hdpi emoji_keyboard_textfield_selected.9.png res drawable-hdpi emoji_textfield_disabled.9.png res layout emoji_extract_view.xml サンプルコード public View oncreateextracttextview() { View v = super.oncreateextracttextview(); extractedittext = (ExtractEditText)EmojiAssist.replaceExtractEditText((ViewGroup)v, R.layout.emoji_extract_view); return v; } スリープ時の注意事項 絵文字パッケージでは EmojiAssist (jar) において 絵文字表示中の場合 一定時間ごとに描画処理を行っています そのため 描画処理を明示的に停止させなければ スリープ時に消費電力が大きくなります スリープ時に行うべき処理を以下に記載します 対応策 ( アクティビティアプリケーション向け ) EmojiAssist を使用するアクティビティアプリケーション ( 一覧表示アプリなど ) においては スリープモード遷移時に onpause() 関数がコールされます この関数内において EmojiAssist に対し protected void onpause() { --- 中略
30 } memojiassist.stopanimation(); --- 中略 --- なお 描画処理を開始 / 再開させる場合には EmojiAssist#startAnimation() をコールする必要があります startanimation() stopanimation() の使用例につきましては 絵文字パッケージ内のリファレンスソースコード DecoEmojiList/src/DecoEmojiList.zip をご参照下さい 対応策 ( サービスアプリケーション向け (IME を含む )) EmojiAssist を使用するサービスアプリケーション (IME を含む ) の場合 スリープモード遷移時に onpause() 関数はコールされないため BroadcastReceiver にてスクリーン OFF を検知し EmojiAssist に対し 以下のように描画処理を停止させる必要があります BroadcastReceiver において ACTION_SCREEN_ON を検知し startanimation() をコールする BroadcastReceiver において ACTION_SCREEN_OFF を検知し stopanimation() をコールする 以下に BroadcastReceiver を使ったサンプルコードを記載します private BroadcastReceiver mreceiver = new BroadcastReceiver() public void onreceive(context context, Intent intent) { if (misemojiassistworking) { // EmojiAssist が動作している場合 if (intent.getaction().equals(intent.action_screen_on)){ memojiassist.startanimation(); } else if (intent.getaction().equals(intent.action_screen_off)){ memojiassist.stopanimation(); } } } }; 30
31 1.0v1.1v1.2以降予定()絵文字パッケージ対応 IME 開発ガイド V121.doc 14. API インタフェース仕様 : 使用可能 : 使用可能 ( 非推奨 ) : 使用不可能 対応バージョン クラス名 API 名称 API 概要 vemojiassist DecoEmojiSpan EmojiDrawable getinstance() EmojiAssistのインスタンスを取得す る addview() TextViewを登録する removeview() 登録したTextViewを削除する clearview() 登録したTextViewを全て削除する startanimation() 絵文字のアニメーションを開始する stopanimation() 絵文字のアニメーションを停止する getdecoemojitext(string デコメ絵文字属性 (DecoEmojiSpan も uri) しくはAnnotation) を設定した文字を取得する getdecoemojitext(string uri, Context context) getemojiimage() デコメ絵文字属性 (DecoEmojiSpan もしくはAnnotation) を設定した文字を取得する キャリア絵文字の画像データ (Binary) を取得する replaceextractedittext() ExtractEditTextを差し替える checktextdata() 文字のチェックを行う setdisplaypop() デコメ絵文字 pop 識別子の表示可否を 設定する getdisplaypop() デコメ絵文字 pop 識別子の表示可否を 取得する setpicturescale() デコメピクチャに対し デコメ絵文字と 同様の拡縮表示を行う設定を行う geturi() デコメ絵文字の画像ファイルを指すURI を返却する getwidth() デコメ絵文字の画像ファイルの幅を取 得する getheight() デコメ絵文字の画像ファイルの高さを 取得する getpopflag() デコメ絵文字の画像ファイルのデコメ 絵文字 pop 識別フラグを取得する istypepicture() 絵文字種別がデコメピクチャか否かを 判定する isemoji(int code) 引数の文字が絵文字か否かを判定する isemoji(charsequence 引数の文字列に絵文字が含まれている text) か否かを判定する 31
32 1.0v1.1v1.2以降予定()絵文字パッケージ対応 IME 開発ガイド V121.doc : 使用可能 : 使用可能 ( 非推奨 ) : 使用不可能対応バージョン クラス名 API 名称 API 概要 videcoemojimanager DecoEmojiContract aidl_getdecouri() デコメ絵文字のURIを取得する aidl_getcategorylist() デコメ絵文字のカテゴリ情報一覧を返 却する aidl_getcategorylist_ex() 指定された対象絵文字タイプ ( emojitype ) のデコメ絵文字のカテゴリ情報一覧を返却する aidl_getdecourilist() 引数のカテゴリIDに紐づくデコメ絵文 字のURI 一覧を返却する aidl_getdecourilist_ex() 引数の対象絵文字タイプ ( emojitype ) カテゴリIDに紐づくデコメ絵文字のURI 一覧を返却する aidl_checkdecoemoji() 引数のデコメ絵文字 IDより後に追加更 新されたデコメ絵文字を抽出し 追加分 のデコメ絵文字辞書更新情報をブロー ドキャスト送信する aidl_gettaginfo() デコメ絵文字の画像データ (GIF JPEG) 内に格納されている拡張情報データを 取得する aidl_changehistory() デコメ絵文字 / デコメピクチャの利用履 歴を更新する aidl_resethistorycnt() デコメ絵文字情報テーブル. 利用履歴表 示順をリセットする aidl_gethistoryurilist() デコメ絵文字 / デコメピクチャの利用履 歴のリストを取得する makestringemojikind() 対象絵文字タイプ ( emojitype ) の値 を絵文字種別の値に変換する (ContentProvider 利用時などに使用す る ) convertemojitype() 絵文字種別の値を対象絵文字タイプ ( emojitype ) の値に変換する ( 入力 フィールドの対象絵文字タイプ ( emojitype ) と 取得結果の絵文字 種別を比較する際などに使用する ) 以下 各コンポーネントについて インタフェース仕様を規定する なお 文中のパッケージ名については事業者ごとに異なる場合があるため 該当部分を <carrier> として表記している 例 :"jp.co.omronsoft.android.decoemojimanager_<carrier>" 32
33 14.1. TextView/EditText( 絵文字入力の有効化 ) アプリで使用する TextView(EditText) で キャリア絵文字 デコメ絵文字を入力したい場合は 下記のように絵文字有効フラグ (allowemoji) およびデコメ絵文字有効フラグ (allowdecoemoji) を Bundle する必要がある それぞれ個別にも指定可能である EditText text = new EditText(this); Bundle b = text.getinputextras(true); b.putboolean("allowemoji", true); b.putboolean("allowdecoemoji", true); EmojiAssist クラス パッケージ名 :jp.co.omronsoft.android.emoji インスタンス取得 API 名 説明 getinstance EmojiAssist のインスタンスを取得する 引数 No 引数名 型 I/O Must/Opt. 説明 返値 No 型 説明 1 EmojiAssist EmojiAssist のインスタンス 前提なし 概略説明 EmojiAssist のインスタンスを取得する 33
34 TextView 登録 API 名 説明 addview TextView を登録する 引数 No 引数名 型 I/O Must/Opt. 説明 1 view TextView I Must 登録するTextView 返値 No 型 説明 前提 getinstance() で取得した EmojiAssist で実行すること 概略説明 TextView を EmojiAssist に登録する 補足同一プロセス内で絵文字を描画されうる TextView は全て EmojiAssist に登録すること アニメーション動作中に実行してもよい 34
35 TextView 削除 API 名 説明 removeview 登録した TextView を削除する 引数 No 引数名 型 I/O Must/Opt. 説明 1 view TextView I Must 削除するTextView 返値 No 型 説明 前提 TextView が登録済みであること 概略説明登録した TextView を EmojiAssist から削除する 補足アニメーション動作中に実行してもよい 登録されていない view が指定された場合は 無視される 終了処理などで登録した TextView の更新が不要になる場合は removeview などで登録を解除すること 35
36 TextView 全削除 API 名 説明 clearview 登録した TextView を全て削除する 引数 No 引数名 型 I/O Must/Opt. 説明 返値 No 型 説明 前提なし 概略説明登録した TextView を EmojiAssist から全て削除する 補足アニメーション動作中に並行実行してもよい 終了処理などで登録した TextView の更新が不要になる場合は clearview などで登録を解除すること 36
37 アニメーション開始 API 名 説明 startanimation 絵文字のアニメーションを開始する 引数 No 引数名 型 I/O Must/Opt. 説明 返値 No 型 説明 前提なし 概略説明絵文字のアニメーションを開始する addview で登録した TextView に対して定期的に invalidate() するタイマーを開始させる TextView のアニメーションが不要になるときは stopanimation により停止させる必要がある 37
38 アニメーション停止 API 名 説明 stopanimation 絵文字のアニメーションを停止する 引数 No 引数名 型 I/O Must/Opt. 説明 返値 No 型 説明 前提なし 概略説明絵文字のアニメーションを停止する スリープモード遷移時など アニメーションが不要になるときは 本 API により停止させること 38
39 デコメ絵文字 Span 設定 API 名 説明 getdecoemojitext デコメ絵文字属性 (Annotation) を設定した文字を取得する 引数 No 引数名 型 I/O Must/Opt. 説明 1 uri String I Must デコメ絵文字の画像ファイル格納位置を指す URI 返値 No 型 説明 1 CharSequence デコメ絵文字 Span を設定した文字 前提なし 概略説明 IME からアプリケーションに出力するデコメ絵文字属性 (android.text.annotation) を設定した文字を取得する Annotation には以下の情報が設定されている コンテンツの URI 39
40 デコメ絵文字 Span 設定 ( 拡張版 ) API 名 説明 getdecoemojitext デコメ絵文字属性 (Annotation) を設定した文字を取得する 引数 No 引数名 型 I/O Must/Opt. 説明 1 uri String I Must デコメ絵文字の画像ファイル格納位置を指す URI 2 context Context I Must コンテキスト 返値 No 型 説明 1 CharSequence デコメ絵文字 Span を設定した文字 前提なし 概略説明 IME からアプリケーションに出力するデコメ絵文字属性 (android.text.annotation) を設定した文字を取得する Annotation には以下の情報が t 区切りで設定されている コンテンツの URI 画像ファイルの幅 画像ファイルの高さ 絵文字種別 デコメ絵文字 pop 識別子 サンプルコード : CharSequence Candidate = EmojiAssist.getInstance().getDecoEmojiText (uri, context); SpannableStringBuilder text = (SpannableStringBuilder)candidate; for (Annotation s : text.getspans(0, 1, Annotation.class)) { String[] split = s.getvalue().split(emojiassist.split_key,0); String uri = split[0]; int width = Integer.parseInt(split[1]); int height = Integer.parseInt(split[2]); int emojikind = Integer.parseInt(split[3]); int pop = Integer.parseInt(split[4]); } 40
41 絵文字データ取得 API 名 説明 getemojiimage キャリア絵文字の画像データ (Binary) を取得する 引数 No 引数名 型 I/O Must/Opt. 説明 1 code int I Must 対象文字のAndroidPUA 2 textsize float I Must フォントサイズ ( 文字の高さ )[pixel] 返値 No 型 説明 1 byte[] 絵文字データ (Binary)( 失敗時 :NULL) 前提なし 概略説明指定された文字コードのキャリア絵文字について 指定サイズにもっとも近いサイズの GIF / PNG 画像データ (Binary) を取得する 例 : キャリア絵文字として 下記の 5 種類が用意されている場合 ; 12pixel: 14 pixel 以下の時に表示する画像 16pixel: 15~18 pixel の時に表示する画像 20pixel: 19~22 pixel の時に表示する画像 24pixel: 23~26 pixel の時に表示する画像 28pixel: 27 pixel 以上の時に表示する画像 サイズ 17 を指定すると 15~18 pixel の時に表示する画像が取得される なお 標準の絵文字パッケージでは 48x48 の画像のみ用意されている サンプルコード : StringBuffer htmlbuf = new StringBuffer(html); // html は HTML ソースを所持する String for (int i = 0; i < htmlbuf.length(); i++) { // HTML から絵文字コードを検出する int thecode = htmlbuf.codepointat(i); if (Character.isHighSurrogate(htmlBuf.charAt(i)) && EmojiDrawable.isEmoji(theCode)) { byte[] imgdata = ea.getemojiimage(thecode, 24); /* ea は EmojiAssist のインスタンスとする */ // imgdata を GIF ファイル名 imgfile に書き込む ( 詳細略 ) // HTML を生成する String mappinghtml = "<img src=\"" + imgfile + "\">"; // 当該キャリア絵文字の文字コード部分を img タグに置換する htmlbuf.replace(i, i+2, mappinghtml); // サロゲートペアを mappinghtml に置換したため 文字数分インクリメントする i = i mappinghtml.length; } // else do nothing } 41
42 ExtractEditText 差し替え API 名 説明 replaceextractedittext ExtractEditText を差し替える 引数 No 引数名 型 I/O Must/Opt. 説明 1 view ViewGroup I Must ExtractEditTextを持つView 2 id int I Must 差し替えるExtactEditTextのリソースID 返値 No 型 説明 1 ExtractEditText 差し替えた ExtractEditText 継承クラスのインスタンス ( 失敗時 :NULL) 前提なし 概略説明全画面表示で使用される ExtractEditText クラスを 任意の継承クラスに置換する (IME 向け ) 補足フレームワークの全画面表示用部品 ExtractEditText は絵文字表示において不具合が発生するため 絵文字パッケージではその不具合を回避する jp.co.omronsoft.android.inputmethodservice.emojiextractedittext を用意している IME で全画面への切り替えを検出した際 EmojiExtractEditText に差し替える必要がある フレームワークのバージョンアップにより ExtractEditText が改善されれば 本対応は不要になる サンプルコード : public class MyIME extends InputMethodService { private ExtractEditText mextractedittext; < 中略 public View oncreateextracttextview() { View v = super.oncreateextracttextview(); EmojiAssist assist = EmojiAssist.getInstance(); mextractedittext = assist.replaceextractedittext((viewgroup)v, R.layout.emoji_extract_view); return v; } public ExtractEditText getextractedittext() { return mextractedittext; } < 以下略 > サンプルコード (emoji_extract_view.xml): <jp.co.omronsoft.android.inputmethodservice.emojiextractedittext xmlns:android=" android:scrollbars="vertical" android:gravity="top" android:minlines="1" android:inputtype="text" android:background="@drawable/emoji_extract_edit_text" > </jp.co.omronsoft.android.inputmethodservice.emojiextractedittext> 42
43 入力文字列の絵文字有無判定 API 名 checktextdata 説明 入力文字列にキャリア絵文字 / デコメ絵文字 / デコメピクチャが含まれているかどうかの判定を行う 引数 No 引数名 型 I/O Must/Opt. 説明 1 text Spannable I Must Spannable 型の文字列 返値 No 型 説明 1 int EmojiAssist.TYPE_TEXT_NORMAL(0) : キャリア絵文字 / デコメ絵文字 / デコメピクチャが含まれていない EmojiAssist.TYPE_TEXT_EMOJI(1) : キャリア絵文字が含まれている EmojiAssist.TYPE_TEXT_DECOEMOJI(2) : デコメ絵文字またはデコメピクチャ が含まれている EmojiAssist.TYPE_TEXT_BOTH(3) : キャリア絵文字と デコメ絵文字またはデコメピクチャ がともに含まれている 前提なし 概略説明入力文字列にキャリア絵文字 / デコメ絵文字 / デコメピクチャが含まれているかどうかを判定する 補足文字列の判定を行うことで View の登録 / 削除 アニメーションの開始 / 停止を適切に判断することができ CPU 使用率を下げることが可能になる 43
44 デコメ絵文字 pop 識別子表示 API 名 説明 setdisplaypop デコメ絵文字 pop 識別子の表示可否を設定する 引数 No 引数名 型 I/O Must/Opt. 説明 Display Boolean I Must デコメ絵文字 pop 識別子の表示可否を指定 1 true : デコメ絵文字 pop 識別子を表示する false : デコメ絵文字 pop 識別子を表示しない 返値 No 型 説明 前提 addview() で TextView に EmojiAssist を登録する前に実行すること 概略説明デコメ絵文字 pop 識別子の表示制御に利用する 本 API が利用されていない場合はデコメ絵文字 pop 識別子を表示しない デコメ絵文字 pop 識別子の画像サイズは一定とし 画像の右下に表示する 表示イメージ 1 デコメ絵文字 pop のサイズが 20px 20px の場合 2 デコメ絵文字 pop のサイズが 20px 100px の場合 3 デコメ絵文字 pop のサイズが 40px 40px の場合 44
45 デコメ絵文字 pop 識別子表示可否設定取得 API 名 getdisplaypop 説明 デコメ絵文字 pop 識別子の表示可否設定を取得する 引数 No 引数名 型 I/O Must/Opt. 説明 返値 No 型 説明 1 boolean デコメ絵文字 pop 識別子の表示可否設定 true : デコメ絵文字 pop 識別子を表示する false : デコメ絵文字 pop 識別子を表示しない 前提なし 概略説明デコメ絵文字 pop 識別子の表示可否設定を取得する 45
46 デコメピクチャ拡縮表示設定 API 名 説明 setpicturescale デコメピクチャに対し デコメ絵文字と同様の拡縮表示を行う設定を行う 引数 No 引数名 型 I/O Must/Opt. 説明 scale boolean I Must デコメピクチャ縮小表示可否の指定 1 true: デコメピクチャを拡縮して表示 false: デコメピクチャを等倍で表示 返値 No 型 説明 前提 addview() で TextView を登録する前に実行すること 概略説明アプリ側において 表示フィールドのサイズなどの制限によりデコメピクチャの等倍表示ができない際に デコメピクチャの拡縮表示設定を行うことができる 拡縮は デコメ絵文字と同様に 表示フィールドの文字サイズ ( 高さ ) に合わせて行われる 本 API を利用していない場合には デコメピクチャは等倍で表示される 46
47 14.3. DecoEmojiSpan クラス デコメ絵文字情報を保持し 描画を受け持つクラスである パッケージ名 :jp.co.omronsoft.android.text.style URI 取得 API 名 説明 geturi デコメ絵文字の画像ファイルを指す URI を返却する 引数 No 引数名 型 I/O Must/Opt. 説明 返値 No 型 説明 1 String URI 前提なし 概略説明デコメ絵文字の画像ファイルを指す URI を返却する サンプルコード : CharSequence charseq = text.gettext(); SpannableStringBuilder ssb = SpannableStringBuilder.valueOf(charSeq); DecoEmojiSpan[] decoemojispans = ssb.getspans(0, ssb.length(), DecoEmojiSpan.class); String uri = decoemojispan[0].geturi(); 47
48 幅取得 API 名 説明 getwidth デコメ絵文字の画像ファイルの幅を取得する 引数 No 引数名 型 I/O Must/Opt. 説明 返値 No 型 説明 1 int 幅 前提なし 概略説明デコメ絵文字の画像ファイルの幅を取得する 48
49 高さ取得 API 名 説明 getheight デコメ絵文字の画像ファイルの高さを取得する 引数 No 引数名 型 I/O Must/Opt. 説明 返値 No 型 説明 1 int 高さ 前提なし 概略説明デコメ絵文字の画像ファイルの高さを取得する 49
50 デコメ絵文字 pop 識別子取得 API 名 説明 getpopflag デコメ絵文字の画像ファイルのデコメ絵文字 pop 識別フラグを取得する 引数 No 引数名 型 I/O Must/Opt. 説明 返値 No 型 説明 1 int デコメ絵文字 pop 識別フラグ 前提なし 概略説明デコメ絵文字の画像ファイルのデコメ絵文字 pop 識別フラグを取得する デコメ絵文字 pop 識別フラグの値と定義は以下の通り 0: デコメ絵文字 pop 識別フラグなし 1: デコメ絵文字 pop 識別フラグあり 50
51 デコメピクチャ判定 API 名 istypepicture 説明 絵文字種別がデコメピクチャか否かを判定する 引数 No 引数名 型 I/O Must/Opt. 説明 返値 No 型 説明 1 boolean true: デコメピクチャ false: デコメピクチャ以外 前提なし 概略説明絵文字種別がデコメピクチャか否かを判定する サンプルコード : CharSequence charseq = text.gettext(); SpannableStringBuilder ssb = SpannableStringBuilder.valueOf(charSeq); DecoEmojiSpan[] decoemojispans = ssb.getspans(0, ssb.length(), DecoEmojiSpan.class); boolean ret = decoemojispans[0].istypepicture(); 51
52 14.4. EmojiDrawable クラス パッケージ名 :jp.co.omronsoft.android.text 絵文字判定 API 名 説明 isemoji 引数の文字列に絵文字が含まれているか否かを判定する 引数 No 引数名 型 I/O Must/Opt. 説明 1 text CharSequence I Must 判定対象文字列 返値 No 型 説明 1 static boolean true: 絵文字が含まれている 前提なし 概略説明引数の文字列に絵文字が含まれているか判定し 結果を返却する 52
53 絵文字判定 ( コード ) API 名 説明 isemoji 引数の文字が絵文字か否かを判定する 引数 No 引数名 型 I/O Must/Opt. 説明 1 code int I Must 判定対象文字 返値 No 型 説明 1 static boolean true: 絵文字である 前提なし 概略説明引数の文字が絵文字かどうか判定し 結果を返却する 引数には String.codePointAt() 等で取得したコードを渡す 53
54 14.5. 絵文字一覧アプリ DecoEmojiList 絵文字一覧アプリは IME や一般アプリから Intent によって起動され 選択された絵文字を結果として返却する 絵文字一覧アプリを使用するアプリは DecoEmojiList のソースコードのうち下記のファイルをアプリのビルド環境にコピーして利用する必要がある DecoEmojiListResultInfo.java Intent 起動 IME もしくはアプリから絵文字一覧アプリを起動させるには 下記の通り Intent を発行する サンプルコード : Intent intent = new Intent(); // クラス名にデコメ絵文字一覧アプリを指定 intent.setclassname("jp.co.omronsoft.android.decoemojilist_<career>", "jp.co.omronsoft.android.decoemojilist_<career>.decoemojilist");(*1) // 呼び出す Activity 以外の Activity をクリアして起動させる設定を付与 intent.setflags(intent.flag_activity_clear_top); // デコメ絵文字一覧アプリ上で表示する絵文字タグ切替値の設定 intent.putextra("switch_emoji_flg", 1); // 0:both 1:deco 2:carrier // アプリ上で表示する対象絵文字タイプ ( emojitype ) の設定 ( 入力フィールド edittext から取得 ) Bundle b = edittext.getinputextras(true); int et = b. getint("emojitype"); intent.putextra("emojitype", et); // 縦画面時のデコメ絵文字一覧アプリを表示する高さの領域を設定 intent.putextra("current_ime_height_port", heightp); // 横画面時のデコメ絵文字一覧アプリを表示する高さの領域を設定 intent.putextra("current_ime_height_land", heightl); // デコメ絵文字取得方法を設定 intent.putextra("current_input_type", 0); // 0: 複数候補選択後にアプリに返す 1: 候補を一つ選択した時点でアプリに返す // デコメ絵文字一覧アプリ起動 startactivityforresult(intent, 0); // request code = 0 (*1) パッケージ名の詳細は emojipkg_type2_releasenotes.txt に記載 54
55 返値取得 起動した絵文字一覧アプリにおいて選択された絵文字情報を取得するには 受け取った Intent の Result から List を取り出す サンプルコード protected void onactivityresult(int requestcode, int resultcode, Intent data) { if (requestcode == 0 && resultcode == RESULT_OK) { // req. code = 0, ArrayList<DecoEmojiListResultInfo> result = data.getparcelablearraylistextra("uri_list"); } DecoEmojiListResultInfo resultinfo; for (int i = 0; i < result.size(); i++) { resultinfo = result.get(i); if (resultinfo.gettag() == 1) { // 1:deco, 2:carrier // デコメ絵文字 CharSequence charsequence = resultinfo.geturi(); : } else { // キャリア絵文字 (String の各文字がキャリア絵文字の文字コード ) CharSequence charsequence = resultinfo.getcode(); : } } } finish(); 55
56 14.6. 絵文字マネージャ DecoEmojiManager 絵文字マネージャ DecoEmojiManager は デコメ絵文字の画像ファイルと ID を管理するクラスである (1) デコメ絵文字の登録システムで共通に利用するデコメ絵文字は 所定のディレクトリ ( 登録先ディレクトリ ) に格納される必要がある 登録先ディレクトリに登録されたデコメ絵文字は 絵文字パッケージに管理され アプリケーションから絵文字として利用 ( 入力 表示 ) することができる 端末の別アプリ ( メーラ ブラウザやコンテンツ管理アプリ ) が新規にデコメ絵文字を入手して端末 (SD カードなど ) に保存したり削除したりする場合 その更新を登録先ディレクトリに加えることによって 絵文字パッケージに通知することができる (2) アプリケーションへの通知 (Intent) デコメ絵文字の追加 または削除が検出された場合 DecoEmojiManager は Broadcast によりデコメ絵文字情報を利用アプリに通知する また デコメ絵文字予測 / 変換入力機能を含む場合は さらに Broadcast によりデコメ絵文字辞書情報を通知する (3) アプリケーションインタフェースデコメ絵文字の一覧を表示したり デコメ絵文字をアプリケーションに入力するサービスを提供するアプリ (IME) や デコメ絵文字の付加情報を利用するアプリは DecoEmojiManager サービス (aidl) インタフェース または DecoEmojiManager の提供する ContentProvider インタフェースを通じてそれらの情報にアクセスすることができる DecoEmojiManager は サービスとして動作する サービスに接続する場合は下記のように bind する必要がある ContentProvider インタフェースについては次章を参照のこと なお DecoEmojiManager のインタフェースおよび関連する定数値を利用するアプリは ライブラリ DecoEmojiInterface.jar をリンクする必要がある サンプルコード : // サービス接続 Intent intent = new Intent(IDecoEmojiManager.class.getName()); bindservice(intent, mserviceconn, Context.BIND_AUTO_CREATE); // bindservice のコールバック関数 private ServiceConnection mserviceconn = new ServiceConnection() { // サービス接続時のコールバック関数 public void onserviceconnected(componentname name, IBinder binder) { mdecoemojiinterface = IDecoEmojiManager.Stub.asInterface(binder); } // サービス切断時のコールバック関数 public void onservicedisconnected(componentname name) { mdecoemojiinterface = null; } }; // サービス切断 unbindservice(mserviceconn); 56
57 絵文字マネージャのサービス (aidl) インタフェースの API DecoEmojiManager のサービスとして提供されている API について説明する パッケージ名 :jp.co.omronsoft.android.decoemojimanager_<career>.interfacedata URI 取得 API 名 説明 aidl_getdecouri デコメ絵文字の URI を取得する 引数 No 引数名 型 I/O Must/Opt. 説明 decoemoji_id int I Must デコメ絵文字 ID 取得対象デコメ絵文字のデ 1 コメ絵文字 ID デコメ絵文字 ID:0~ uriinfo DecoEmojiUriInfo I/O Must URI 対象デコメ絵文字のURIを格納した DecoEmojiUriInfoのオブジェクト 返値 No 型 説明 1 int IDecoEmojiConstant.OK: 正常終了 IDecoEmojiConstant.NG_INITIALIZING: 初期化処理中 IDecoEmojiConstant.NG_ID: decoemoji_id の値が範囲外 IDecoEmojiConstant.NG_URI_INFO:URI の取得中に問題が発生 (DB エラーを含む ) 前提 DecoEmojiManager により初期データが構築されていること 概略説明指定されたデコメ絵文字 ID に紐づくデコメ絵文字の URI を返却する 57
58 カテゴリ一覧取得 API 名 説明 aidl_getcategorylist デコメ絵文字のカテゴリ情報一覧を返却する 引数 No 引数名 型 I/O Must/Opt. 説明 1 maxdisplaycnt int I Must 1 画面に表示するデコメ絵文字の数 (0 < maxdisplaycnt <= 72) 2 categorylist List<DecoEmojiCategoryInfo> O - 取得したカテゴリ情報のList 返値 No 型 説明 1 int IDecoEmojiConstant.OK: 正常終了 IDecoEmojiConstant.NG_MAX_DISPLAY_CNT: 第 1 引数 maxdisplaycnt の値が範囲外 IDecoEmojiConstant.NG_CATEGORY_INFO: カテゴリ情報の取得中に問題が発生した (DB エラーを含む ) 前提 DecoEmojiManager により初期データが構築されていること 概略説明デコメ絵文字のカテゴリ情報一覧を返却する 本 API にて返却する対象絵文字種別は 1 デコメ絵文字 (20*20) のみ 58
59 カテゴリ一覧取得 ( デコメ絵文字用拡張 ) API 名 説明 aidl_getcategorylist_ex デコメ絵文字のカテゴリ情報一覧を返却する 引数 No 引数名 型 I/O Must/Opt. 説明 1 maxdisplaycnt int I Must 1 画面に表示するデコメ絵文字の数 (0 < maxdisplaycnt <= 72) 2 categorylist List<DecoEmojiCategoryInfo> O - 取得したカテゴリ情報のList 3 emojitype int I Must 表示対象の対象絵文字タイプ ( emojitype ) を指定する (0x0000 <emojitype <= 0x000F) 返値 No 型 説明 1 int IDecoEmojiConstant.OK: 正常終了 IDecoEmojiConstant.NG_CATEGORY_INFO: カテゴリ情報の取得中に問題が発生した (DB エラーを含む ) 前提 DecoEmojiManager により初期データが構築されていること 概略説明デコメ絵文字のカテゴリ情報一覧を返却する 第 3 引数 (emojitype) にて指定された絵文字種別の画像を含むカテゴリを返却する 補足現在 emojitype にて指定できる対象絵文字タイプ ( emojitype ) は以下のいずれか 値 0x000F 0x000E 0x0001 絵文字種別デコメ絵文字およびデコメピクチャデコメピクチャデコメ絵文字 対象絵文字タイプ ( emojitype ) に上記以外の値を指定された場合の動作は不定 59
60 URI 一覧取得 API 名 説明 aidl_getdecourilist 引数のカテゴリ ID に紐づくデコメ絵文字の URI 一覧を返却する 引数 No 引数名 型 I/O Must/Opt. 説明 1 categoryid int I Must 取得対象カテゴリのID(1 <= カテゴリID <= intの最大値 ) 2 pageindex int I Must 取得対象のページ番号 (0オリジン) 3 urilist List<String> O - 指定されたページに表示するデコメ絵文字の URIのList 返値 No 型 説明 1 int IDecoEmojiConstant.OK: 正常終了 IDecoEmojiConstant.NG_ID: 第 1 引数 categoryid の値が範囲外 IDecoEmojiConstant.NG_PAGE_CNT: 第 2 引数 pageindex で指定されたページが存在しない IDecoEmojiConstant.NG_URI_INFO:URI の取得中に問題が発生した (DB エラーを含む ) IDecoEmojiConstant.NG_DISP_CNT: 表示数が未設定 前提 DecoEmojiManager により初期データが構築されていること 利用前に aidl_getcategorylist() を呼び出し あらかじめ表示数を設定しておくこと ( 未設定の場合 エラー となる ) 概略説明引数のカテゴリ ID に紐づくデコメ絵文字の URI 一覧を返却する 本 API にて返却する絵文字種別は 1 デコメ絵文字 (20*20) のみ サンプルコード : IDecoEmojiManager midecoemojimanagerif = null; ServiceConnection serviceconn = new ServiceConnection() { public void onserviceconnected(componentname componentname, IBinder ibinder) { midecoemojimanagerif = IDecoEmojiManager.Stub.asInterface(iBinder); : } } : Intent intentbindsearvice = new Intent(IDecoEmojiManager.class.getName()); bindservice(intentbindsearvice, serviceconn, Context.BIND_AUTO_CREATE); : List<DecoEmojiCategoryInfo> categoryinfolist = new ArrayList<DecoEmojiCategoryInfo>(); List<String> decoemojiurilist = new ArrayList<String>(); midecoemojimanagerif.aidl_getcategorylist(60, categoryinfolist); // 60 個まで midecoemojimanagerif.aidl_getdecourilist(categoryinfolist[0].getcategoryid(), 0, decoemojiurilist); 60
61 URI 一覧取得 ( デコメ絵文字用拡張 ) API 名 説明 aidl_getdecourilist_ex 引数のカテゴリ ID に紐づくデコメ絵文字の URI 一覧を返却する 引数 No 引数名 型 I/O Must/Opt. 説明 1 categoryid int I Must 取得対象カテゴリのID(1 <= カテゴリID <= intの最大値 ) 2 pageindex int I Must 取得対象のページ番号 (0オリジン) 3 urilist List<String> O - 指定されたページに表示するデコメ絵文字の URIのList emojitype int I Must 表示対象の対象絵文字タイプ ( emojitype ) を 4 指定する (0x0000 <emojitype <= 0x000F) 返値 No 型 説明 1 int IDecoEmojiConstant.OK: 正常終了 IDecoEmojiConstant.NG_ID: 第 1 引数 categoryid の値が範囲外 IDecoEmojiConstant.NG_PAGE_CNT: 第 2 引数 pageindex で指定されたページが存在しない IDecoEmojiConstant.NG_URI_INFO:URI の取得中に問題が発生した (DB エラーを含む ) IDecoEmojiConstant.NG_DISP_CNT: 表示数が未設定 前提 DecoEmojiManager により初期データが構築されていること 利用前に aidl_getcategorylist_ex() を呼び出し あらかじめ表示数を設定しておくこと ( 未設定の場合 エラ ーとなる ) 概略説明引数のカテゴリ ID に紐づくデコメ絵文字の URI 一覧を返却する 第 3 引数 (emojitype) にて指定された絵文字種別を含むカテゴリを返却する 補足現在 emojitype にて指定できる対象絵文字タイプ ( emojitype ) は以下のいずれか 値 0x000F 0x000E 0x0001 絵文字種別デコメ絵文字およびデコメピクチャデコメピクチャデコメ絵文字 対象絵文字タイプ ( emojitype ) に上記以外の値を指定された場合の動作は不定 61
62 サンプルコード : IDecoEmojiManager midecoemojimanagerif = null; ServiceConnection serviceconn = new ServiceConnection() { public void onserviceconnected(componentname componentname, IBinder ibinder) { midecoemojimanagerif = IDecoEmojiManager.Stub.asInterface(iBinder); : } } : Intent intentbindsearvice = new Intent(IDecoEmojiManager.class.getName()); bindservice(intentbindsearvice, serviceconn, Context.BIND_AUTO_CREATE); : List<DecoEmojiCategoryInfo> categoryinfolist = new ArrayList<DecoEmojiCategoryInfo>(); List<String> decoemojiurilist = new ArrayList<String>(); midecoemojimanagerif.aidl_getcategorylist_ex(60, categoryinfolist, 0x000F); // 60 個まで midecoemojimanagerif.aidl_getdecourilist_ex(categoryinfolist[0].getcategoryid(), 0, decoemojiurilist, 0x000F); 62
63 デコメ絵文字更新チェック API 名 aidl_checkdecoemoji 説明 引数のデコメ絵文字 IDより後に追加更新されたデコメ絵文字を抽出し 追加分のデコメ絵文字辞書更新情報をブロードキャスト送信する 引数 No 引数名 型 I/O Must/Opt. 説明 decoemoji_id int I Must デコメ絵文字 ID IME 側で最後に追加したデ 1 コメ絵文字 ID デコメ絵文字 ID:-1(*1), 0~9,999 2 ime_name String I Must IMEパッケージ名 呼出元 IMEのパッケージ名 返値 No 型 説明 1 int IDecoEmojiConstant.OK: 正常終了 IDecoEmojiConstant.NG_INITIALIZING: 初期化処理中 IDecoEmojiConstant.NG_DIC_INFO: 読み / 品詞の取得中に問題が発生 (DB エラーを含む ) IDecoEmojiConstant.NG_ID: decoemoji_id の値が範囲外 IDecoEmojiConstant.NG_IME_NAME: ime_name の値が null 前提 DecoEmojiManager により初期データが構築されていること 概略説明引数のデコメ絵文字 ID より後に追加されたデコメ絵文字を抽出し 追加分のデコメ絵文字辞書操作情報をブロードキャスト送信する (*1) 全デコメ絵文字データの再取得処理を行う場合は 第一引数 (decoemoji_id) に -1 を指定する 63
64 デコメ絵文字拡張情報取得デコメ絵文字の画像データ (GIF JPEG) 内に格納されている拡張情報データを取得するために用いる この API を使用するためには デコメ絵文字の画像データ内に取得したい拡張情報データが格納されている必要がある フォーマットについては デコメ絵文字フォーマット 参照のこと API 名 説明 aidl_gettaginfo デコメ絵文字の画像データ (GIF JPEG) 内に格納されている拡張情報データを取得する 引数 No 引数名 型 I/O Must/Opt. 説明 1 uri String I Must 取得したいデコメ絵文字 URI 2 tag_name String I Must 取得したいカスタムタグ名 3 tag_info List<String> O Must 指定されたデコメ絵文字 URIのカスタムタグから取得した拡張情報 最大 10 件まで取得できる 返値 No 型 説明 1 int IDecoEmojiConstant.OK: 正常終了 IDecoEmojiConstant.NG_URI: 第 1 引数 (uri) が null IDecoEmojiConstant.NG_TAG: 第 2 引数 (tag_name) が null IDecoEmojiConstant.NG_TAG_INFO_NULL: 第 3 引数 (tag_info) が null IDecoEmojiConstant.NG_TAG_INFO_READ: 拡張情報取得中に問題が発生 概略説明 第 1 引数 (uri) で指定されたコンテンツの付加情報において 第 2 引数 (tag_name) と一致するカスタムタグ名 (<tags > タグ内のname 属性の値 ) が存在した場合 要素の内容を第 3 引数 (tag_info) 内にセットして返す 第 2 引数 (tag_name) と一致するカスタムタグ名が存在しない場合 IDecoEmojiConstant.NG_TAG_INFO_READ を返す 第 1 引数 (uri) で指定されたコンテンツの付加情報に 第 2 引数 (tag_name) と一致するカスタムタグが複数件存 在する場合 最大 10 件まで取得することができる 10 件以上のデータが存在する場合は 前方から 10 件分 を取得する 64
65 履歴情報 表示順更新 API 名 説明 aidl_changehistory デコメ絵文字 / デコメピクチャの利用履歴を更新する 引数 No 引数名 型 I/O Must/Opt. 説明 1 uri String I Must 履歴を更新したいデコメ絵文字 URI 2 3 返値 No 型 説明 1 int IDecoEmojiConstant.OK: 正常終了 IDecoEmojiConstant.NG_URI: 第 1 引数 (uri) が null IDecoEmojiConstant.NG_HISTORY_CHANGE: 履歴情報を更新中に問題が発生 概略説明 第 1 引数 (uri) に指定したデコメ絵文字の履歴情報を最新のものに更新する 更新対象は デコメ絵文字情報テーブル. 最終利用表示順およびデコメ絵文字情報テーブル. 利用履歴表示順と なる 65
66 履歴情報 表示順リセット API 名 説明 aidl_resethistorycnt デコメ絵文字情報テーブル. 利用履歴表示順をリセットする 引数 No 引数名 型 I/O Must/Opt. 説明 1 target Int I Must リセットする対象を指定する ( 値は概略説明を参照のこと ) 2 3 返値 No 型 説明 1 int IDecoEmojiConstant.OK: 正常終了 IDecoEmojiConstant.NG_TARGET: 第 1 引数 (target) が不正 (3 以上 null) IDecoEmojiConstant.NG_HISTORY_RESET: 履歴情報をリセット中に問題が発生 概略説明 デコメ絵文字情報テーブル. 利用履歴表示順をリセットする 第 1 引数 (target) に指定したフィールドを対象とする 値の詳細は以下の通り 0 : 履歴情報を削除し カテゴリ内表示順を初期化する ( デコメ絵文字情報テーブル. 最終利用表示順 / 利用履歴表示順の両方をリセット ) 1 : カテゴリ内表示順を初期化する ( デコメ絵文字情報テーブル. 最終利用表示順をリセット ) 2 : 履歴情報を削除する ( デコメ絵文字情報テーブル. 利用履歴表示順をリセット ) 66
67 履歴情報 URI 取得 API 名 説明 aidl_gethistoryurilist デコメ絵文字情報テーブル. 利用履歴表示順に URI を取得する 引数 No 引数名 型 I/O Must/Opt. 説明 1 maxgetcnt int I Must 取得対象のデコメ絵文字の最大数 2 emojitype int I Must 表示対象の対象絵文字タイプ ( emojitype ) を指定する (0x0000 <emojitype <= 0x000F) 3 urilist List<String> O - 取得対象のデコメ絵文字のURIのList 返値 No 型 説明 1 int IDecoEmojiConstant.OK: 正常終了 IDecoEmojiConstant.NG_MAX_GET_CNT: 第 1 引数 maxgetcnt の値が不正 IDecoEmojiConstant.NG_URI_INFO:URI の取得中に問題が発生した (DB エラーを含む ) 概略説明 第一引数(maxGetcnt) に指定された最大数の範囲内で 利用履歴の順にデコメ絵文字のURIを取得する 67
68 利用クラス パッケージ名 :jp.co.omronsoft.android.decoemojimanager_<career>.interfacedata DecoEmojiUriInfoクラスメソッド 引数 内容 DecoEmojiUriInfo() なし オブジェクトの生成 DecoEmojiUriInfo(Parcel in) in:parcel 指定 in から文字列を読み出し URI として設定する geturi() なし 保持する URI を返す seturi(string uri) uri : URI URI を設定する DecoEmojiCategoryInfoクラスメソッド 引数 内容 DecoEmojiCategoryInfo () なし オブジェクトの生成 DecoEmojiCategoryInfo (Parcel in) in:parcel 指定 in から id(int) 日本語カテゴリ名 ( 文字列 ) 英語カテゴリ名 ( 文字列 ) ページ数 (int) を読み出して設定する int getcategoryid () なし 保持するカテゴリの ID を返す String なし 保持するカテゴリ名 ( 日本語 ) を返す getcategoryname_jpn() String なし 保持するカテゴリ名 ( 英語 ) を返す getcategoryname_eng() int getcategorypresetid() なし 保持するカテゴリプリセット ID を返す int getpagecnt() なし 保持するページ数を返す void setcategoryid(int category_id: カ カテゴリ ID を設定する category_id) テゴリ ID void setcategoryname_jpn(string category_name) category_name : カテゴリ名 カテゴリ名 ( 日本語 ) を設定する void setcategoryname_eng(strin g category_name) void setcategorypresetid(int category_preset_id) category_name : カテゴリ名 Category_prese t_id: カテゴリプリセット ID void setpagecnt(int pagecnt) pagecnt : ページ数 カテゴリ名 ( 英語 ) を設定する カテゴリプリセット ID を設定する ページ数を設定する DecoEmojiAttrInfoクラスメソッド 引数 内容 DecoEmojiAttrInfo () なし オブジェクトの生成 DecoEmojiAttrInfo(Parcel in) in:parcel 指定 in から ID(int) 読み( 文字列配列 ) 品詞(byte 配列 ) 表記 ( 文字列配列 ) を読み出して設定する int getid() なし ID を取得する void setid(int id) id : ID ID を設定する String getname(int idx) idx: インデックス idx 番目の読みを取得する byte getpart(int idx) idx: インデックス idx 番目の品詞を取得する void setname(int idx, String idx: インデックス idx 番目の読みを設定する name) name : 読み void setpart(int idx, byte idx: インデックス idx 番目の品詞を設定する part) part : 品詞 String getnote(int idx) idx: インデックス idx 番目の表記を取得する void setnote(int idx, String note) idx: インデックス note : 表記 idx 番目の表記を設定する 68
69 定数 DecoEmojiManager エラー値 名前 意味 値 IDecoEmojiConstant.OK 正常終了 0 IDecoEmojiConstant.NG_INITIALIZING エラー : 初期データ構築中 -1 IDecoEmojiConstant.NG_DIC_INFO エラー : 読み / 品詞の取得中に問題が発生し -2 た (DB エラーを含む ) IDecoEmojiConstant.NG_ID エラー : decoemoji_id の値が範囲外 -3 IDecoEmojiConstant.NG_OPERATION エラー : flag の値が範囲外 -5 IDecoEmojiConstant.NG_IME_NAME エラー : ime_info の値が null -6 IDecoEmojiConstant.NG_URI_INFO エラー :URI の取得中に問題が発生 (DBエ -10 ラーを含む ) IDecoEmojiConstant.NG_DIC_FULL エラー : 登録済の読み / 品詞の件数が上限 -11 (20000) に達した IDecoEmojiConstant.NG_ID_FULL エラー : 登録済のデコメ絵文字の件数が上 -12 限 (10000) に達した IDecoEmojiConstant.NG_NOT_REGISTERED_ID エラー : 登録されていない URI を指定 -18 IDecoEmojiConstant.NG_URI エラー : uri の値が不正 -19 IDecoEmojiConstant.NG_REGISTERED_URI エラー : 登録済の URI を指定 -20 IDecoEmojiConstant.NG_TAG エラー : 引数の拡張タグ名が null -21 IDecoEmojiConstant.NG_TAG_INFO_NULL エラー : 引数の拡張タグ情報リストが null -22 IDecoEmojiConstant.NG_TAG_INFO_READ エラー : 拡張タグ情報取得中に問題が発生 DecoEmojiManager 操作種別 名前 意味 値 IDecoEmojiConstant.FLAG_INSERT 追加 0 IDecoEmojiConstant.FLAG_DELETE 削除 2 IDecoEmojiConstant.FLAG_SET_TO_INITIALIZING 初期化 4 IDecoEmojiConstant.FLAG_FINISH 更新データなし DecoEmojiManager ブロードキャスト関連 名前 意味 値 IDecoEmojiConstant. BROADCAST_DATA_TAG データ "DecoEmojiInformation" IDecoEmojiConstant. BROADCAST_ID_TAG ID Id IDecoEmojiConstant. BROADCAST_TYPE_TAG タイプ Type IDecoEmojiConstant.BROADCAST_TIMESTAMPTAG 更新タイムスタンプ "TimeStamp" デコメ絵文字辞書 IDecoEmojiConstant.ACTION_DECOEMOJI_RESUL T IDecoEmojiConstant.ACTION_CHANGE_DATABASE 更新情報デコメ絵文字情報更新情報 "jp.co.omronsoft.android.dec oemojimanager_<career>" "jp.co.omronsoft.android.dec oemojimanager_<career>.c HANGE_DATABASE" 69
70 DecoEmojiManager 発行インテント DecoEmojiManager から送出される Intent の詳細について説明する DecoEmojiManager では 次の二つの Intent を発行する (1) デコメ絵文字情報更新通知デコメ絵文字情報を保持するアプリに対して デコメ絵文字情報の更新を通知する (2) デコメ絵文字辞書更新通知デコメ絵文字辞書情報を保持するアプリに対し デコメ絵文字辞書情報の更新を通知する デコメ絵文字情報更新通知 データ名称 Action 名 Extras IDecoEmojiConstant.BROADCAST_TYPE_TAG IDecoEmojiConstant.BROADCAST_URI_TAG IDecoEmojiConstant.BROADCAST_TIMESTAMP_TAG 入出力内容 IDecoEmojiConstant.ACTION_CHANGE_DATABASE 更新区分 格納する区分は下記の通り 追加 :0 削除 :2 初期化 :4 更新画像の URI 更新区分が初期化時は null 更新画像のタイムスタンプデータ 更新区分が初期化時は null サンプルコード : public void onreceive(final Context context, Intent intent) { // intent 識別子を取得 String action = intent.getaction(); if (action.equals(idecoemojiconstant.action_change_database)) { // IntentBundle を取得する Bundle bundle = intent.getextras(); // Type を取得する int type = bundle.getint(idecoemojiconstant.broadcast_type_tag); if (type!= IDecoEmojiConstant.FLAG_SET_TO_INITIALIZING) { // URI を取得する String uri = bundle.getstring(idecoemojiconstant.broadcast_uri_tag); // 更新時の TimeStamp を取得する String timestamp = bundle.getstring(idecoemojiconstant.broadcast_timestamp_tag); } } } 70
71 デコメ絵文字辞書更新通知 Intent の構造 Intent Action 名 Extras "Type" int "Id" int "DecoEmojiInformation" ArrayList [ 0 ] [ 1 ] [ 2 ] DecoEmojiAttrInfo DecoEmojiAttrInfo DecoEmojiAttrInfo データ名称 Action 名 Extras Type Id 入出力内容 デコメ絵文字更新チェック呼出に対する応答の場合呼出元 IME のパッケージ名 上記以外の場合 IDecoEmojiConstant.ACTION_DECOEMOJI_RESULT 更新区分 格納する区分は下記の通り 追加 :0 削除 :2 初期化 :4 更新データなし :9 受信済デコメ絵文字 ID デコメ絵文字更新チェック呼出に対する応答時のみ有効な値を格納する デコメ絵文字更新チェック呼出に対する応答の場合デコメ絵文字更新チェック呼出時 引数 decoemoji_id で渡されたデコメ絵文字 ID 上記以外の場合 -1 固定 DecoEmojiInformation DecoEmojiAttrInfo の ArrayList DecoEmojiAttrInfo には 更新対象デコメ絵文字 ID 読み一覧 品詞一覧が含まれる サンプルコード : public void onreceive(final Context context, Intent intent) { Bundle bundle = intent.getextras(); int type = bundle.getint(idecoemojiconstant.broadcast_type_tag); if (type!= IDecoEmojiConstant.FLAG_FINISH) { List<DecoEmojiAttrInfo> receivedatalist = bundle.getparcelablearraylist(idecoemojiconstant.broadcast_data_tag); } } 71
72 14.7. 絵文字マネージャ DecoEmojiManager (Content Provider) インタフェース 絵文字パッケージで提供する Content Provider 機能 Android フレームワークでは Content Provider と呼ばれるデータ操作 / 参照機能が用意されている 絵文字パッケージでは 絵文字マネージャ (DecoEmojiManager) が管理するデコメ絵文字の DB を参照 (query) できる ContentProvider 機能を提供する 外部のアプリケーションから Content Provider 経由でのデータ操作 ( 追加 (insert)/ 変更 (update)/ 削除 (delete)) はできない 前提条件絵文字パッケージでの Content Provider 機能の前提は以下の通り 絵文字パッケージがインストールされていること デコメ絵文字を管理するデータベースが存在すること もしデータベースが存在しない状態で本機能を使用した場合は エラーとなる なお 絵文字マネージャ (DecoEmojiManager) は データベースが存在しない場合 起動時にデータベースを生成する仕組みであるため 起動から一定時間経過後に本機能は使用可能となる 取得モード一覧および取得データ一覧 本 ContentProvider 機能において データ取得インタフェースの種別を 取得モード と呼ぶ 取得モードご との取得データは以下の通りである 取得データの詳細は 取得データ詳細 参照 No 取得モード 取得モード別 ( 実デー 取得データ タ ) 1 デコメ絵文字情報一覧取得 decoinfolist デコメ絵文字情報テーブル 2 デコメ絵文字情報件数取得 decoinfocount デコメ絵文字情報件数テーブル 3 デコメ絵文字辞書一覧取得 decodiclist デコメ絵文字辞書テーブル 4 デコメ絵文字辞書件数取得 decodiccount デコメ絵文字辞書件数テーブル 使用方法 Content Provider では ContetURI に基づき データを取得する 本 ContentProvider での取得モード別の ContetURI 定数は以下の通り No 取得モード ContetURI 定数 1 デコメ絵文字情報一覧取得 CONTENT_DECOINFOLIST_URI 2 デコメ絵文字情報件数取得 CONTENT_DECOINFO_COUNT_URI 3 デコメ絵文字辞書一覧取得 CONTENT_DECODICLIST_URI 4 デコメ絵文字辞書件数取得 CONTENT_DECODIC_COUNT_URI なお No.1 3 については 詳細な条件指定をせずに簡易にデータを取得する方法もある 詳細は 取得モード詳細 参照 72
73 取得データ詳細 デコメ絵文字情報テーブル No 項目名称 型 備考 1 デコメ絵文字 ID INTEGER 2 デコメ絵文字 URI TEXT 3 カテゴリ ID INTEGER 4 カテゴリ名 ( 日本語 ) TEXT 5 カテゴリ名 ( 英語 ) TEXT 6 カテゴリプリセット ID INTEGER カテゴリプリセット ID プリセットに設定されているカテゴリは プリセットの設定順に 0 から順に割り当てられる プリセット以外の ID については プリセットカテゴリ数が ID として割り当てられる 未分類については 最大カテゴリ数 +1が ID として割り当てられる 7 ディレクトリ ID INTEGER 8 ディレクトリ名 TEXT 9 更新タイムスタンプ INTEGER 10 ファイルサイズ INTEGER 11 拡張タグ名 TEXT デコメ絵文字拡張情報取得 機能に関連 データベース登録時にカスタムタグ名 (<tags > タグ内のname 属性の値 ) が登録されている 複数のカスタムタグ名が存在する場合には カンマ区切りで登録されている 12 幅 INTEGER 13 高さ INTEGER 14 絵文字種別 INTEGER 1: デコメ絵文字 2~4: デコメピクチャ 15 最終利用表示順 INTEGER 16 利用履歴表示順 INTEGER 17 デコメ絵文字 pop 識別フラグ INTEGER 0: デコメ絵文字 pop 識別フラグなし 1: デコメ絵文字 pop 識別フラグあり デコメ絵文字情報件数テーブル No 項目名称 型 備考 1 デコメ絵文字情報件数 INTEGER デコメ絵文字辞書テーブル No 項目名称 型 備考 1 デコメ絵文字 ID INTEGER 2 デコメ絵文字 URI TEXT 3 読み TEXT 4 品詞 INTEGER 5 表記 TEXT 6 更新タイムスタンプ INTEGER デコメ絵文字辞書件数テーブル No 項目名称 型 備考 1 デコメ絵文字辞書件数 INTEGER 73
74 取得モード詳細 デコメ絵文字情報一覧取得 I F インタフェース名 デコメ絵文字情報一覧取得 取得モード decoinfolist 説明 デコメ絵文字情報テーブルから 検索条件に沿ったデコメ絵文字情報データ一覧を取得する 引数 No 引数名 型 Must/Opt. 説明 Uri Uri Must 詳細取得方式. DecoEmojiContract.CONTENT_DECOINFOLIST_URI 1 簡易取得方式 DecoEmojiContract.CONTENT_DECOINFOLIST_URI/[ デコメ絵文字 ID] デコメ絵文字 IDを指定して取得する場合は [ デコメ絵文字 ID] にデコメ絵文字 IDを指定します projection String[] Opt 取得カラム 取得するカラム名 2 省略する場合はNULLを指定する その場合 全ての項目を取得する (*1) 取得項目参照 selection String Opt フィルタ フィルタ (Where 条件 ) 3 省略する場合はNULLを指定する その場合 全ての項目を取得する (*2) 取得条件参照 selectionargs String[] Opt クエリパラメータ クエリパラメータ 4 省略する場合はNULLを指定する その場合 全ての項目を取得する (*2) 取得条件参照 sortorder String Opt ソート順 ソート順 5 省略する場合はNULLを指定する その場合 昇順で取得する (*3) ソート順参照 戻り値 No 型 説明 1 Cursor デコメ絵文字情報テーブルへのカーソル (*1) 取得項目 No 項目名 項目 ID 型 備考 1 デコメ絵文字 ID decoemoji_id INTEGER 2 デコメ絵文字 URI uri TEXT 3 カテゴリID category_id INTEGER 4 カテゴリ名 ( 日本語 ) category_name_jpn TEXT カテゴリが存在しない場合 NULLを返す 5 カテゴリ名 ( 英語 ) category_name_eng TEXT カテゴリが存在しない場合 NULLを返す 6 カテゴリプリセットID category_preset_id INTEGER 7 ディレクトリID directory_id INTEGER 8 ディレクトリ名 directory_name TEXT ディレクトリが存在しない場合 NULLを返す 9 更新タイムスタンプ timestamp INTEGER 10 ファイルサイズ file_size INTEGER 11 拡張タグ名 tags TEXT 12 幅 width INTEGER 13 高さ height INTEGER 14 絵文字種別 kind INTEGER 1: デコメ絵文字 2~4: デコメピクチャ 15 最終利用表示順 last_use_cnt INTEGER 16 利用履歴表示順 history_cnt INTEGER 17 デコメ絵文字 pop 識別フラグ decome_pop_flag INTEGER 0: デコメ絵文字 pop 識別フラグなし 1: デコメ絵文字 pop 識別フラグあり 74
75 (*2) 取得条件 No 項目名 項目 ID 型 備考 1 デコメ絵文字 ID decoemoji_id INTEGER 2 デコメ絵文字 URI uri TEXT 3 カテゴリID category_id INTEGER 4 カテゴリ名 ( 日本語 ) category_name_jpn TEXT 5 カテゴリ名 ( 英語 ) category_name_eng TEXT 6 カテゴリプリセットID category_preset_id INTEGER 7 ディレクトリID directory_id INTEGER 8 ディレクトリ名 directory_name TEXT 9 更新タイムスタンプ timestamp INTEGER 10 ファイルサイズ file_size INTEGER 11 拡張タグ名 tags TEXT 12 幅 width INTEGER 13 高さ height INTEGER 14 絵文字種別 kind INTEGER 1: デコメ絵文字 2~4: デコメピクチャ 15 最終利用表示順 last_use_cnt INTEGER 16 利用履歴表示順 history_cnt INTEGER 17 デコメ絵文字 pop 識別フラグ decome_pop_flag INTEGER 0: デコメ絵文字 pop 識別フラグなし 1: デコメ絵文字 pop 識別フラグあり (*3) ソート順 No 項目名 項目 ID 昇順 (ASC)/ 降順 (DESC) 初期値 1 デコメ絵文字 ID decoemoji_id 昇順 降順 昇順 2 デコメ絵文字 URI uri 昇順 降順 - 3 カテゴリID category_id 昇順 降順 - 4 カテゴリ名 ( 日本語 ) category_name_jpn 昇順 降順 - 5 カテゴリ名 ( 英語 ) category_name_eng 昇順 降順 - 6 カテゴリプリセットID category_preset_id 昇順 降順 7 ディレクトリID directory_id 昇順 降順 - 8 ディレクトリ名 directory_name 昇順 降順 - 9 更新タイムスタンプ timestamp 昇順 降順 - 10 ファイルサイズ file_size 昇順 降順 - 11 拡張タグ名 tags 昇順 降順 - 12 幅 width 昇順 降順 13 高さ height 昇順 降順 14 絵文字種別 kind 昇順 降順 1: デコメ絵文字 2~4: デコメピクチャ 15 最終利用表示順 last_use_cnt 昇順 降順 16 利用履歴表示順 history_cnt 昇順 降順 17 デコメ絵文字 pop 識別フラグ decome_pop_flag 昇順 降順 0: デコメ絵文字 pop 識別フラグなし 1: デコメ絵文字 pop 識別フラグあり 75
76 サンプルコード ( 詳細取得方式 ): String column[] = {DecoEmojiContract.DecoEmojiInfoColumns.USE_FLAG}; String selection = DecoEmojiContract.DecoEmojiInfoColumns.DIRECTORY_NAME + " like?"; String arg[] = {"%a%"}; String order = DecoEmojiContract.DecoEmojiInfoColumns.DIRECTORY_ID + " DESC"; Cursor cur = resolver.query(decoemojicontract.content_decoinfolist_uri, column, selection, arg, order); サンプルコード ( 簡易取得方式 ): デコメ絵文字 ID = 1234 を取得したい場合 Cursor cur = resolver.query(decoemojicontract.content_decoinfolist_uri/1234, null, null, null, null); サンプルコード : カテゴリ一覧を取得したい場合 // 入力フィールドに設定されている対象絵文字タイプ ( emojitype ) を取得 int emojitype = bundle.getint( emojitype ); // 絵文字タイプを SQL 条件文字列に変換 String kind = DecoEmojiContract.makeStringEmojiKind(emojiType); // 条件句を作成 // 条件として絵文字種別の設定を行う String selection = DecoEmojiContract.DecoEmojiInfoColumns.KIND + " IN (" + kind + ")"; // order 句を作成 // プリセットの順番に取得できるように設定 String order = DecoEmojiContract.DecoEmojiInfoColumns.CATEGORY_PRESET_ID + " asc" ; // カテゴリ取得 Cursor cursor = mlocalcontext.getcontentresolver().query(decoemojicontract.content_decoinfolist_uri, null, selection, null, order); if (cursor!= null) { while (cursor.movetonext()) { DecoEmojiCategoryInfo values = new DecoEmojiCategoryInfo(); int categoryid = cursor.getint(cursor.getcolumnindex(decoemojicontract.decoemojiinfocolumns.category_id)); values.setcategoryid(categoryid); values.setcategoryname_jpn(cursor.getstring(cursor.getcolumnindex(decoemojicontract.decoemojiinfocolumns.category_name_jpn))); values.setcategoryname_eng(cursor.getstring(cursor.getcolumnindex(decoemojicontract.decoemojiinfocolumns.category_name_eng))); boolean overlap = false; // 1 カテゴリ内に複数のコンテンツがある場合には データが重複している為 // 重複チェックを行う for (int cnt = 0; cnt < mcategoryinfolist.size(); cnt++) { if (mcategoryinfolist.get(cnt).getcategoryid() == categoryid) { overlap = true; break; } } // 重複がある場合には 次のリストを取得する if (overlap) { continue; } // カテゴリ情報を追加する mcategoryinfolist.add(values); } cursor.close(); } 76
77 サンプルコード : URI 一覧を取得した場合 // 入力フィールドに設定されている対象絵文字タイプ ( emojitype ) を取得 int emojitype = bundle.getint( emojitype ); // 絵文字タイプを SQL 条件文字列に変換 String kind = DecoEmojiContract.makeStringEmojiKind(emojiType); // カラムを作成 String projection [] = {DecoEmojiContract.DecoEmojiInfoColumns.URI, DecoEmojiContract.DecoEmojiInfoColumns.KIND }; // 条件句を作成 // 条件として絵文字種別の設定を行う String selection = " (" + DecoEmojiContract.DecoEmojiInfoColumns.CATEGORY_ID + " =?) and ( " + DecoEmojiContract.DecoEmojiInfoColumns.KIND + " in( " + kind + " ) ) "; // order 句を作成 // 表示順で取得できるようにソート条件を設定する String order = DecoEmojiContract.DecoEmojiInfoColumns.LAST_USE_CNT + " desc" ; String arg[] = {""}; arg[0]= String.valueOf(categoryInfo.getCategoryId()); // カテゴリ取得 // URI 一覧取得 Cursor cursor = mlocalcontext.getcontentresolver().query(decoemojicontract.content_decoinfolist_uri, projection, selection, arg, order); if (cursor!= null) { while (cursor.movetonext()) { // デコメピクチャの判定を行い デコメピクチャは最後に一括で追加するようにする if (cursor.getint( cursor.getcolumnindex (DecoEmojiContract.DecoEmojiInfoColumns.KIND))!= ecoemojicontract.kind_picture ){ mcurrentdecoemojiurilist.add(cursor.getstring( cursor.getcolumnindex(decoemojicontract.decoemojiinfocolumns.uri)) ); } else { tmpdecoemojiurilist.add(cursor.getstring( cursor.getcolumnindex(decoemojicontract.decoemojiinfocolumns.uri))); } } mcurrentdecoemojiurilist.addall(tmpdecoemojiurilist); cursor.close(); } 77
78 デコメ絵文字情報件数取得 I F インタフェース名 デコメ絵文字情報件数取得 取得モード decoinfocount 説明 デコメ絵文字情報テーブルから 検索条件に沿った件数を取得する 引数 No 引数名 型 Must/Opt. 説明 1 Uri Uri Must DecoEmojiContract. CONTENT_DECOINFOLIST_COUNT_URI 2 projection String[] - 取得カラム 取得するカラム名取得カラムの指定は不要 selection String Opt フィルタ フィルタ (Where 条件 ) 3 省略する場合はNULLを指定する その場合 全ての項目を取得する (*2) 取得条件参照 selectionargs String[] Opt クエリパラメータ クエリパラメータ 4 省略する場合はNULLを指定する その場合 全ての項目を取得する (*2) 取得条件参照 5 sortorder String - ソート順 ソート順ソート順の指定は不要 戻り値 No 型 説明 1 Cursor デコメ絵文字情報件数テーブルへのカーソル (*1) 取得項目 No 項目名 項目 ID 型 備考 1 デコメ絵文字情報件数 decoemoji_info_cnt INTEGER (*2) 取得条件 No 項目名 項目 ID 型 備考 1 デコメ絵文字 ID decoemoji_id INTEGER 2 デコメ絵文字 URI uri TEXT 3 カテゴリID category_id INTEGER 4 カテゴリ名 ( 日本語 ) category_name_jpn TEXT 5 カテゴリ名 ( 英語 ) category_name_eng TEXT 6 カテゴリプリセットID category_preset_id INTEGER 7 ディレクトリID directory_id INTEGER 8 ディレクトリ名 directory_name TEXT 9 更新タイムスタンプ timestamp INTEGER 10 ファイルサイズ file_size INTEGER 11 拡張タグ名 tags TEXT 12 幅 width INTEGER 13 高さ height INTEGER 14 絵文字種別 kind INTEGER 1: デコメ絵文字 2~4: デコメピクチャ 15 最終利用表示順 last_use_cnt INTEGER 16 利用履歴表示順 history_cnt INTEGER 17 デコメ絵文字 pop 識別フラグ decome_pop_flag INTEGER 0: デコメ絵文字 pop 識別フラグなし 1: デコメ絵文字 pop 識別フラグあり (*3) ソート順 ソート順の指定は不要 サンプルコード ( 詳細取得方式 ) : 78
79 String selection = DecoEmojiContract.DecoEmojiInfoColumns.DIRECTORY_NAME + " like?"; String arg[] = {"%a%"}; Cursor cur = resolver.query(decoemojicontract. CONTENT_DECOINFOLIST_COUNT_URI, null, selection, arg, null); 79
80 デコメ絵文字辞書一覧取得 I F インタフェース名 デコメ絵文字辞書一覧取得 取得モード decodiclist 説明 デコメ絵文字辞書テーブルから 検索条件に沿ったデコメ絵文字情報データ一覧を取得する 引数 No 引数名 型 Must/Opt. 説明 Uri Uri Must 詳細取得方式 DecoEmojiContract.CONTENT_DECODICLIST_URI 1 簡易取得方式 DecoEmojiContract.CONTENT_DECODICLIST_URI/[ デコメ絵文字 ID] デコメ絵文字 IDを指定して取得する場合は [ デコメ絵文字 ID] にデコメ絵文字 IDを指定します projection String[] Opt 取得カラム 取得するカラム名 2 省略する場合はNULLを指定する その場合 全ての項目を取得する (*1) 取得項目参照 selection String Opt フィルタ フィルタ (Where 条件 ) 3 省略する場合はNULLを指定する その場合 全ての項目を取得する (*2) 取得条件参照 selectionargs String[] Opt クエリパラメータ クエリパラメータ 4 省略する場合はNULLを指定する その場合 全ての項目を取得する (*2) 取得条件参照 sortorder String Opt ソート順 ソート順 5 省略する場合はNULLを指定する その場合 昇順で取得する (*3) ソート順参照 戻り値 No 型 説明 1 Cursor デコメ絵文字辞書テーブルへのカーソル (*1) 取得項目 No 項目名 項目 ID 型 備考 1 デコメ絵文字 ID decoemoji_id INTEGER 2 デコメ絵文字 URI uri TEXT 3 読み decoemoji_name TEXT 4 品詞 decoemoji_part INTEGER 5 表記 decoemoji_note TEXT 6 更新タイムスタンプ timestamp INTEGER (*2) 取得条件 No 項目名 項目 ID 型 備考 1 デコメ絵文字 ID decoemoji_id INTEGER 2 デコメ絵文字 URI uri TEXT 3 読み decoemoji_name TEXT 4 品詞 decoemoji_part INTEGER 5 表記 decoemoji_note TEXT 6 更新タイムスタンプ timestamp INTEGER (*3) ソート順 No 項目名 項目 ID 昇順 (ASC)/ 降順 (DESC) 初期値 1 デコメ絵文字 ID decoemoji_id 昇順 降順 昇順 2 デコメ絵文字 URI uri 昇順 降順 - 3 読み decoemoji_name 昇順 降順 - 4 品詞 decoemoji_part 昇順 降順 - 80
81 5 表記 decoemoji_note 昇順 降順 - 6 更新タイムスタンプ timestamp 昇順 降順 - サンプルコード ( 詳細取得方式 ): String column[] = {DecoEmojiContract.DecoEmojiDicColumns.DECOEMOJI_NAME}; String selection = DecoEmojiContract.DecoEmojiDicColumns.DECOEMOJI_NOTE + " like?"; String arg[] = {"% ー %"}; String order = DecoEmojiContract.DecoEmojiDicColumns.DECOEMOJI_ID + " DESC"; Cursor cur = resolver.query(decoemojicontract.content_decodiclist_uri, column, selection, arg, order); サンプルコード ( 簡易取得方式 ): デコメ絵文字 ID = 1234 を取得したい場合 Cursor cur = resolver.query(decoemojicontract.content_decodiclist_uri/1234, null, null, null, null); 81
82 デコメ絵文字辞書件数取得 I F インタフェース名 デコメ絵文字辞書件数取得 取得モード decodiccount 説明 デコメ絵文字情報テーブルから 検索条件に沿った件数を取得する 引数 No 引数名 型 Must/Opt. 説明 1 Uri Uri Must DecoEmojiContract. CONTENT_DECODICLIST_COUNT_URI 2 projection String[] - 取得カラム 取得するカラム名取得カラムの指定は不要 selection String Opt フィルタ フィルタ (Where 条件 ) 3 省略する場合はNULLを指定する その場合 全ての項目を取得する (*2) 取得条件参照 selectionargs String[] Opt クエリパラメータ クエリパラメータ 4 省略する場合はNULLを指定する その場合 全ての項目を取得する (*2) 取得条件参照 5 sortorder String - ソート順 ソート順ソート順の指定は不要 戻り値 No 型 説明 1 Cursor デコメ絵文字辞書テーブルへのカーソル (*1) 取得項目 No 項目名 項目 ID 型 備考 1 件数 decoemoji_info_cnt INTEGER (*2) 取得条件 No 項目名 項目 ID 型 備考 1 デコメ絵文字 ID decoemoji_id INTEGER 2 デコメ絵文字 URI uri TEXT 3 読み decoemoji_name TEXT 4 品詞 decoemoji_part INTEGER 5 表記 decoemoji_note TEXT 6 更新タイムスタンプ timestamp INTEGER (*3) ソート順 ソート順の指定は不要 サンプルコード ( 詳細取得方式 ) : String selection = DecoEmojiContract.DecoEmojiDicColumns.DECOEMOJI_NAME + " like?"; String arg[] = {"%a%"}; Cursor cur = resolver.query(decoemojicontract. CONTENT_DECODICLIST_COUNT_URI, null, selection, arg, null); 82
83 利用クラス (DecoEmojiContract クラス ) パッケージ名 :jp.co.omronsoft.android.decoemojimanager_<career>.interfacedata 対象絵文字タイプ To 絵文字種別 変換 API 名 説明 makestringemojikind 対象絵文字タイプ ( emojitype ) の値を絵文字種別の値に変換する 引数 No 引数名 型 I/O Must/Opt. 説明 emojitype int I Must 表示対象の対象絵文字タイプ ( emojitype ) を 1 指定する (0x0000 <emojitype <= 0x000F) 2 返値 No 型 説明 1 String 絵文字種別を表す値 前提なし 補足現在 本機能の利用は非推奨です 83
84 絵文字種別 To 対象絵文字タイプ 変換 API 名 convertemojitype 説明 絵文字種別の値を対象絵文字タイプ ( emojitype ) の値に変換する ( 入力フィールドの対象絵文字タイプ ( emojitype ) と 取得結果の絵文字種別を比較する際などに使用する ) 引数 No 引数名 型 I/O Must/Opt. 説明 1 emojikind int I Must 2 返値 No 型 説明 1 int 絵文字種別を表す値 前提なし 概略説明 絵文字種別の値を対象絵文字タイプ ( emojitype ) の値に変換する ( 入力フィールドの対象絵文字タイプ ( emojitype ) と 取得結果の絵文字種別を比較する際などに使用する ) 返却値は以下の通り emojikind:1 返却値 :0x0001 emojikind:2 返却値 :0x0002 emojikind:3 返却値 :0x0004 emojikind:4 返却値 :0x0008 emojikind が 0 以下 もしくは 5 以上の値が指定された場合には 0 を返却する サンプルコード : Int kind = 4; int emojitype = bundle.getint( emojitype ); int convemojitype = DecoEmojiContract.convertEmojiType(kind); if ((convemojitype & emojitype)!= 0) { // 以降は任意の処理 } 84
85 定数 ContentProviderURI No 定数名 型 定数内容 1 DecoEmojiContract.CONTENT_DECOINFOLIST_UR Uri デコメ絵文字情報一覧 URI I 2 DecoEmojiContract.CONTENT_DECOINFO_COUNT_ Uri デコメ絵文字情報件数 URI URI 3 DecoEmojiContract.CONTENT_DECODICLIST_URI Uri デコメ絵文字辞書一覧 URI 4 DecoEmojiContract.CONTENT_DECODIC_COUNT_ URI Uri デコメ絵文字辞書件数 URI デコメ絵文字情報テーブルカラム定数定義 デコメ絵文字情報テーブル を(A) と表現する No 定数名 型 定数内容 1 DecoEmojiContract.DecoEmojiInfoColumns.DECOEM String (A). デコメ絵文字 ID 項目名 OJI_ID 2 DecoEmojiContract.DecoEmojiInfoColumns.URI String (A). デコメ絵文字 URI 項目名 3 DecoEmojiContract.DecoEmojiInfoColumns.CATEGO String (A). カテゴリ ID 項目名 RY_ID 4 DecoEmojiContract.DecoEmojiInfoColumns.CATEGO String (A). カテゴリ名 ( 日本語 ) 項目名 RY_NAME_JPN 5 DecoEmojiContract.DecoEmojiInfoColumns.CATEGO String (A). カテゴリ名 ( 英語 ) 項目名 RY_NAME_ENG 6 DecoEmojiContract.DecoEmojiInfoColumns.CATEGO String (A). カテゴリプリセット ID 項目名 RY_PRESET_ID 7 DecoEmojiContract.DecoEmojiInfoColumns.DIRECTO String (A). ディレクトリ ID 項目名 RY_ID 8 DecoEmojiContract.DecoEmojiInfoColumns.DIRECTO String (A). ディレクトリ名項目名 RY_NAME 9 DecoEmojiContract.DecoEmojiInfoColumns.TIMESTA String (A). 更新タイムスタンプ項目名 MP 10 DecoEmojiContract.DecoEmojiInfoColumns.FILE_SIZ String (A). ファイルサイズ項目名 E 11 DecoEmojiContract.DecoEmojiInfoColumns.TAGS String (A). 拡張タグ名項目名 12 DecoEmojiContract.DecoEmojiInfoColumns.DECOEM String (A). カウント項目名 OJI_INFO_COUNT 13 DecoEmojiContract.DecoEmojiInfoColumns.WIDTH String (A). 幅項目名 14 DecoEmojiContract.DecoEmojiInfoColumns.HEIGH String (A). 高さ項目名 T 15 DecoEmojiContract.DecoEmojiInfoColumns.KIND String (A). 種別項目名 16 DecoEmojiContract.DecoEmojiInfoColumns.LAST_U String (A). 最終利用表示順項目名 SE_CNT 17 DecoEmojiContract.DecoEmojiInfoColumns.HISTOR Y_CNT String (A). 利用履歴表示順項目名 18 DecoEmojiContract.DecoEmojiInfoColumns. DECOME_POP_FLAG String (A). デコメ絵文字 pop 識別フラグ項目名 デコメ絵文字辞書テーブルカラム定数定義 デコメ絵文字辞書テーブル を(B) と表現する No 定数名 型 定数内容 1 DecoEmojiContract.DecoEmojiDicColumns.DECOEM OJI_ID String (B). デコメ絵文字 ID 項目名 85
86 2 DecoEmojiContract.DecoEmojiDicColumns.URI String (B). デコメ絵文字 URI 項目名 3 DecoEmojiContract.DecoEmojiDicColumns.DECOEM String (B). 読み項目名 OJI_NAME 4 DecoEmojiContract.DecoEmojiDicColumns.DECOEM String (B). 品詞項目名 OJI_PART 5 DecoEmojiContract.DecoEmojiDicColumns.DECOEM String (B). 表記項目名 OJI_NOTE 6 DecoEmojiContract.DecoEmojiDicColumns.TIMESTA String (B). 更新タイムスタンプ項目名 MP 7 DecoEmojiContract.DecoEmojiDicColumns.DECOEM OJI_DIC_COUNT String (B). カウント項目名 例外 (1) query の ContentURI が正しくない場合例外 (IllegalStateException) を throw する (2) データベース処理 (SQLite) で例外が発生した場合 SQLite への query 処理で例外が発生した場合 SQLite の例外を throw する 例外については Android の SQLite の仕様に準拠する 86
87 15. Data Format デコメ絵文字フォーマット デコメ絵文字に関するフォーマットは以下の通り GIF ファイルフォーマット Header シグネチャ / バージョン / 画像サイズ / カラーテーブルなど Block 1 Application Extension Graphic Control Extension - Image Block (0xf92c) : ( 複数の Image Block で Animated GIF のデータを格納 ) block terminator (0x00) : Block n Extension Block - Comment Extension (0x21fe) block size [ 付加情報 ] を格納 [ 最大 255byte] : 付加情報 は複数定義可能 ブロックサイズを超える場合 ブロックを追加 block terminator (0x00) Trailer (0x3b) デコメ絵文字 popファイルの判定方法 デコメ絵文字 pop ファイルの判定方法は GIF ファイルフォーマットに記載している Block1(Application Extension Block) 内の Application Identifier を参照して HTMLEMJI が 含まれていればデコメ絵文字 pop と判定する Block 名 バイト数 内容 Application Extension Introducer 1 byte 0x21 Extension Extension Label 1 byte 0xFF Block Block Size #1 1 byte 0x0B Application Identifier 8 bytes 0x48 0x54 0x4D 0x4C 0x45 0x4D 0x4A 0x49 (HTMLEMJI) Application Authentication 3 bytes 0x31 0x2E 0x30 Code (1.0) Block Size #2 1 byte Application Data のデータサイズ ( 例 :255 bytes の場合は 0xFF) Application Data n bytes 素材データ Block Terminator 1 byte 0x JPEG ファイルフォーマット SOI SEGMENT シグネチャ / バージョン / 画像サイズ / カラーテーブルなど APP0 SEGMENT marker (0xff 0xe0) JFIF application segment length(x) data x type : COM SEGMENT marker (0xff 0xe0) length [ 付加情報 ] を格納 [ 最大 10240byte] EOI SEGMENT (0xff 0xd9) 87
88 付加情報定義フォーマット付加情報定義フォーマットは以下の通り <emoji> [<label> [<name> 読み </name>][<note> 表記 </note>][<part> 品詞 </part>] </label>] [<category> カテゴリ </category>] [<type> タイプ </ type >] [<tags name= カスタムタグ名 > 拡張情報 </tags>] </emoji> 付加情報の格納例 <emoji><label><name> えがお </name><note> 笑顔 </note></label> <label><name> わらう </name><part> 動詞 </part></label></emoji> 付加情報の格納例 ( カスタムタグに <url> <melody> を定義した場合 ) <emoji><label><name> えがお </name><note> 笑顔 </note></label> <label><name> わらう </name><part> 動詞 </part></label> <tags name= url > <tags name= melody >/mnt/sdcard/aaa.ogg </tags> </emoji> 88
89 付加情報の詳細 タグ名 項目 出現性 ( 個数 ) Emoji 絵文字定義 必須 (1) Label ラベル 省略可 (0-10) Name 読み 必須 (0-1) Part 品詞 省略可 (0-1) Note 表記 省略可 (0-1) category カテゴリ 省略可 (0-n) Type タイプ 省略可 (0-1) Tags カスタムタグ 省略可 (0-n) 内容 画像ファイルを絵文字として扱うための付加定義情報を記述する 一つの画像ファイルに対し emoji は 1 つだけ記述可能とする emoji には 複数の label を含めることができる 読み情報のセットをくくるためのタグ 絵文字は読み情報を複数持つことができる ( 最大 10 個 )label 内でnameは省略できない 読み文字列を格納する (24 文字まで ) 読みは原則ひらがなのみで記述する 辞書の読みとして漢字等を使用したい場合は それらの文字を含めてもよい ( フォーマットとしては特に制限は設けない ) ただし 予測 変換などを行った場合の動作は IME に依存する 通常の IME であれば 読みはひらがなのみが有効である 品詞名を格納する 日本語向け品詞一覧は別途定義する 品詞を指定しない場合は part を省略可とする ( 品詞を指定することにより IME がより適切な予測 変換を行うことを可能にする ) 表記文字列を格納する (24 文字まで ) 表記を指定しない場合は note を省略可とする (IME が本タグで記述されている文字列を解析し 最適な品詞情報を取得し 自然なつながりを実現することを可能にする ) カテゴリを格納する 1 つの emoji 内に複数のカテゴリを記述可能とする カテゴリを指定しない場合は category を省略可とする (Android 端末内の該当するカテゴリに分類することを可能にする ) 画像ファイルが デコメ絵文字 デコメピクチャ のいずれであるかを格納する デコメ絵文字 である場合は emoji を指定し デコメピクチャ である場合は picture を指定する なお 本項目は現在 Android 端末では未使用 カスタムタグを指定する タグ名はname 属性により指定する ( 例 )<tags name= カスタム ></tags> カスタムタグは自由に定義できるため コンテンツプロバイダは 固有の拡張情報を記述することができる カスタムタグは任意の個数を指定することができるが カスタムタグ名は最大 10 種類とする また 1 種類のカスタムタグ名に対して 最大 10 個の要素を記述できる 付加情報フォーマット DTD( 参考 ) <!-- Decoration Emoji Character Data Extension ( Version 1.2 ) --> <!DOCTYPE emoji [ <!ELEMENT emoji (label*, category*, type?, tags*) > <!ELEMENT label ((name, part?, note?) (name, note?, part?)) > <!ELEMENT name (#PCDATA) > <!ELEMENT part (#PCDATA) > <!ELEMENT note (#PCDATA) > <!ELEMENT category (#PCDATA) > <!ELEMENT type (#PCDATA) > <!ELEMENT tags (#PCDATA) > <!ATTLIST tags name CDATA #REQUIRED > ] > 89
90 付加情報文字列の上限上限は 10240bytes である 付加情報文字列の文字コード文字コードは UTF-8 である 付加情報文字列の分割付加情報の 1 つのタグ文字列は 256 bytes 以内とする 付加情報が GIF の Block のサイズ (255byte) に収まらない場合 複数の Block を併用し記述することとする Block の先頭が <emoji> で始まらない場合 その Block はデコメ絵文字読み情報と見なさない 90
91 日本語向け品詞一覧 品詞 _ID 品詞 * 説明 1 名詞普通名詞 2 名詞 - 固有名詞 固有名詞 3 名詞 - 代名詞 いわゆる代名詞, 不定語. 例 : それ ここ あいつ あなた みんな わたし 4 名詞 - 副詞可能 曜日, 月など時間を表す副詞的な用法を持つ名詞. 量や割合などを表し副詞的に使うことのできる名詞. 例 : 金曜 一月 午後 少量 5 名詞 -サ変接続 後ろに する できる なさる くださる などが後接することができる名詞. 例 : インプット 愛着 悪化 悪戦苦闘 一安心 下取り 6 名詞 - 形容動詞語幹 形容動詞語幹で, な の前に現れるもの. 例 : 健康 安易 駄目 だめ 7 名詞 - ナイ形容詞語幹 8 名詞 - 数 11 名詞 - 接尾 12 名詞 - 接続詞的 14 接頭詞 15 動詞動詞 助動詞の ない の直前に現れて形容詞的な働きをする語例 : 申し訳 仕方 とんでも 違い 漢数字, 算用数字, および, 何( 回 ) 数(%) 幾( 夜 ). 例 : 何 数 幾 一般に 接尾語 というよりも範囲が広く, 複合名詞の後ろ要素として用いられることが普通なもの. 例 : 君 様 町 市 県 個 つ 本 冊 パーセント cm kg カ月 時間 時半 単語と単語を接続する接続詞的な働きをするもの. 例 : ( 日本 ) 対 ( アメリカ ) 対( アメリカ ) (3) 対 (5) ( 女優 ) 兼 ( 主婦 ) 名詞 ( 形容動詞語幹を含む ) に前接する接頭語, 数に接続するもの. 動詞の命令形あるいは [ 動詞連用形 ]+ なる/ なさる / くださる に前接する接頭語. 例 : お( 水 ) 某( 氏 ) 同( 社 ) 故(~ 氏 ) 約 およそ お( 読みなさい ) お( 座り ) 16 形容詞 形容詞 17 副詞 必ず後ろで切れるもの, 連体修飾が不可能な副詞. 例 : あいかわらず 多分 など 18 連体詞 名詞を修飾する形しかもたないもの. 例 : この その あの どの いわゆる なんらかの 何らかの いろんな こういう 微々たる 堂々たる 単なる いかなる 我が 同じ 亡き 19 接続詞 独立に現れる接続詞. 例 : が けれども そして じゃあ それどころか 20 感動詞 感動詞. あいさつなど. 例 : おはよう おはようございます こんにちは こんばんは ありがとう どうもありがとう ありがとうございます いただきます ごちそうさま さよなら さようなら はい いいえ ごめん ごめんなさい 21 記号 一般的な記号. 例 $ + など * オープンな品詞体系 IPADIC を参考に抽出したもの 91
92 92
93 改定履歴 V /10/17 新規作成 V /3/27 デコ絵文字更新通知機能追加端末スリープ時のアニメーション停止の注意を追加 API 仕様を追加 ( インタフェース仕様書の参照を不要にした ) V /4/10 デコメ絵文字読み付加情報フォーマット に <label> の出現数上限を追記 V /9/14 絵文字パッケージ V1.2 対応絵文字マネージャ ContentProvider 機能追加デコメ絵文字画像の高精細化デコメピクチャの追加 V /12/3 デコメ絵文字画像の高詳細化に関する記載を見直し 93
絵文字利用アプリケーション開発ガイド
絵文字利用アプリケーション開発ガイド - 絵文字パッケージ搭載機種におけるキャリア絵文字及びデコメ絵文字の入力 表示のためのアプリケーション開発者ガイド - Ver. 1.1.0 オムロンソフトウェア株式会社 2012/03/23 目次 1. 本ドキュメントについて 1 2. 略語 記号の定義 1 3. 概要 1 3.1. 絵文字パッケージとは 1 3.2. 本ドキュメントの読者の前提 2 3.3.
intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド 初版
Copyright 2012 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. IM- 共通マスタの拡張について 2.1. 前提となる知識 2.1.1. Plugin Manager 2.2. 表記について 3. 汎用検索画面の拡張 3.1. 動作の概要 3.1.1. 汎用検索画面タブの動作概要 3.2. 実装の詳細 3.2.1. 汎用検索画面タブの実装
intra-mart Accel Platform — イベントナビゲータ 開発ガイド 初版
Copyright 2013 NTT DATA INTRAMART CORPORATION 1 Top 目次 intra-mart Accel Platform イベントナビゲータ開発ガイド初版 2013-07-01 改訂情報概要イベントフローの作成 更新 削除をハンドリングするイベントフローを非表示にする回答を非表示にするリンクを非表示にするタイトル コメントを動的に変更するリンク情報を動的に変更するナビゲート結果のリンクにステータスを表示する
intra-mart Accel Platform — IM-Repository拡張プログラミングガイド 初版
Copyright 2018 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 対象読者 2.3. サンプルコードについて 2.4. 本書の構成 3. 辞書項目 API 3.1. 最新バージョン 3.1.1. 最新バージョンの辞書を取得する 3.2. 辞書項目 3.2.1. 辞書項目を取得する 3.2.2.
intra-mart Accel Platform — イベントナビゲータ 開発ガイド 初版 None
クイック検索検索 目次 Copyright 2013 NTT DATA INTRAMART CORPORATION 1 Top 目次 intra-mart Accel Platform イベントナビゲータ開発ガイド初版 2013-07-01 None 改訂情報概要イベントフローの作成 更新 削除をハンドリングするイベントフローを非表示にする回答を非表示にするリンクを非表示にするタイトル コメントを動的に変更するリンク情報を動的に変更するナビゲート結果のリンクにステータスを表示する
Android Layout SDK プログラミング マニュアル
プログラミングマニュアル Version 1.3.0 用 更新履歴 年月日 バージョン 履歴 2014.09.08 1.2.0.0 新規 (Layout Utilities ユーザーズ ガイド ) 2016.08.16 1.3.0.0 モバイル端末用レイアウトで直線部品と矩形部品に対応 モバイル端末用レイアウトファイルを CLFX から XML へ変更 Layout Print Engine から
Prog2_6th
2017 年 11 月 2 日 ( 木 ) 実施 インテントインテントとは Android アプリは複数のアクティビティを持つことが出来, また, アクティビティ以外の要素も持つので, 複数のアクティビティ間, アクティビティとアクティビティ以外の要素との間といったオブジェクト間を結び付ける仕組みが必要となる その役割を担うのがインテントで, 複数のアプリ間やアプリとシステムとの間もインテントで結び付けることが出来る
開発・運用時のガイド JDK8への移行に伴う留意点 [UNIX]
開発 運用時のガイド [UNIX] JDK8 への移行に伴う留意点 2015.10 O c t o b e r はじめに 本書は 開発 運用フェーズで使用するドキュメントとして Java TM Development Kit 8 への移行に伴う 留意点について記述しています 1. 対象とする読者本書は Java TM Development Kit 8 を使用し システムを設計 構築 運用する立場にある方を対象としています
ドコモメール連携アプリ開発ガイド(新IF対応)
ドコモメール連携アプリ開発ガイド ( 新 IF 対応 ) 第 1.0.1 版 2015 年 12 月 Copyright (C) 2015 NTT DOCOMO, INC. All Rights Reserved. 改版履歴 版数日付記載箇所内容備考 1.0.0 2014 年 11 月 - 初版制定 1.0.1 2015 年 12 月 1.5. docomoid を d アカウントへ名称変更 Copyright
intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド 第7版 None
クイック検索検索 目次 Copyright 2012 NTT DATA INTRAMART CORPORATION 1 Top 目次 改訂情報概要レコードの追加 / 更新 / 削除レコードの編集レコードを削除するレコードの一括インポートとエクスポート日本語のキャプション表示 2 改訂情報 変更年月日 変更内容 2012-10-01 初版 2013-10-01 第 2 版下記が追加 変更されました 対応するフィールドの型
- i - org.t_engine.tenet.core.coreerrormessageexception org.t_engine.tenet.core Class CoreErrorMessageException java.lang.object +-java.lang.throwable +-java.lang.exception +-org.t_engine.tenet.core.coreexception
かんたん携帯9 ユーザーガイド
文字を入力する 本機の文字入力は ボタン操作で行います お買い上げ時の入力方法 (S-Shoin) で説明します 文字入力の基本操作 文字入力にはダイヤルボタンを利用します 1つのボタンには ボタンに表示されているような複数の文字が割り当てられており 押す回数によって表示される文字が変わります ダイヤルボタンに割り当てられた文字について詳しくは 文字入力用ボタン一覧 を参照してください 変換候補を引用する文字入力画面でひらがなを入力引用
HDC-EDI Manager Ver レベルアップ詳細情報 < 製品一覧 > 製品名バージョン HDC-EDI Manager < 対応 JavaVM> Java 2 Software Development Kit, Standard Edition 1.4 Java 2
レベルアップ詳細情報 < 製品一覧 > 製品名バージョン HDC-EDI Manager 2.2.0 < 対応 JavaVM> Java 2 Software Development Kit, Standard Edition 1.4 Java 2 Platform Standard Edition Development Kit 5.0 Java SE Development Kit 6 < 追加機能一覧
intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド 第8版
Copyright 2012 NTT DATA INTRAMART CORPORATION 1 Top 目次 改訂情報概要レコードの追加 / 更新 / 削除レコードの編集レコードを削除するレコードの一括インポートとエクスポート日本語のキャプション表示 2 改訂情報 変更年月日 変更内容 2012-10-01 初版 2013-10-01 第 2 版下記が追加 変更されました 対応するフィールドの型 が追加されました
mazec テクニカルガイド第5版(Android版)
法人向け mazec テクニカルガイド 外部アプリケーション連携 ( Android 版 ) 第 6 版 Android は Google Inc. の登録商標です その他記載された会社名 製品名等は 各社の登録商標もしくは商標 または弊社の商標です 本書は株式会社 MetaMoJi が作成したものであり マニュアルの著作権は 株式会社 MetaMoJi に帰属します 本書の内容は予告なく変更することがあります
SmartBrowser_document_build30_update.pptx
SmartBrowser Update for ios / Version 1.3.1 build30 2017 年 8 月 株式会社ブルーテック 更新内容 - 概要 ios Version 1.3.1 build28 の更新内容について 1. 設定をQRから読み込み更新する機能 2.URLをQRから読み込み画面遷移する機能 3.WEBページのローカルファイル保存と外部インテントからの起動 4.JQuery-LoadImageライブラリの組み込み
Microsoft Word - ModelAnalys操作マニュアル_
モデル分析アドイン操作マニュアル Ver.0.5.0 205/0/05 株式会社グローバルアシスト 目次 概要... 3. ツール概要... 3.2 対象... 3 2 インストールと設定... 4 2. モデル分析アドインのインストール... 4 2.2 モデル分析アドイン画面の起動... 6 3 モデル分析機能... 7 3. 要求分析機能... 7 3.. ID について... 0 3.2 要求ツリー抽出機能...
AQUOS ケータイ ユーザーガイド
文字を入力する 本機の文字入力は ボタン操作で行います お買い上げ時の入力方 法 (S-Shoin) で説明します 変換候補を引用する ひらがなを入力 引用 連携 項目を選択 変換候補を選択 文字入力の基本操作 文字入力にはダイヤルボタンを利用します 1つのボタンには ボタンに表示されているような複数の文字が割り当てられており 押す回数によって表示される文字が変わります ダイヤルボタンに割り当てられた文字について詳しくは
V-CUBE One
V-CUBE One Office 365 連携マニュアル ブイキューブ 2017/06/02 この文書は V-CUBE One の Office 365 連携用ご利用マニュアルです 更新履歴 更新日 内容 2016/02/09 新規作成 2016/03/11 Office 365 ID を既存の One 利用者と紐付ける機能に関する記述の追加 2016/04/01 V-CUBE ミーティング Outlook
地図ナビリンク(Android)技術仕様書
地図ナビリンク (Android) 技術資料 平成 29 年 4 月 26 日 1.4 版 株式会社 NTT ドコモ ( 目次 ) はじめに... 1 1. サービス概要... 1 1.1 地図ナビリンクとは... 1 2. 規定... 3 2.1 入力文字列... 3 2.2 アプリ詳細... 3 3. 地図アプリの起動... 5 3.1 ブラウザからの起動... 5 3.2 アプリからの起動...
5-2. 顧客情報をエクスポートする 顧客管理へのアクセス手順 メールディーラーで管理する顧客情報に関する設定を行います 1. 画面右上の 管理設定 をクリックする 2. 管理設定 をクリックする 3. ( タブ ) 顧客管理 をクリックする 2
目次 顧客管理 Ver.12.3 1. 顧客管理へのアクセス手順... 2 2. 顧客管理に関する設定をする... 3 3. 顧客情報を管理する基本項目を作成する... 4 項目を作成する... 4 選択肢形式の項目を作成する... 5 3-1. 顧客検索の設定をする...6 検索項目を設定する... 6 検索結果の件数表示の設定をする... 6 検索条件の設定をする... 7 3-2. 顧客一覧画面の設定をする...7
intra-mart EX申請システム version.7.2 事前チェック
IM EX 申請システム ver7.2 事前チェックシート 2015/12/22 株式会社 NTT データイントラマート 改訂履歴版 日付 内容 初版 2011/2/28 第二版 2012/11/16 環境シートのIEの設定について説明を追記しました 第三版 2014/4/18 環境シートおよび制限事項シートにExcel2013について説明を追記しました 第三版 2014/4/18 環境シートおよび制限事項シートよりExcel2003の説明を除外しました
AppsWF ワークフロー設定ガイド Ver.1.1 株式会社オプロ
AppsWF ワークフロー設定ガイド Ver.1.1 株式会社オプロ 改訂履歴 Ver. 改訂日改訂内容 1.0 2019/08/22 新規発行 1.1 2019/10/04 1.3 ワークフロー設定画面を開くには に 1.3.2 Salesforce 版の操作手順 を 追加しました 本書に記載されている会社名 製品名 サービス名などは 提供各社の商標 登録商標 商品名です なお 本文中に TM マーク
intra-mart WebPlatform/AppFramework
intra-mart WebPlatform/AppFramework Ver.7.2 ポータルシステム管理者操作ガイド 2010/04/01 初版 i 変更履歴 変更年月日 変更内容 2010/04/01 初版 ii 第 1 章ポートレット管理 1 1.1 ポートレット管理とは 2 1.2 ポートレットアプリケーション一覧 3 1.2.1 概要 3 1.3 ポートレットアプリケーションの登録 4
目 次 1. はじめに ソフトの起動と終了 環境設定 発助 SMS ファイルの操作 電話番号設定 運用条件 回線情報 SMS 送信の開始と停止 ファイル出力... 16
発助 SMS 操作マニュアル Ver1.2 2018.7.21 ソフトプラン合同会社 1/18 目 次 1. はじめに... 3 2. ソフトの起動と終了... 3 3. 環境設定... 5 4. 発助 SMS ファイルの操作... 7 5. 電話番号設定... 9 6. 運用条件... 11 7. 回線情報... 12 8.SMS 送信の開始と停止... 13 9. ファイル出力... 16 10.
POWER EGG2.0 Ver2.6 ユーザーズマニュアル ファイル管理編
POWER EGG2.0 Ver2.6 ユーザーズマニュアルファイル管理編 Copyright 2013 D-CIRCLE,INC. All Rights Reserved 2013.11 はじめに 本書では POWER EGG 利用者向けに 以下の POWER EGG のファイル管理機能に関する操作を説明します なお 当マニュアルでは ファイル管理機能に関する説明のみ行います 社員選択やファイルの添付などの共通操作については
intra-mart Accel Collaboration — ファイルライブラリ 管理者操作ガイド 第6版
Copyright 2012 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. ファイルライブラリについて 3. 基本編 3.1. フォルダとアクセス権を設定する 3.2. ファイルを検索する 3.3. 共有タグを設定する 3.4. ファイル一覧ポートレットを設定する 3.5. メールテンプレートを設定する 2 改訂情報 変更年月日 変更内容 2012-11-01
intra-mart Accel Platform — IM-BloomMaker プログラミングガイド 初版
Copyright 2019 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 対象読者 2.3. サンプルコードについて 2.4. 本書の構成 3. 前処理プログラム 3.1. 前処理を実装する 3.1.1. 前処理の実装方式 3.1.2. 前処理の実行順序と引数 3.1.3. リクエストパラメータの解析
Javaプログラムの実行手順
戻り値のあるメソッド メソッドには 処理に使用する値を引数として渡すことができました 呼び出し 側からメソッドに値を渡すだけでなく 逆にメソッドで処理を行った結果の値を 呼び出し側で受け取ることもできます メソッドから戻してもらう値のことを もどりち戻り値といいます ( 図 5-4) 図 5-4. 戻り値を返すメソッドのイメージ 戻り値を受け取ることによって ある計算を行った結果や 処理に成功したか失
spモードメール/ドコモメール連携アプリ開発ガイド
ドコモメール /spモードメール連携アプリ作成ガイド Version :0.9.0 Date : 2011/7/1 第 1.05 版 平成 26 年 2 月 株式会社 NTT ドコモ 改版履歴 版 項番 項目 0.50 版 0.50 版作成 1.00 版 1.2 画像差し替え 1.3 sp モードメール配信時期および対応バージョンを変更 5.1 1.01 版 1.2 ドコモ提供以外の連携アプリは Google
Rational Roseモデルの移行 マニュアル
Model conversion from Rational Rose by SparxSystems Japan Rational Rose モデルの移行マニュアル (2012/1/12 最終更新 ) 1. はじめに このガイドでは 既に Rational( 現 IBM) Rose ( 以下 Rose と表記します ) で作成された UML モデルを Enterprise Architect で利用するための作業ガイドです
プログラミング基礎I(再)
山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全
MotionBoard Ver. 5.6 パッチ適用手順書
MotionBoard Ver. 5.6 パッチ適用手順書 目次 目次 目次... 2 本パッチ適用手順書について... 3 1. パッチ適用手順... 4 1-1. MotionBoard サーバー インメモリ OLAP エンジン MotionBoard RC Service の適用手順... 5 1-2. MotionBoard Agent の適用手順... 7 1-3. +Mobile アプリケーション
AquesTalk プログラミングガイド
AquesTalk プログラミングガイド ( 株 ) アクエスト 1. 概要 本文書は 規則音声合成ライブラリ AquesTalk をアプリケーションに組み込んで使用するためのプログラミングに関して 方法および注意点を示したものです AquesTalk には 2 種類のライブラリがあります 音声データをメモリ上に生成するものと サウンドデバイスに出力する 2 種類があります 使用するアプリケーションに応じて選択してください
CubePDF ユーザーズマニュアル
CubePDF ユーザーズマニュアル 2018.11.22 第 13 版 1 1. PDF への変換手順 CubePDF は仮想プリンターとしてインストールされます そのため Web ブラウザや Microsoft Word, Excel, PowerPoint など印刷ボタンのあるアプリケーションであればどれでも 次の 3 ステップで PDF へ変換することができます 1. PDF 化したいものを適当なアプリケーションで表示し
文字入力 ソフトウェアキーボードを切り替える...56 文字入力画面の見かた...56 文字を入力する...58 文字入力の便利な機能を利用する...60 iwnn IME の設定を行う
文字入力 ソフトウェアキーボードを切り替える...56 文字入力画面の見かた...56 文字を入力する...58 文字入力の便利な機能を利用する...60 iwnn IME の設定を行う...61 55 文字入力56 ソフトウェアキーボードを切り替える 文字入力欄をタップすると 画面上にソフトウェアキーボードが表示され 画面のキーをタップして文字を入力できます ISW11K では 次のソフトウェアキーボードを利用できます
POWER EGG2.0 Ver2.8 スタートアップガイド ~Webデータベース 応用編~
POWER EGG2.0 Ver2.8 スタートアップガイド ~ Web データベースの作成応用編 ~ 第 1 版 2016 年 3 月ディサークル株式会社 改版履歴 版数 改版年月日 備考 1.0 2016/03/04 初版 (POWER EGG2.0 Ver2.8 版 ) 目次 はじめに... 1 第 1 章データベース間の連携設定... 2 1-1 WebDB 間連携項目フィールドの作成...
FW ファイルアップロード ダウンロード機能利用ガイド Version 年 9 月 21 日富士通株式会社 i All Right Reserved, Copyright FUJITSU LIMITED
FW ファイルアップロード ダウンロード機能利用ガイド Version 1.1 2016 年 9 月 21 日富士通株式会社 i 改訂履歴改訂 No. 日付 Version 章 No. 項 No. 改訂内容 1 2015/12/02 1.0 - - 新規作成 2 2016/09/21 1.1 4 4.1.3 text/plan を text/plain に修正 章立てを修正 ii 目次 第 1 章
レベルアップ詳細情報 < 製品一覧 > 製品名 バージョン < 追加機能一覧 > 管理番号 内容 説明書参照章 カナ文字拡張対応 < 改善一覧 > 管理番号 内容 対象バージョン 説明書参照章 文字列のコピー ペースト改善 ~ 子画面の表示方式 ~ 履歴の詳細情報 ~ タブの ボタン ~ 接続時の管
レベルアップ詳細情報 < 製品一覧 > 製品名 バージョン < 追加機能一覧 > 管理番号 内容 説明書参照章 カナ文字拡張対応 < 改善一覧 > 管理番号 内容 対象バージョン 説明書参照章 文字列のコピー ペースト改善 ~ 子画面の表示方式 ~ 履歴の詳細情報 ~ タブの ボタン ~ 接続時の管理情報の英小文字対応 ~ 管理ホスト情報の表示 グループ情報と詳細情報の表示 ~ 検索条件設定時の一覧画面の操作
文字入3-2 力3 文字入力について ひらがな 漢字 カタカナ 英数字 記号 絵文字などが入力できます 文字入力方式には モード1( かな方式 ) モード2(2タッチ方式 ) モード3( ニコタッチ方式 ) の3 種類があります 本書では モード1( かな方式 ) での入力例を中心に記載します モー
文字入力 文字入力について... 3-2 文字の入力方法... 3-3 文字を入力する... 3-3 絵文字 / 記号を入力する... 3-4 定型文を利用する... 3-5 その他の入力補助機能... 3-5 文字の変換機能... 3-6 変換機能を利用する... 3-6 英字 / 数字 / カタカナに変換する ( 英数カナ候補 )... 3-7 文字の変換に関する機能... 3-8 文字の編集...
改訂履歴 日付バージョン記載ページ改訂内容 V2.1 - 初版を発行しました V3.1 P5 ドキュメントラベルが新規追加された事を追記 P7 P8 新しくなったラベルのツリー表示説明を追記 新しくなったラベルの作成 削除操作を追記 P9 ラベルのグループ
改訂履歴 日付バージョン記載ページ改訂内容 2012-10-23 V2.1 - 初版を発行しました 2013-08-30 V3.1 P5 ドキュメントラベルが新規追加された事を追記 P7 P8 新しくなったラベルのツリー表示説明を追記 新しくなったラベルの作成 削除操作を追記 P9 ラベルのグループ別参照権限設定操作を追記 2015-06-16 V5.0 P27 クラスター入力値を帳票備考にコピーする説明を追記
PowerPoint プレゼンテーション
スパイラル PHP 目次 1. スパイラル PHP 概要 2. ウェブ機能での PHP 利用 3 5 1)PHP が使用できるウェブ機能 2)SMP_DYNAMIC_PAGE について 3) スパイラルの PHP 実行順序について 4)PHP 実行エラー時の画面表示 5)PHP の実行エラー時の通知メール 6) 設定例 ~ 選択肢をマスタ DB から参照 ~ 3. カスタムプログラムでの PHP 利用
AquesTalk for WinCE プログラミングガイド
AquesTalk for WinCE プログラミングガイド ( 株 ) アクエスト 1. 概要 本文書は 規則音声合成ライブラリ AquesTalk for WinCE ( 以下 AquesTalk) をアプリケーションに組み込んで使用するためのプログラミングに関して 方法および注意点を示したものです AquesTalk には 2 種類のライブラリがあります 音声データをメモリ上に生成するものと
画面について メイン画面 メイン画面 i Smart Copy を起動すると メイン画面が表示されます メイン画面の構成は 次のとおりです 1 詳細設定 1 詳細設定ファイル操作時の詳細などを設定します 2. アドレス帳. バックアップ 3 内部ストレージ 4 容量確認 5 外部ストレージ 4 容量
~ ユーザーズガイド ~ 画面について メイン画面...2 ファイル操作画面...4 ファイルを再生する...8 連絡先のバックアップと復元連絡先をバックアップする... 10 バックアップした連絡先を復元する... 11 操作メニューの使いかたファイルをメールに添付する... 13 ファイルをパスワードで保護する... 15 ファイルやフォルダを ZIP 圧縮する... 18 ファイルやフォルダをコピーする...
Brekeke PBX - Version 2.1 ARSプラグイン開発ガイド
Brekeke PBX Version 2.1 ARS プラグイン開発ガイド Brekeke Software, Inc. バージョン Brekeke PBX v2.1 ARS プラグイン開発ガイド, 2008 年 2 月 著作権本書の著作権は Brekeke Software, Inc. にあります Copyright 2003-2008 Brekeke Software, Inc. 本書の一部または全部を
印刷アプリケーションマニュアル
印刷アプリケーションマニュアル 目次印刷アプリケーションについて... 2 1.1. インストール前の管理者での事前準備... 2 1.2. インストールする... 2 1.3. 基本的な使い方... 6 1.3.1. 各部の概要... 6 1.3.2. カメレオンコードを印刷する... 7 1.3.3. 印刷レイアウトを作成する... 9 1.3.. 用紙を設定する... 10 2. サポートサービスのご案内...
目次 1. はじめに 動作環境 ログイン ログインページへのアクセス ログイン ID とパスワードの入力 ワンタイムパスワードの発行 ワンタイムパスワードによるログイン マスタ設定
タック健診 Web ソリューション業務手引書 管理者向け マニュアル 2016/4/1 Ver. 1.01 目次 1. はじめに... 3 2. 動作環境... 4 3. ログイン... 5 3.1 ログインページへのアクセス... 5 3.2 ログイン ID とパスワードの入力... 6 3.3 ワンタイムパスワードの発行... 7 3.4 ワンタイムパスワードによるログイン... 7 4. マスタ設定...
UMLプロファイル 機能ガイド
UML Profile guide by SparxSystems Japan Enterprise Architect 日本語版 UML プロファイル機能ガイド (2016/10/07 最終更新 ) 1. はじめに UML では ステレオタイプを利用することで既存の要素に意味を追加し 拡張して利用することができます このステレオタイプは個々の要素に対して個別に指定することもできますが ステレオタイプの意味と適用する
intra-mart Accel Platform — 招待機能プログラミングガイド 初版
Copyright 2016 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 3. 権限リストを拡張する 2 改訂情報 変更年月日 変更内容 2016-04-01 初版 3 はじめに 項目 このガイドについて このガイドについて このガイドでは 招待機能の拡張方法および注意点について解説します 4 権限リストを拡張する 項目 この機能について実装済みの招待権限デコレータ実装方法設定方法
内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft
Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作 Access 2007 と SQL Server Express を使用 SQL 文は SQL Server 主体で解説 Access 版ノースウィンドウデータベースを使用 DBMS プログラム サーバーエクスプローラ SQL 文 実行結果 データベース エンジン データベース SQL 文とは 1 度のコマンドで必要なデータを効率よく取得するための技術といえます
U/Cサーバ 業務システム間転送プログラムインターフェース仕様書
U/C サーバ業務システム間転送プログラムインターフェース仕様書 株式会社広告 EDI センター - 1 - 注意事項 本資料を無断で他に転載しないようお願いします 本資料は 予告なしに変更する場合があります 本資料の内容に不備がある場合は ご連絡ください - 2 - 変更履歴 版 更新日 変更内容 1 2013/9/19 新規作成 2 2017/8/30 図 2-3 転送プログラム起動後処理フロー
UIOUSBCOM.DLLコマンドリファレンス
UIOUSBCOM.DLL UIOUSBCOM.DLL Command Reference Rev A.1.0 2008/11/24 オールブルーシステム (All Blue System) ウェブページ : www.allbluesystem.com コンタクト :[email protected] 1 このマニュアルについて...3 1.1 著作権および登録商標...3 1.2
要求仕様管理テンプレート仕様書
目次 1. テンプレート利用の前提... 2 1.1 対象... 2 1.2 役割... 2 1.3 プロセス... 2 1.4 ステータス... 3 2. テンプレートの項目... 4 2.1 入力項目... 4 2.2 入力方法および属性... 5 2.3 他の属性... 6 3. トラッキングユニットの設定... 7 3.1 メール送信一覧... 7 3.1.1 起票... 7 3.1.2 作成中...
スライド 1
e 研修 S-LMS+ e ラーニング Simple e-learning Management System Plus 操作説明書 管理者機能 ( 研修コース教材作成管理 (LCMS) 編 ) Learning Content Management System 05 年 月 Ver..7. アーチ株式会社 機能 e 研修管理機能 LOGIN 画面 (PC 環境用 ) 説明 e 研修管理機能 LOGIN
DIGNO® G ユーザーガイド
文字を入力する キーボードについて 文字を入力するときは ディスプレイに表示されるソフトウェアキーボードを使用します ソフトウェアキーボードには1つのキーに複数の文字が割り当てられている テンキー と 1つのキーに1つの文字が割り当てられている QWERTY 1つのキーに1つの文字が50 音順に割り当てられている 50 音キーボード があります また 携帯の文字入力と同様に操作できる ケータイ入力
改訂履歴 項番版数作成日 / 改訂日変更箇所変更内容. 平成 28 年 5 月 3 日新規章構成の変更, 分冊化に伴い新規作成 (i)
特許庁アーキテクチャ標準仕様書 ( 参考 ) 処理シーケンスサンプル集 第. 版 平成 28 年 6 月 特許庁 改訂履歴 項番版数作成日 / 改訂日変更箇所変更内容. 平成 28 年 5 月 3 日新規章構成の変更, 分冊化に伴い新規作成 (i) はじめに () 本書の位置づけ 本書は, 特許庁アーキテクチャ標準仕様書 に基づきシステムの動的な振る舞いを処理シーケンスとして定める際に参考とするサンプル集である
はじめに 本ドキュメントでは Salesforce 標準機能である 変更セット を使用して Visualforce ページ Apex クラスを Sandbox から本番環境に移行する手順を説明します 但し前提条件として Sandbox 本番環境共に SkyVisualEditor がインストールされ
Sandbox から本番環境への移行手順 - Visualforce page Apex Class のデプロイ - Ver 2.1.0 2017 年 6 月 21 日 株式会社テラスカイ 1 / 15 はじめに 本ドキュメントでは Salesforce 標準機能である 変更セット を使用して Visualforce ページ Apex クラスを Sandbox から本番環境に移行する手順を説明します
JavaプログラミングⅠ
Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double
プログラミング入門1
プログラミング入門 2 第 8 回表形式データ (1) 1 テーマ : 表形式データ (1) 配列と複合データを用いた表形式データ データの登録 データの検索 データの更新 実際的はソフトウェアでは 表形式データの ( 例えば データベースのデータ ) を利用する場面が非常に多く とても重要である そこで 表形式を扱うプログラミングを繰り返しとりあげる 2 テーマ : 表形式データ (1) 配列と複合データを用いた表形式データ
SpringSecurity
Spring Security 1/40 OUTLINE Spring Security Spring Securityを使った認証の仕組み Spring Securityを使った独自認証 認証エラーメッセージの変更 2/40 Spring Security 3/40 Spring Security とは アプリケーションのセキュリティを高めるためのフレームワーク 認証 認可機能 その他 多数のセキュリティ関連の機能を持つ
変更履歴 版数変更日変更内容 /11/1 初版設定 /9/1 名称変更
アプリ作成チュートリアル ~ 作ってみよう名刺管理アプリ ~ 第 1.0 版平成 28 年 11 月 1 日制定 株式会社中電シーティーアイ 変更履歴 版数変更日変更内容 1.0 2016/11/1 初版設定 1.1 2018/9/1 名称変更 目次 1 はじめに... 1 1.1 本書の位置付... 1 1.2 名刺管理アプリ... 1 2 ログイン... 3 3 データベースの設定... 4 3.1
前ページからの続き // テキストボックス02 id 属性で取得 // id 属性で取得する場合は一意に決まるので 何番目かの指定は不要 var textbox02elem = document.getelementbyid("text_box02_id"); if ("001" == statee
全体のヒント 1. テキストボックスの制御 1.1. 日付入力日付の入力ボックスは フォーカスが入った時にスラッショを消し フォーカスが他の項目等に移るとスラッシュが加わるようにする オンフォーカス 20100101 オフフォーカス 2010/01/01 1.1.1 オンフォーカス時にスラッシュを消す入力項目のスラッシュを消すには include/function.js ファイル内の var delslash
第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイ
第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイルの作成方法 コンパイル方法について説明します IDL ファイルの作成にあたっては INTERSTAGE
TALON Tips < カレンダー ( 月別 ) の画面を表示する > 株式会社 HOIPOI 第 1.1 版 p. 1
TALON Tips < カレンダー ( 月別 ) の画面を表示する > 株式会社 HOIPOI 第 1.1 版 p. 1 1 目次 1 目次... 2 2 はじめに... 3 3 Tips セットアップ... 4 3.1 事前準備... 4 3.2 事前準備 2... 4 3.3 セットアップ... 4 3.4 セットアップ ( その他 )... 5 4 Tips 概要... 6 4.1 概要...
Cisco CSS HTTP キープアライブと ColdFusion サーバの連携
Cisco CSS 11000 HTTP キープアライブと ColdFusion サーバの連携 目次 概要 HTTP ヘッダーについて HTTP HEAD メソッドと HTTP GET メソッドの違いについて ColdFusion サーバの HTTP キープアライブへの応答方法 CSS 11000 で認識される HTTP キープアライブ応答もう 1 つのキープアライブ URI と ColdFusion
PART 4 メールを使いこなす 初めて起動した場合は ドコモメールアプリのアップデートを行います ドコモメールアプリにある ダウンロード を 続いて アップデート を アップデートが完了したらホーム画面上の ドコモメール のアイコンをタップすると起動します 初めて起動した場合 利用規約や注意につい
Step 4-6 ドコモメールの利用 NTTドコモが提供する ドコモメール は iモードと同じアドレス (@docomo.ne.jp) を利用できるクラウドメールサービスです ドコモメール ドコモでは iモードと同じメールアドレス (@docomo.ne.jp) がスマートフォン上で利用できる sp モードメール を提供しています 2013 年 10 月 24 日より spモードメールをクラウド化したメールサービス
eYACHO 管理者ガイド
eyacho 管理者ガイド 第 1 版 - ios は Cisco の米国およびその他の国における商標または登録商標であり ライセンスに基づき使用されています - Apple ipad は Apple Inc. の商標です - Microsoft, Excel および Internet Explorer は 米国 Microsoft Corporation の 米国およびその他の国における登録商標または商標です
WebOTXマニュアル
WebOTX アプリケーション開発ガイド WebOTX アプリケーション開発ガイドバージョン : 7.1 版数 : 初版リリース : 2007 年 7 月 Copyright (C) 1998-2007 NEC Corporation. All rights reserved. 付録 4-2-1 目次 4. プログラミング 開発 (WebOTX)...3 4.2. EJBアプリケーション...3 4.2.1.
SoftBank 201F 取扱説明書
NX! メールでメールや SMS を管理する フォルダ一覧画面について メール SMS を確認する フォルダ一覧画面の見かたは次のとおりです ホーム画面で (NX! メール ) フォルダ一覧画面が表示されます フォルダ一覧画面が表示されない場合は またはを数回 タップしてフォルダ一覧画面に戻します フォルダ一覧 ( 固定フォルダ ユーザー作成フォルダ マーク利用のフォルダ ) フォルダ新規作成素材を探すサイトに接続メール作成
AquesTalk Win Manual
AquesTalk Win マニュアル 株式会社アクエスト http://www.a-quest.com/ 1. 概要 本文書は 規則音声合成ライブラリ AquesTalk をアプリケーションに組み込んで使用するためのプログラミングに関して 方法および注意点を示したものです AquesTalk には 2 種類のライブラリがあります 音声データをメモリ上に生成するものと サウンドデバイスに出力する 2
文字入3-2 力3 文字入力について ひらがな 漢字 カタカナ 英数字 記号 絵文字などが入力できます 文字入力方式には モード 1( かな方式 ) モード2(2タッチ方式 ) モード3( ニコタッチ方式 ) の3 種類があります. 本書では モード1( かな方式 ) での入力例を中心に記載します
文字入力 文字入力について... 3-2 文字の入力方法... 3-3 文字を入力する... 3-3 絵文字 / 記号を入力する... 3-4 顔文字を入力する... 3-5 定型文を利用する... 3-6 その他の入力補助機能... 3-6 文字の変換機能... 3-7 変換機能を利用する... 3-7 英字 / 数字 / カタカナに変換する ( 英数カナ候補 )... 3-9 文字数で予測候補を絞り込む
RS-MS1A ~オフライン地図について~
RS-MS1A ~ オフライン地図について ~ このたびは 弊社ダウンロードサービスをご利用いただきまして まことにありがとうございます 本書は RS-MS1A で オフライン地図機能を使用する手順について説明しています オフライン地図とは お客様が用意した地図画像と 緯度経度情報を RS-MS1A に登録することで インターネットに接続できない環境 ( オフライン ) でも自分や相手の現在地が確認できる機能です
NFCライブラリマニュアル
abc SAM ライブラリマニュアル このマニュアルは SAM ライブラリの仕様について記載します Ver. 1.08 ご注意 このソフトウェアおよびマニュアルの 一部または全部を無断で使用 複製することはできません このソフトウェアおよびマニュアルは 本製品の使用許諾契約書のもとでのみ使用することができます このソフトウェアおよびマニュアルを運用した結果の影響については 一切の責任を負いかねますのでご了承ください
画面について 画面構成 画面構成 Smart Copy for Android の画面構成は 次のとおりです 1フォルダパス 2. ファイルの種類 3 ファイル一覧 5[ 戻る ] ボタン 4[ メニュー ] ボタン 1 フォルダパス現在表示している画面のフォルダパスが表示されます 2ファイルの種類
Smart Copy for Android ~ ユーザーズガイド ~ 画面について 画面構成...2 LMF シリーズのデータを表示する...9 ファイル一覧の表示を変更する... 11 データ操作ファイルを再生する... 17 ファイルやフォルダをコピーする... 19 ファイルやフォルダを移動する... 24 ファイルやフォルダを削除する... 29 ファイルやフォルダの名前を変更する...
クイックマニュアル(利用者編)
クイックマニュアル エコノス株式会社 目次 1. 利用イメージ 2. ログイン画面 3. 検索画面 4. クロールサイト管理画面 5. ユーザ管理 6. 検索履歴確認 7. クロール結果確認 8. ダウンロードパスワード設定 9. URLチェック 2 1. ご利用イメージ (1/2) 基本的な機能のご利用について 1 サイトへアクセスしログイン関連ページ :2. ログイン画面 2 検索対象の URL
Cisco Jabber for Windows のカスタマイズ
インストール後にカスタマイズできる機能を確認します 組織の要件を満たすようにこれらの 機能をカスタマイズする方法について学習します カスタム顔文字の追加, 1 ページ カスタム埋め込みタブの作成, 5 ページ カスタム顔文字の追加 カスタム顔文字を Cisco Jabber for Windows に追加するには XML ファイルで顔文字の定義を作成 し ファイル システムに保存します 注 最適な結果を得るには
intra-mart Accel Platform — OData for SAP HANA セットアップガイド 初版
Copyright 2016 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 前提条件 2.3. 対象読者 2.4. 注意事項 3. 概要 3.1. OData 連携について 3.2. OData について 3.3. SAP HANA 連携について 3.4. アクター 3.5. セットアップの手順について
BOM for Windows Ver
BOM for Windows Ver.5.0 SR2 リリースノート Copyright 2007-2009 SAY Technologies, Inc. All rights reserved. このドキュメントには BOM Ver5.0 SR2 に関する最新情報が記載されています 対応 OS の追加 対応 SP と OS が増えました 機能追加 改良 1.Windows Server 2008
生存確認調査ツール
Hos-CanR.0 独自項目運用マニュアル FileMaker pro を使用 登録作業者用 Ver. バージョン改訂日付改訂内容 Ver. 00//5 初版 Ver. 0// FileMaker Pro の動作確認の追加 はじめに 本マニュアルについて Hos-CanR.0 院内がん登録システム ( 以降は Hos-CanR.0 と記述します ) では 独自項目の作成 登録 サポートはなくなり
<4D F736F F D F8E FEE95F1836C F8EE88F878F F88979D8BC68ED2976C A2E646F63>
さんぱいくん への情報登録方法 1. まず http://www2.sanpainet.or.jp にアクセスします 産廃情報ネット http://www.sanpainet.or.jp からもリンクをたどることができます 2. メニュー画面情報を公表する公表項目セットデータの新規登録 編集や公表 公表停止の設定を行なうことができます 処理業者データ登録 変更 をクリック 3. ログインする処理業者向けのログイン画面が表示されます
