Android实用代码
发布时间:2020-05-24 15:40:39 所属栏目:Java 来源:互联网
导读:Android实用代码
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 一、获取应用程序下所有Activitypublic 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; } 三、检测字符串中只能包含:中文、数字、下划线(_)、横线(-) publicstaticbooleancheckNickname(Stringsequence){ finalStringformat="[^u4E00-u9FA5uF900-uFA2Dw-_]"; Patternpattern=Pattern.compile(format); Matchermatcher=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(newIntent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,uri)); publicstaticintdipToPX(finalContextctx,floatdip){ return(int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,dip,ctx.getResources().getDisplayMetrics()); } 用途:难免在Activity代码中设置位置、大小等,本方法就很有用了! 七、发送不重复的通知(Notification) publicstaticvoidsendNotification(Contextcontext,Stringtitle, Stringmessage,Bundleextras){ IntentmIntent=newIntent(context,FragmentTabsActivity.class); mIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); mIntent.putExtras(extras); intrequestCode=(int)System.currentTimeMillis(); PendingIntentmContentIntent=PendingIntent.getActivity(context, requestCode,mIntent,0); NotificationmNotification=newNotificationCompat.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; NotificationManagermNotificationManager=(NotificationManager)context .getSystemService(Context.NOTIFICATION_SERVICE); mNotificationManager.notify(requestCode,mNotification); } 代码说明:关键点在这个requestCode,这里使用的是当前系统时间,巧妙的保证了每次都是一个新的Notification产生。 publicstaticStringipToHex(Stringips){ StringBufferresult=newStringBuffer(); if(ips!=null){ StringTokenizerst=newStringTokenizer(ips,"."); while(st.hasMoreTokens()){ Stringtoken=Integer.toHexString(Integer.parseInt(st.nextToken())); if(token.length()==1) token="0"+token; result.append(token); } } returnresult.toString(); } publicstaticStringtexToIp(Stringips){ try{ StringBufferresult=newStringBuffer(); if(ips!=null&&ips.length()==8){ for(inti=0;i<8;i+=2){ if(i!=0) result.append('.'); result.append(Integer.parseInt(ips.substring(i,i+2),16)); } } returnresult.toString(); }catch(NumberFormatExceptionex){ Logger.e(ex); } return""; } mWebView.getSettings().setSupportZoom(true); mWebView.getSettings().setBuiltInZoomControls(true); if(DeviceUtils.hasHoneycomb()) mWebView.getSettings().setDisplayZoomControls(false); publicstaticStringgetNetworkTypeName(Contextcontext){ if(context!=null){ ConnectivityManagerconnectMgr=(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); if(connectMgr!=null){ NetworkInfoinfo=connectMgr.getActiveNetworkInfo(); if(info!=null){ switch(info.getType()){ caseConnectivityManager.TYPE_WIFI: return"WIFI"; caseConnectivityManager.TYPE_MOBILE: returngetNetworkTypeName(info.getSubtype()); } } } } returngetNetworkTypeName(TelephonyManager.NETWORK_TYPE_UNKNOWN); } publicstaticStringgetNetworkTypeName(inttype){ switch(type){ caseTelephonyManager.NETWORK_TYPE_GPRS: return"GPRS"; caseTelephonyManager.NETWORK_TYPE_EDGE: return"EDGE"; caseTelephonyManager.NETWORK_TYPE_UMTS: return"UMTS"; caseTelephonyManager.NETWORK_TYPE_HSDPA: return"HSDPA"; caseTelephonyManager.NETWORK_TYPE_HSUPA: return"HSUPA"; caseTelephonyManager.NETWORK_TYPE_HSPA: return"HSPA"; caseTelephonyManager.NETWORK_TYPE_CDMA: return"CDMA"; caseTelephonyManager.NETWORK_TYPE_EVDO_0: return"CDMA-EvDorev.0"; caseTelephonyManager.NETWORK_TYPE_EVDO_A: return"CDMA-EvDorev.A"; caseTelephonyManager.NETWORK_TYPE_EVDO_B: return"CDMA-EvDorev.B"; caseTelephonyManager.NETWORK_TYPE_1xRTT: return"CDMA-1xRTT"; caseTelephonyManager.NETWORK_TYPE_LTE: return"LTE"; caseTelephonyManager.NETWORK_TYPE_EHRPD: return"CDMA-eHRPD"; caseTelephonyManager.NETWORK_TYPE_IDEN: return"iDEN"; caseTelephonyManager.NETWORK_TYPE_HSPAP: return"HSPA+"; default: return"UNKNOWN"; } } publicstaticvoidUnZipFolder(StringzipFileString,StringoutPathString)throwsException{ java.util.zip.ZipInputStreaminZip=newjava.util.zip.ZipInputStream(newjava.io.FileInputStream(zipFileString)); java.util.zip.ZipEntryzipEntry; StringszName=""; while((zipEntry=inZip.getNextEntry())!=null){ szName=zipEntry.getName(); if(zipEntry.isDirectory()){ //getthefoldernameofthewidget szName=szName.substring(0,szName.length()-1); java.io.Filefolder=newjava.io.File(outPathString+java.io.File.separator+szName); folder.mkdirs(); }else{ java.io.Filefile=newjava.io.File(outPathString+java.io.File.separator+szName); file.createNewFile(); //gettheoutputstreamofthefile java.io.FileOutputStreamout=newjava.io.FileOutputStream(file); intlen; byte[]buffer=newbyte[1024]; //read(len)bytesintobuffer while((len=inZip.read(buffer))!=-1){ //write(len)bytefrombufferattheposition out.write(buffer,0,len); out.flush(); } out.close(); } }//endofwhile inZip.close(); }//endoffunc publicstaticStringgetTextFromAssets(finalContextcontext,StringfileName){ Stringresult=""; try{ InputStreamin=context.getResources().getAssets().open(fileName); //获取文件的字节数 intlenght=in.available(); //创建byte数组 byte[]buffer=newbyte[lenght]; //将文件中的数据读到byte数组中 in.read(buffer); result=EncodingUtils.getString(buffer,"UTF-8"); in.close(); }catch(Exceptione){ e.printStackTrace(); } returnresult; } publicstaticDrawableloadImageFromAsserts(finalContextctx,StringfileName){ try{ InputStreamis=ctx.getResources().getAssets().open(fileName); returnDrawable.createFromStream(is,null); }catch(IOExceptione){ if(e!=null){ e.printStackTrace(); } }catch(OutOfMemoryErrore){ if(e!=null){ e.printStackTrace(); } }catch(Exceptione){ if(e!=null){ e.printStackTrace(); } } returnnull; } 以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
