Android emoji集成

就是飞一样的感觉

1、加依赖, 包很小,几乎不占包体积

  //Emoji表情转换成各类可见字符串:https://github.com/vdurmont/emoji-java/
  compile'com.vdurmont:emoji-java:+'

2、上传的文本内容,(带emoji表情)

   URLEncoder.encode(StringUtil.emoji2Unicode(EmojiParser.parseToUnicode(mEditContent.getText().toString().trim())))
 /**
     * 将字符串中的Emoji表情转换成Unicode编码
     * @param src
     * @return
     */
    public static  String emoji2Unicode(String src) {
        StringBuffer unicode = new StringBuffer();

        for (int i = 0; i < src.length(); i++) {
            char c = src.charAt(i);
            int codepoint = src.codePointAt(i);
            if(isEmojiCharacter(codepoint)) {
                unicode.append("\\u").append(Integer.toHexString(c));
            } else {
                unicode.append(c);
            }
        }
        return unicode.toString();
    }

3、显示的文本(带emoji表情)

  StringUtil.unicode2Emoji(item.getTitle())
/**
     * 将Unicode字符转成中文
     * @param src
     * @return
     */
    public static String unicode2Emoji(String src) {
        if (TextUtils.isEmpty(src)) {
            return "";
        }

        StringBuffer retBuf = new StringBuffer();
        int maxLoop = src.length();
        for (int i = 0; i < maxLoop; i++) {
            if (src.charAt(i) == '\\') {
                if ((i < maxLoop - 5) && ((src.charAt(i + 1) == 'u') || (src.charAt(i + 1) == 'U'))) {
                    try {
                        retBuf.append((char) Integer.parseInt(src.substring(i + 2, i + 6), 16));
                        i += 5;
                    } catch (NumberFormatException localNumberFormatException) {
                        retBuf.append(src.charAt(i));
                    }
                } else {
                    retBuf.append(src.charAt(i));
                }
            } else {
                retBuf.append(src.charAt(i));
            }
        }
        return retBuf.toString();
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,118评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,271评论 4 61
  • 凌晨12点半,被身后窸窸窣窣的哭声吵醒,以为她又做梦了,翻身搂她入怀拍了两下,继续睡觉,又听见她哭。 ...
    霸气兔女郎阅读 418评论 0 0
  • 今日早餐,主角:全麦面包片夹鸡蛋青椒碎,配角:玉米、花生小米黑米粥、虾、拌青笋甜椒丝、水果、勿忘我干花 叨叨念:“...
    樱樱小香阅读 604评论 0 5
  • 又一个启动大会如期进行,看着台上又有新人获取他们的荣誉,好像八月份的我一样,意气风发,领奖时候的骄傲和自豪此刻已经...
    小马哒哒哒阅读 273评论 0 0