实用代码4

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());
				}
			}
		});
	}
时间: 2024-12-17 00:40:32

实用代码4的相关文章

【swift】BlockOperation和GCD实用代码块

//BlockOperation // // ViewController.swift import UIKit class ViewController: UIViewController { @IBOutlet weak var image1: UIImageView! @IBOutlet weak var image2: UIImageView! @IBOutlet weak var image3: UIImageView! @IBOutlet weak var image4: UIIma

ul、li列表简单实用代码实例

ul.li列表简单实用代码实例: 利用ul和li可以实现列表效果,下面就是一个简单的演示. 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.51texiao.cn/" /> <title>蚂蚁部落</title> &

VB6-表格控件MSHFlexGrid 实用代码

在vb6中要显示数据虽然有datagrid.msflexgrid.mshflexgrid.vsflexgrid.True dbgrid7.0 可选,不过我在工作中用的最多的还是MSHFlexGrid,以下我会常分享一些使用这个控件的技巧.方法代码,保证拿了就可以用. 1.使用MSHFlexGrid的FormatString属性可以做到一次设置行标题和列标题 Dim sTitle As String sTitle = "<Name |<Address |<Telephone |&

Android实用代码七段(五)

前言 每次分享意味着每次都有进步,本系列以实用为主,欢迎和我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 1.展开.收起状态栏 public static final void collapseStatusBar(Context ctx) {        Object sbservice = ctx.getSystemService("statu

iOS开发中经常用的实用代码合集

iOS开发中经常用的实用代码合集 本文整理了,在iOS开发中我们所遇到一些开发问题的技巧类的代码,让你在开发过程中避免了很多弯路,希望能给你的开发带来帮助和启发. 1.判断邮箱格式是否正确的代码: // 利用正则表达式验证 -( BOOL )isValidateEmail:( NSString  *)email { NSString  *emailRegex =  @"[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,4}&

Java简单实用代码分享,这里一定有你想要的!

Java简单实用代码分享,这里一定有你想要的! 今天开始给大家分享一些简单实用的代码,之前的小项目文章因为篇幅有限,没办法一篇文章说清楚,便想着分享一些小代码.都是完整有效的,可直接取用. 电脑密码制作 #include <stdio.h> void InputPass(char pw[])//获取用户输入的密码 { char ch;//用户输入的密码字符 char* pold = pw;//保存密码数组的首地址,用于循环内的比较 while((ch=getch())!='\r')//ASCI

Android 实用代码片段

一些不常见确又很实用的代码块. 1.精确获取屏幕尺寸(例如:3.5.4.0.5.0寸屏幕) public static double getScreenPhysicalSize(Activity ctx) { DisplayMetrics dm = new DisplayMetrics(); ctx.getWindowManager().getDefaultDisplay().getMetrics(dm); double diagonalPixels = Math.sqrt(Math.pow(d

.NET开发中常用的10条实用代码

1.读取操作系统和CLR的版本 OperatingSystem os = System.Environment.OSVersion; Console.WriteLine(“Platform: {0}”, os.Platform); Console.WriteLine(“Service Pack: {0}”, os.ServicePack); Console.WriteLine(“Version: {0}”, os.Version); Console.WriteLine(“VersionStrin

Android实用代码七段(三)

前言 终于又攒了一篇出来,本系列以实用为主,欢迎和我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文  一.获取已经安装APK的路径 PackageManager pm = getPackageManager(); for (ApplicationInfo app : pm.getInstalledApplications(0)) {      Lo

C#程序员经常用到的10个实用代码片段

1 读取操作系统和CLR的版本 OperatingSystem os = System.Environment.OSVersion; Console.WriteLine("Platform: {0}", os.Platform); Console.WriteLine("Service Pack: {0}", os.ServicePack); Console.WriteLine("Version: {0}", os.Version); Consol