补充
1.时间处理类:
处理微博发出时间距现在时刻的时间。应该是比较容易理解的。
/** * 时间处理类 */public class DateUtils {public String getInterval(String createtime) { //传入的时间格式必须类似于2012-8-21 17:53:20这样的格式String interval = null;SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");ParsePosition pos = new ParsePosition(0);Date d1 = sd.parse(createtime, pos);//用现在距离1970年的时间间隔new Date().getTime()减去以前的时间距离1970年的时间间隔d1.getTime()得出的就是以前的时间与现在时间的时间间隔long time = new Date().getTime() - d1.getTime();// 得出的时间间隔是毫秒int day = 24 * 3600000;int week = day * 7;if (time / 1000 < 10 && time / 1000 >= 0) {//如果时间间隔小于10秒则显示“刚刚”time/10得出的时间间隔的单位是秒interval = "刚刚";} else if (time / 3600000 < 24 && time / 3600000 > 0) {//如果时间间隔小于24小时则显示多少小时前int h = (int) (time / 3600000);//得出的时间间隔的单位是小时interval = h + "小时前";} else if (time / 60000 < 60 && time / 60000 > 0) {//如果时间间隔小于60分钟则显示多少分钟前int m = (int) ((time % 3600000) / 60000);//得出的时间间隔的单位是分钟interval = m + "分钟前";} else if (time / 1000 < 60 && time / 1000 > 0) {//如果时间间隔小于60秒则显示多少秒前int se = (int) ((time % 60000) / 1000);interval = se + "秒前";} else if (time / day < 7 && time / day > 0) {int d = (int) (time / day);interval = d + "天前";} else if (time / week < 5 && time / week > 0) {int w = (int) (time / week);interval = w + "周前";} else {//大于一个月的,则显示正常的时间,但是不显示秒SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");ParsePosition pos2 = new ParsePosition(0);Date d2 = (Date) sdf.parse(createtime, pos2);interval = sdf.format(d2);}return interval;}}2.字符串中表情处理类:
public class StringUtils {public static SpannableString getEmotionContent(final Context context, final TextView tv, String source) {SpannableString spannableString = new SpannableString(source);Resources res = context.getResources();String regexEmotion = "\[([u4e00-u9fa5\w])+\]";Pattern patternEmotion = Pattern.compile(regexEmotion);Matcher matcherEmotion = patternEmotion.matcher(spannableString);Bitmap scaleBitmap;int size = (int) tv.getTextSize();while (matcherEmotion.find()) {// 获取匹配到的具体字符String key = matcherEmotion.group();// 匹配字符串的开始位置int start = matcherEmotion.start();// 利用表情名字获取到对应的图片Integer imgRes = EmotionUtils.getImgByName(key);if (imgRes != null && size > 0) {// 压缩表情图片Bitmap bitmap = BitmapFactory.decodeResource(res, imgRes);if (bitmap != null) {scaleBitmap = Bitmap.createScaledBitmap(bitmap, size, size, true);ImageSpan span = new ImageSpan(context, scaleBitmap);spannableString.setSpan(span, start, start + key.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);}}}return spannableString;}}3.manifest文件:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="study.sinatest"> <!-- 访问网络的权限 --><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="android.permission.INTERNET"/><!-- 在SDCard中创建与删除文件权限 --><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/><!-- 往SDCard写入数据权限 --><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><application<!-- 此处由于上次多张图片会使内存溢出,故需申请额外内存 -->android:largeHeap="true"android:allowBackup="true"android:hardwareAccelerated="false"android:icon="@mipmap/weibologo"android:label="@string/app_name"android:supportsRtl="true"android:theme="@style/AppTheme"><activityandroid:name=".SplashActivity"android:configChanges="keyboardHidden"android:launchMode="singleTask"android:screenOrientation="portrait"><intent-filter><action android:name="android.intent.action.MAIN"/><category android:name="android.intent.category.LAUNCHER"/></intent-filter></activity><activity android:name=".LoginActivity"/><activity android:name=".MainActivity"/><activity android:name=".HomeActivity"/><activity android:name=".WriteActivity"/><activity android:name=".CommentActivity"/><activity android:name=".MeActivity"/><activity android:name=".MoreActivity"/><!-- 授权页面 --><activityandroid:name=".OAuthActivity"android:launchMode="singleTask"><intent-filter><action android:name="android.intent.action.VIEW"/><category android:name="android.intent.category.DEFAULT"/><category android:name="android.intent.category.BROWSABLE"/><data android:scheme="philn"/></intent-filter></activity><!-- 谷歌服务权限 --><meta-dataandroid:name="com.google.android.gms.version"android:value="@integer/google_play_services_version"/></application><supports-screensandroid:anyDensity="true"android:largeScreens="true"android:normalScreens="true"/></manifest>以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。