Поддержка Emoji Keyboard для EditField в android

Мое приложение использует Android 4.0 на Samsung Galaxy S3.

Я хочу интегрировать поддержку символов Emoji в поле EditText в приложении Android. Может ли кто-нибудь предложить мне, как я могу это достичь?

Например, в приложении Whatsapp и wechat TextField поддерживает символы клавиатуры Emoji, но в моем приложении это отображается ? Для каждого символа я использую клавиатуру Emoji.

Снимок экрана, объясняющий мою потребность

 text_message = (EditText) findViewById(R.id.editText1); text_view = (textView) findViewById(R.id.textView1); btntest = (Button) findViewById(R.id.button1); btntest.setOnClickListener(new OnClickListener() { public void onClick(View v) { text_swype.setText(text_message.getText().toString()); } }); 

И я также пробую https://github.com/IPL/iOSStyleEditText

И шрифт emoji от http://klncity1.wordpress.com/tag/emoji/

Но не работает

Вы можете использовать EmojiconTextView или EmojiconEditText из этой библиотеки: https://github.com/rockerhieu/emojicon

Это зависит от шрифта, который используется для TextView или его подклассов, таких как EditText .

Каждый View может отображать emoji, потому что в Unicode есть сотни emoji, и те же стали по умолчанию, что большинство клавиатур и приложений emoji, таких как WhatsApp, используют.

Однако вы не увидите эти красочные изображения, как вы видите в WhatsApp, например. Это связано с тем, что WhatsApp использует пользовательские шрифты / изображения для этих emoji, которые заменяют внешний вид по умолчанию.

Но если вы добавите emoji в текстовое поле в своем обычном приложении «Сообщения» или где-то еще, вы увидите обычный стиль Android, который является монохромным emoji, показывающим робот Android.

Вот список общих emoji и их кодов Unicode:

https://github.com/delight-im/Emoji

Все они поддерживаются обычным шрифтом Android. Возможно, вы изменили шрифт вашего EditText в макете.

Вот список доступных emoji Unicode

Отправляя содержимое на сервер, вам нужно использовать org.apache.commons.lang3.escapeJava(...) и при получении данных с сервера вам нужно обратить Unicode на смайлик, поэтому вам нужно использовать org.apache.commons.lang3.unescapeJava(...)

Вы должны использовать «EmojiconEditText» из библиотеки. Он отобразит Eemojies.

Используйте любой из них.

 EmojiconTextView: a TextView which can render emojis. EmojiconEditText: a EditText which can render emojis. EmojiconGridFragment: a fragment contains emojis in a GridView for the user to choose. EmojiconsFragment: a fragment contains many set of emojis for the user to choose. 

Ниже приведена информация из org.apache.commons.lang3

Ответ, отправленный @AZ_, прав, но имя утилиты обновлено следующим образом:

Отправьте строку на сервер как:

 org.apache.commons.lang3.StringEscapeUtils.escapeJava(mEdText1.getText().toString() 

Чтение строки с сервера:

 org.apache.commons.lang3.StringEscapeUtils.unescapeJava(mData.get(position).getText())