实用代码4

来源:互联网 发布:excel筛选两列重复数据 编辑:程序博客网 时间:2024/04/28 01:49

1、

/** * 获取指定程序下所有Action为Intent.ACTION_MAIN的Activity *  * @param context *            上下文对象 * @param pkg *            包名 * @return 指定程序下所有Action为Intent.ACTION_MAIN的Activity的集合 */public static List<String> getActivities(Context context, String pkg) {List<String> result = new ArrayList<String>();Intent intent = new Intent(Intent.ACTION_MAIN, null);intent.setPackage(pkg);List<ResolveInfo> list = context.getPackageManager().queryIntentActivities(intent, 0);if (DataUtil.isEmpty(list)) {return null;}for (ResolveInfo info : list) {result.add(info.activityInfo.name);}return result;}

2、

/** * 获取指定已安装的APK的安装路径(如:/data/app/com.home.util-2.apk) *  * @param context *            上下文对象 * @param pkg *            包名 * @return 指定APK的安装路径 */public static String getAppSourceDir(Context context, String pkg) {PackageManager pm = context.getPackageManager();List<ApplicationInfo> list = pm.getInstalledApplications(0);if (DataUtil.isEmpty(list)) {return null;}for (ApplicationInfo appInfo : list) {if (appInfo.packageName.equals(pkg)) {return appInfo.sourceDir;}}return null;}


3、

/** * 泛型的集合转为数组 *  * @param cls *            类模板 * @param list *            源集合 * @return 转换后的数组 */@SuppressWarnings("unchecked")public static <T> T[] listToArray(Class<?> cls, List<T> list) {if (isEmpty(list)) {return (T[]) Array.newInstance(cls, 0);}return list.toArray((T[]) Array.newInstance(cls, list.size()));}


4、

/** * 检测文本是否全为中文 *  * @param text *            文本 * @return 全为中文返回true,否则返回false */public static boolean isChinese(String text) {if (isEmpty(text)) {return false;}return text.matches("[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+");}


5、

/** * 检测文本中是否包含汉字 *  * @param text *            文本 * @return 包含返回true,否则返回false */public static boolean isHasChinese(String text) {final String format = "[\\u4E00-\\u9FA5\\uF900-\\uFA2D]";boolean result = false;Pattern pattern = Pattern.compile(format);Matcher matcher = pattern.matcher(text);result = matcher.find();return result;}


6、

/** * 保存ListView的当前位置 *  * @param context *            上下文对象 * @param lv *            ListView实例 *  */public static void saveListViewCurPos(Context context, ListView lv) {int pos = lv.getFirstVisiblePosition();View v = lv.getChildAt(0);int top = (v == null) ? 0 : v.getTop();SharedUtil.saveInt(context, Constant.DEFAULT_SHARE_NAME, "pos", pos);SharedUtil.saveInt(context, Constant.DEFAULT_SHARE_NAME, "top", top);}/** * 恢复ListView的之前位置 *  * @param context *            上下文对象 * @param lv *            ListView实例 * @return 恢复成功返回true,否则返回false */public static boolean resumeListViewPos(Context context, ListView lv) {int pos = SharedUtil.getInt(context, Constant.DEFAULT_SHARE_NAME, "pos", -1);int top = SharedUtil.getInt(context, Constant.DEFAULT_SHARE_NAME, "top", -1);if (pos == -1 || top == -1) {return false;}lv.setSelectionFromTop(pos, top);return true;}


7、

/** * 获取手机ip地址 *  * @param context *            上下文对象 * @return ip地址 */@SuppressWarnings("deprecation")public static String getPhoneIp(Context context) {int ip = getWifiManager(context).getConnectionInfo().getIpAddress();return android.text.format.Formatter.formatIpAddress(ip);}


8、

/** * 文件夹排序(先文件夹排序后文件排序) *  * @param files *            文件数组 */public static void sortFiles(File[] files) {Arrays.sort(files, new Comparator<File>() {@Overridepublic int compare(File file1, File file2) {boolean l1 = file1.isDirectory();boolean l2 = file2.isDirectory();if (l1 && !l2)return -1;else if (!l1 && l2)return 1;else {return file1.getName().compareTo(file2.getName());}}});}



 

0 0