@@ -0,0 +1,1656 @@
+package io.agora.contract.utils;%0A%0Aimport android.text.SpannableString;%0Aimport android.text.Spanned;%0Aimport android.text.style.ForegroundColorSpan;%0A%0Aimport java.util.regex.Matcher;%0Aimport java.util.regex.Pattern;%0A%0A/**%0A * File Name:   %E9%AB%98%E4%BA%AE%E5%AD%97%E4%BD%93%E8%AE%BE%E7%BD%AE%0A * Author:      ruan%0A * Write Dates: 2017/9/8%0A * Description:%0A */%0A%0Apublic class HighLightKeyWordUtil %7B%0A%0A    /**%0A     * @param color %E5%85%B3%E9%94%AE%E5%AD%97%E9%A2%9C%E8%89%B2%0A     * @param text %E6%96%87%E6%9C%AC%0A     * @param keyword %E5%85%B3%E9%94%AE%E5%AD%97%0A     * @return%0A     */%0A    public static SpannableString getHighLightKeyWord(int color, String text, String keyword) %7B%0A        SpannableString s = new SpannableString(text);%0A        Pattern p = Pattern.compile(keyword);%0A        Matcher m = p.matcher(s);%0A        while (m.find()) %7B%0A            int start = m.start();%0A            int end = m.end();%0A            s.setSpan(new ForegroundColorSpan(color), start, end,%0A                    Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);%0A            LogUtils.e(%22%E7%BB%99%E6%96%87%E5%AD%97%E5%8A%A0%E5%85%A5%E9%AB%98%E4%BA%AE%E6%88%90%E5%8A%9F---%3E%22);%0A        %7D%0A        return s;%0A    %7D%0A%0A    /**%0A     * @param color %E5%85%B3%E9%94%AE%E5%AD%97%E9%A2%9C%E8%89%B2%0A     * @param text %E6%96%87%E6%9C%AC%0A     * @param keyword %E5%A4%9A%E4%B8%AA%E5%85%B3%E9%94%AE%E5%AD%97%0A     * @return%0A     */%0A    public static SpannableString getHighLightKeyWord(int color, String text,String%5B%5D keyword) %7B%0A        SpannableString s = new SpannableString(text);%0A        for (int i = 0; i %3C keyword.length; i++) %7B%0A            Pattern p = Pattern.compile(keyword%5Bi%5D);%0A            Matcher m = p.matcher(s);%0A            while (m.find()) %7B%0A                int start = m.start();%0A                int end = m.end();%0A                s.setSpan(new ForegroundColorSpan(color), start, end,%0A                        Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);%0A            %7D%0A        %7D%0A        return s;%0A%0A    %7D%0A%0A%7D

完成了评论界面的开发，完成了应用的更新，完成了混淆和签名apk