android分享d框、时间格式、shared工具类

android分享d框、时间格式、shared工具类,第1张

概述1、分享工具类:publicclassShareUtils{publicstaticvoidshareText(Contextcontext,StringshareText){Intentintent=newIntent(Intent.ACTION_SEND);intent.setType("text/plain");intent.putExtra(Intent.EXTRA_SUBJECT,

1、分享工具类

public class ShareUtils {    public static voID shareText(Context context, String shareText) {        Intent intent = new Intent(Intent.ACTION_SEND);        intent.setType("text/plain");        intent.putExtra(Intent.EXTRA_SUBJECT, "分享");        intent.putExtra(Intent.EXTRA_TEXT, shareText);        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);        context.startActivity(Intent.createChooser(intent, "分享"));    }    public static voID shareImage(Context context, Uri uri) {        Intent shareIntent = new Intent();        shareIntent.setAction(Intent.ACTION_SEND);        shareIntent.putExtra(Intent.EXTRA_STREAM, uri);        shareIntent.setType("image/jpeg");        context.startActivity(Intent.createChooser(shareIntent, "分享图片"));    }}

2、时间格式化工具(分钟前、小时前...):

public class TimeDifferenceUtils {    public static String getTimeDifference(String time) {        DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");        long diff = 0;        try {            Date publish_date = df.parse(time);            Date Now_date = new Date();            diff = Now_date.getTime() - publish_date.getTime();            if (diff < 0) {                return "from未来";            } else {                diff /= (1000 * 60);                if (diff <= 60) {                    return diff + "分钟前";                }                diff /= 60;                if (diff <= 24) {                    return diff + "小时前";                }                diff /= 24;                if (diff < 30) {                    if (diff == 1) return "昨天";                    return diff + "天前";                }                DateFormat df_date = new SimpleDateFormat("MM-dd");                return df_date.format(publish_date);            }        } catch (ParseException e) {            e.printstacktrace();        }        return time;    }}

3、sharedPreference工具类:

public class SPUtils {    /**     * 保存在手机里面的文件名     */    public static final String file_name = "share_data";    /**     * 保存数据的方法,我们需要拿到保存数据的具体类型,然后根据类型调用不同的保存方法     *     * @param context     * @param key     * @param object     */    public static voID put(Context context, String key, Object object) {        SharedPreferences sp = context.getSharedPreferences(file_name,                Context.MODE_PRIVATE);        SharedPreferences.Editor editor = sp.edit();        if (object instanceof String) {            editor.putString(key, (String) object);        } else if (object instanceof Integer) {            editor.putInt(key, (Integer) object);        } else if (object instanceof Boolean) {            editor.putBoolean(key, (Boolean) object);        } else if (object instanceof float) {            editor.putfloat(key, (float) object);        } else if (object instanceof Long) {            editor.putLong(key, (Long) object);        } else {            editor.putString(key, object.toString());        }        SharedPreferencesCompat.apply(editor);    }    /**     * 得到保存数据的方法,我们根据默认值得到保存的数据的具体类型,然后调用相对于的方法获取值     *     * @param context     * @param key     * @param defaultObject     * @return     */    public static Object get(Context context, String key, Object defaultObject) {        SharedPreferences sp = context.getSharedPreferences(file_name,                Context.MODE_PRIVATE);        if (defaultObject instanceof String) {            return sp.getString(key, (String) defaultObject);        } else if (defaultObject instanceof Integer) {            return sp.getInt(key, (Integer) defaultObject);        } else if (defaultObject instanceof Boolean) {            return sp.getBoolean(key, (Boolean) defaultObject);        } else if (defaultObject instanceof float) {            return sp.getfloat(key, (float) defaultObject);        } else if (defaultObject instanceof Long) {            return sp.getLong(key, (Long) defaultObject);        }        return null;    }    /**     * 移除某个key值已经对应的值     *     * @param context     * @param key     */    public static voID remove(Context context, String key) {        SharedPreferences sp = context.getSharedPreferences(file_name,                Context.MODE_PRIVATE);        SharedPreferences.Editor editor = sp.edit();        editor.remove(key);        SharedPreferencesCompat.apply(editor);    }    /**     * 清除所有数据     *     * @param context     */    public static voID clear(Context context) {        SharedPreferences sp = context.getSharedPreferences(file_name,                Context.MODE_PRIVATE);        SharedPreferences.Editor editor = sp.edit();        editor.clear();        SharedPreferencesCompat.apply(editor);    }    /**     * 查询某个key是否已经存在     *     * @param context     * @param key     * @return     */    public static boolean contains(Context context, String key) {        SharedPreferences sp = context.getSharedPreferences(file_name,                Context.MODE_PRIVATE);        return sp.contains(key);    }    /**     * 返回所有的键值对     *     * @param context     * @return     */    public static Map<String, ?> getAll(Context context) {        SharedPreferences sp = context.getSharedPreferences(file_name,                Context.MODE_PRIVATE);        return sp.getAll();    }    /**     * 创建一个解决SharedPreferencesCompat.apply方法的一个兼容类     *     * @author zhy     */    private static class SharedPreferencesCompat {        private static final Method sApplyMethod = findApplyMethod();        /**         * 反射查找apply的方法         *         * @return         */        @SuppressWarnings({"unchecked", "rawtypes"})        private static Method findApplyMethod() {            try {                Class clz = SharedPreferences.Editor.class;                return clz.getmethod("apply");            } catch (NoSuchMethodException e) {            }            return null;        }        /**         * 如果找到则使用apply执行,否则使用commit         *         * @param editor         */        public static voID apply(SharedPreferences.Editor editor) {            try {                if (sApplyMethod != null) {                    sApplyMethod.invoke(editor);                    return;                }            } catch (IllegalArgumentException e) {            } catch (illegalaccessexception e) {            } catch (InvocationTargetException e) {            }            editor.commit();        }    }}

 

总结

以上是内存溢出为你收集整理的android分享d框、时间格式、shared工具类全部内容,希望文章能够帮你解决android分享d框、时间格式、shared工具类所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1111910.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存