Anzeige emoji/emotion-icon in Android-TextView
Ich habe einige Probleme mit der Anzeige von emoji-Symbol in der Android-TextView
Ersten, fand ich eine Liste von emoji-Symbol in unicode hier:
http://www.easyapns.com/category/just-for-fun
Zweite, fand ich, wie die Anzeige emoji-Symbol hier:
https://github.com/sharakova/EmojiTextView/blob/master/src/jp/sharakova/android/emoji/EmojiTextView.java
Den EmojiTextView.java umwandeln können die vordefinierten Zeichen für emoji-Symbol automatisch. Ich möchte daher ersetzen Sie alle vorkommen von emoji Symbol in eine Zeichenfolge, die einige vordefinierte Charakter und das Ergebnis zu EmojiTextView.java
Das problem ist, mein code nicht erkennen, emoji Symbol in der Zeichenfolge, die enthält emoji-Symbol.
Hier ist mein code-snippet - ich bin versucht zu finden, wenn die Eingabe keine übereinstimmung mit unicode emoji-Symbol:
//Array list of all emoji icon
private static final String[] ArrayEUnicodeString ={
"\uE415",
"\uE056",
"\uE057",
...
}
//Nothing matched when it receive emoji icon with unicode "\uE415" from iphone. 'input' is message received from XMPP server
for (int i=0; i < emojiLength; i++)
{
if (input.getBytes() == ArrayEUnicodeString[i].getBytes())
Log.e("test", "ArrayEUnicodeString found");
}
//Note: iphone can display the emoji icon if I send "\uE415"
Ich bin nicht gut im unicode-Vergleich/convention. Kann mir jemand helfen bitte, vielen Dank!
InformationsquelleAutor der Frage mobile app Beginner | 2012-03-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie auch versuchen zu finden, die emoji-mit einem regulären Ausdruck: "[\ue415\ue056\ue057]", anstelle des Vergleichs der bytes. ?
InformationsquelleAutor der Antwort Jamal
Warum willst du das einbetten des geschützten Apple emoji Bilder in Ihrer Anwendung überhaupt?
Den Unicode-standard enthält 722 emoji, die angezeigt werden können durch Android Standard-schriftart nur durch die Eingabe der Unicode-Zeichen in eine
EditText
Feld oderTextView
.Können Sie, zusätzlich, verwenden Sie die folgende Bibliothek (im Ordner "Java") zum automatischen konvertieren von beliebten emoticons, wie
:-)
zu den entsprechenden Unicode-emoji:https://github.com/delight-im/Emoji
InformationsquelleAutor der Antwort caw
Es funktioniert gut, wenn Sie konvertieren den string in ein char-array und überprüfe jeden char, wie:
wo SUPPORTED_EMOJI_SET ist nur ein Satz von Zeichen, zum Beispiel:
Könnte man dies auch mit einem regex, aber ich glaube, das würde schneller laufen.
InformationsquelleAutor der Antwort greg7gkb
Hier, gehen Sie Bitte über die unten Lösung :
Problem : Innen TextView statt Emoji, String \ue415\ue056\ue057 zeigt.
Ursache : In java oder android, programmgesteuert string-Darstellung von Emoji ' s erhalten Sie als \\ue415\\ue056\\ue057. Aber wenn Sie versuchen, drucken Sie denselben String in der Konsole oder LogCat dann das escape-Zeichen wird entfernt, und Sie erhalten Strings als \ue415\ue056\ue057weil die Hauptursache des Problems ist nicht nachweisbar.
Lösung : um dieses Problem Zu lösen, müssen wir behandeln escape-Zeichen. Erstellt habe ich unten die Methode, die dieses problem lösen.
InformationsquelleAutor der Antwort Girish Bhalerao