加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读