實用代碼4,實用代碼

來源:互聯網
上載者:User

實用代碼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>() {@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());}}});}



 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.