Android实用代码
发布时间:2020-12-15 00:17:01 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 一、获取应用程序下所有Activity public static ArrayList getActivities(Context ctx) { ????? ArrayList result = new ArrayList(); ????? Intent i
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考
一、获取应用程序下所有Activity
public static ArrayList getActivities(Context ctx) { ????? ArrayList result = new ArrayList(); ????? Intent intent = new Intent(Intent.ACTION_MAIN,null); ????? intent.setPackage(ctx.getPackageName()); ????? for (ResolveInfo info : ctx.getPackageManager().queryIntentActivities(intent,0)) { ????????? result.add(info.activityInfo.name); ????? } ????? return result; ? } 二、检测字符串中是否包含汉字 public static boolean checkChinese(String sequence) { ? ?????? final String format = "[u4E00-u9FA5uF900-uFA2D]";
??????? boolean result = false; ??????? Pattern pattern = Pattern.compile(format); ??????? Matcher matcher = pattern.matcher(sequence); ??????? result = matcher.find(); ??????? return result; ??? } 三、检测字符串中只能包含:中文、数字、下划线(_)、横线(-) ? ? public?static?boolean?checkNickname(String?sequence)?{ ????????final?String?format?=?"[^u4E00-u9FA5uF900-uFA2Dw-_]"; ????????Pattern?pattern?=?Pattern.compile(format); ????????Matcher?matcher?=?pattern.matcher(sequence); ????????return?!matcher.find(); ????} 四、使用TransitionDrawable实现渐变效果 private void setImageBitmap(ImageView imageView,Bitmap bitmap) { ??????? // Use TransitionDrawable to fade in. ??????? final TransitionDrawable td = new TransitionDrawable(new Drawable[] { new ColorDrawable(android.R.color.transparent),new BitmapDrawable(mContext.getResources(),bitmap) }); ??????? //noinspection deprecation ??????????? imageView.setBackgroundDrawable(imageView.getDrawable()); ??????? imageView.setImageDrawable(td); ??????? td.startTransition(200); ??? } 比使用AlphaAnimation效果要好,可避免出现闪烁问题。 五、扫描指定的文件
sendBroadcast(new?Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,?uri));
? ??public?static?int?dipToPX(final?Context?ctx,?float?dip)?{
????????return?(int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,?dip,?ctx.getResources().getDisplayMetrics()); ????} 用途:难免在Activity代码中设置位置、大小等,本方法就很有用了! 七、发送不重复的通知(Notification)
? ??public?static?void?sendNotification(Context?context,?String?title,
????????????String?message,?Bundle?extras)?{ ????????Intent?mIntent?=?new?Intent(context,?FragmentTabsActivity.class); ????????mIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); ????????mIntent.putExtras(extras); ????????int?requestCode?=?(int)?System.currentTimeMillis(); ????????PendingIntent?mContentIntent?=?PendingIntent.getActivity(context, ????????????????requestCode,?mIntent,?0); ????????Notification?mNotification?=?new?NotificationCompat.Builder(context) ????????????????.setContentTitle(title).setSmallIcon(R.drawable.app_icon) ????????????????.setContentIntent(mContentIntent).setContentText(message) ????????????????.build(); ????????mNotification.flags?|=?Notification.FLAG_AUTO_CANCEL; ????????mNotification.defaults?=?Notification.DEFAULT_ALL; ????????NotificationManager?mNotificationManager?=?(NotificationManager)?context ????????????????.getSystemService(Context.NOTIFICATION_SERVICE); ????????mNotificationManager.notify(requestCode,?mNotification); ????}
代码说明:关键点在这个requestCode,这里使用的是当前系统时间,巧妙的保证了每次都是一个新的Notification产生。?
? ??
????public?static?String?ipToHex(String?ips)?{ ????????StringBuffer?result?=?new?StringBuffer(); ????????if?(ips?!=?null)?{ ????????????StringTokenizer?st?=?new?StringTokenizer(ips,?"."); ????????????while?(st.hasMoreTokens())?{ ????????????????String?token?=?Integer.toHexString(Integer.parseInt(st.nextToken())); ????????????????if?(token.length()?==?1) ????????????????????token?=?"0"?+?token; ????????????????result.append(token); ????????????} ????????} ????????return?result.toString(); ????} ???? ????public?static?String?texToIp(String?ips)?{ ????????try?{ ????????????StringBuffer?result?=?new?StringBuffer(); ????????????if?(ips?!=?null?&&?ips.length()?==?8)?{ ????????????????for?(int?i?=?0;?i?<?8;?i?+=?2)?{ ????????????????????if?(i?!=?0) ????????????????????????result.append('.'); ????????????????????result.append(Integer.parseInt(ips.substring(i,?i?+?2),?16)); ????????????????} ????????????} ????????????return?result.toString(); ????????}?catch?(NumberFormatException?ex)?{ ????????????Logger.e(ex); ????????} ????????return?""; ????}
? ? ? ? mWebView.getSettings().setSupportZoom(true);
? ? ? ? mWebView.getSettings().setBuiltInZoomControls(true); ? ? ? ? if?(DeviceUtils.hasHoneycomb()) ? ? ? ? ? ? ? mWebView.getSettings().setDisplayZoomControls(false);
? ??public?static?String?getNetworkTypeName(Context?context)?{
????????if?(context?!=?null)?{ ????????????ConnectivityManager?connectMgr?=?(ConnectivityManager)?context.getSystemService(Context.CONNECTIVITY_SERVICE); ????????????if?(connectMgr?!=?null)?{ ????????????????NetworkInfo?info?=?connectMgr.getActiveNetworkInfo(); ????????????????if?(info?!=?null)?{ ????????????????????switch?(info.getType())?{ ????????????????????case?ConnectivityManager.TYPE_WIFI: ????????????????????????return?"WIFI"; ????????????????????case?ConnectivityManager.TYPE_MOBILE: ????????????????????????return?getNetworkTypeName(info.getSubtype()); ????????????????????} ????????????????} ????????????} ????????} ????????return?getNetworkTypeName(TelephonyManager.NETWORK_TYPE_UNKNOWN); ????} ????public?static?String?getNetworkTypeName(int?type)?{ ????????switch?(type)?{ ????????case?TelephonyManager.NETWORK_TYPE_GPRS: ????????????return?"GPRS"; ????????case?TelephonyManager.NETWORK_TYPE_EDGE: ????????????return?"EDGE"; ????????case?TelephonyManager.NETWORK_TYPE_UMTS: ????????????return?"UMTS"; ????????case?TelephonyManager.NETWORK_TYPE_HSDPA: ????????????return?"HSDPA"; ????????case?TelephonyManager.NETWORK_TYPE_HSUPA: ????????????return?"HSUPA"; ????????case?TelephonyManager.NETWORK_TYPE_HSPA: ????????????return?"HSPA"; ????????case?TelephonyManager.NETWORK_TYPE_CDMA: ????????????return?"CDMA"; ????????case?TelephonyManager.NETWORK_TYPE_EVDO_0: ????????????return?"CDMA?-?EvDo?rev.?0"; ????????case?TelephonyManager.NETWORK_TYPE_EVDO_A: ????????????return?"CDMA?-?EvDo?rev.?A"; ????????case?TelephonyManager.NETWORK_TYPE_EVDO_B: ????????????return?"CDMA?-?EvDo?rev.?B"; ????????case?TelephonyManager.NETWORK_TYPE_1xRTT: ????????????return?"CDMA?-?1xRTT"; ????????case?TelephonyManager.NETWORK_TYPE_LTE: ????????????return?"LTE"; ????????case?TelephonyManager.NETWORK_TYPE_EHRPD: ????????????return?"CDMA?-?eHRPD"; ????????case?TelephonyManager.NETWORK_TYPE_IDEN: ????????????return?"iDEN"; ????????case?TelephonyManager.NETWORK_TYPE_HSPAP: ????????????return?"HSPA+"; ????????default: ????????????return?"UNKNOWN"; ????????} ????}
? ??
????public?static?void?UnZipFolder(String?zipFileString,?String?outPathString)?throws?Exception?{ ????????java.util.zip.ZipInputStream?inZip?=?new?java.util.zip.ZipInputStream(new?java.io.FileInputStream(zipFileString)); ????????java.util.zip.ZipEntry?zipEntry; ????????String?szName?=?""; ????????while?((zipEntry?=?inZip.getNextEntry())?!=?null)?{ ????????????szName?=?zipEntry.getName(); ????????????if?(zipEntry.isDirectory())?{ ????????????????//?get?the?folder?name?of?the?widget ????????????????szName?=?szName.substring(0,?szName.length()?-?1); ????????????????java.io.File?folder?=?new?java.io.File(outPathString?+?java.io.File.separator?+?szName); ????????????????folder.mkdirs(); ????????????}?else?{ ????????????????java.io.File?file?=?new?java.io.File(outPathString?+?java.io.File.separator?+?szName); ????????????????file.createNewFile(); ????????????????//?get?the?output?stream?of?the?file ????????????????java.io.FileOutputStream?out?=?new?java.io.FileOutputStream(file); ????????????????int?len; ????????????????byte[]?buffer?=?new?byte[1024]; ????????????????//?read?(len)?bytes?into?buffer ????????????????while?((len?=?inZip.read(buffer))?!=?-1)?{ ????????????????????//?write?(len)?byte?from?buffer?at?the?position? ????????????????????out.write(buffer,?0,?len); ????????????????????out.flush(); ????????????????} ????????????????out.close(); ????????????} ????????}//end?of?while ????????inZip.close(); ????}//end?of?func
? ??
????public?static?String?getTextFromAssets(final?Context?context,?String?fileName)?{ ????????String?result?=?""; ????????try?{ ????????????InputStream?in?=?context.getResources().getAssets().open(fileName); ????????????//?获取文件的字节数 ????????????int?lenght?=?in.available(); ????????????//?创建byte数组 ????????????byte[]?buffer?=?new?byte[lenght]; ????????????//?将文件中的数据读到byte数组中 ????????????in.read(buffer); ????????????result?=?EncodingUtils.getString(buffer,?"UTF-8"); ????????????in.close(); ????????}?catch?(Exception?e)?{ ????????????e.printStackTrace(); ????????} ????????return?result; ????} ???? ???? ????public?static?Drawable?loadImageFromAsserts(final?Context?ctx,?String?fileName)?{ ????????try?{ ????????????InputStream?is?=?ctx.getResources().getAssets().open(fileName); ????????????return?Drawable.createFromStream(is,?null); ????????}?catch?(IOException?e)?{ ????????????if?(e?!=?null)?{ ????????????????e.printStackTrace(); ????????????} ????????}?catch?(OutOfMemoryError?e)?{ ????????????if?(e?!=?null)?{ ????????????????e.printStackTrace(); ????????????} ????????}?catch?(Exception?e)?{ ????????????if?(e?!=?null)?{ ????????????????e.printStackTrace(); ????????????} ????????} ????????return?null; ????} 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |