码迷,mamicode.com
首页 > 其他好文 > 详细

实用代码4

时间:2014-11-21 20:33:21      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:android   文件夹排序   ip   正则   已安装apk   

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>() {

			@Override
			public 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());
				}
			}
		});
	}



 

实用代码4

标签:android   文件夹排序   ip   正则   已安装apk   

原文地址:http://blog.csdn.net/u010142437/article/details/41356687

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!