2013-08-08 2 views
5

Я пытаюсь разработать приложение для iOS и Android с поддержкой emoji в сообщениях. В настоящее время я кодирую и декодирует Base64 строку (текст &/emoji) с UTF-8. Кажется, он работает от имени Android-Android и iOS-iOS, но с Android -> iOS или iOS -> Android он не всегда работает. Есть иногда несколько emojis отсутствует, а остальная часть строки (любой фактический текст) теряется в этих случаях.Поддержка Emoji для iOS и Android

Примечание: Я понимаю, что разные устройства имеют разные эмоции, поэтому я не так беспокоюсь о случайных недостающих эмоциях, но недостающий текст беспокоит меня, и я заметил недостающий эможи на том же устройстве.

Есть ли у кого-нибудь идеи или какие-либо лучшие решения? Благодаря!

+0

Что означает iOS для Android и наоборот? Через сервер? Блютуз? Как? – Simon

+0

Через веб-сервер * – lgdroid57

+0

Кстати, пример моей кодировки: http://stackoverflow.com/questions/7360403/base-64-encode-and-decode-example-code/7360440#7360440 – lgdroid57

ответ

2

Мне удалось это выяснить. Мы больше не кодируем и не декодируем строку. Вместо этого я изменил TextView в Android, чтобы переформатировать строку так, чтобы отображались как текст, так и emojis. Я создал очень простую библиотеку, основанную на моем решении. https://github.com/will5/EMOJITextView

+0

Не могли бы вы написать более подробную информацию о своей библиотеке, о том, что она делает и как он работает, все, что я вижу в EmojiTextView.java, это то, что вы применяете StringEscapeUtils.unescapeJava к тексту. –

+1

Извините! StringEscapeUtils является частью библиотеки java, которая не является частью андроидной библиотеки. Моя библиотека импортирует недостающую библиотеку и правильно удаляет escape-символы. Например, «:-)» получает escape-код как «\ ud83d \ ude03». EmojiTextView.setTextWithEmojis преобразует «\ ud83d \ ude03» в «:-)». – lgdroid57

+1

Я просто синхронизировал новую версию, которая имеет вспомогательный класс для кодирования и декодирования смайликов, как я упомянул – lgdroid57

Смежные вопросы