1.获取应用下的所以Activity

public static ArrayList<String> getActivities(Context ctx) {      ArrayList<String> result = new ArrayList<String>();      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;  }

2.检测字符串中是否包含汉字

public static boolean checkChinese(String sequence) {        final String format = "[\\u4E00-\\u9FA5\\uF900-\\uFA2D]";        boolean result = false;        Pattern pattern = Pattern.compile(format);        Matcher matcher = pattern.matcher(sequence);        result = matcher.find();        return result;    }

3、检测字符串中只能包含:中文、数字、下划线(_)、横线(-)

 public static boolean checkNickname(String sequence) {        final String format = "[^\\u4E00-\\u9FA5\\uF900-\\uFA2D\\w-_]";        Pattern pattern = Pattern.compile(format);        Matcher matcher = pattern.matcher(sequence);        return !matcher.find();    } 

4.检测有没有应用程序来接受你处理发出的Intent

 public static boolean isIntentAvailable(Context context, String action) {        final PackageManager packageManager = context.getPackageManager();        final Intent intent = new Intent(action);        List<ResolveInfo> list = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);        return list.size() > 0;    }

5.判断手机号码是否有效

/** * 判断手机号码是否有效 * @param phoneNumber * @return */public static boolean isMobileNumber(String phoneNumber) {final Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$");final Pattern p2 = Pattern.compile("^0(10|2[0-5789]|\\d{3})\\d{7,8}$");final Matcher m = p.matcher(phoneNumber);final Matcher m2 = p2.matcher(phoneNumber);return m.find() || m2.find();}

6.获取当前版本跟服务器版本的差

/** * 获取当前版本跟服务器获取的版本的差 *  * @param serviceVersion * @return */private void compareVersion(int serviceVersion) {int currentVersion = 0;try {currentVersion = ((LoginActivity.this).getPackageManager().getPackageInfo(LoginActivity.this.getPackageName(), 0)).versionCode;} catch (NameNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}if (serviceVersion > currentVersion) {showVersionDialog();}}

7.返回当前正在运行的服务

//返回所有正在运行的服务List<ActivityManager.RunningServiceInfo> serviceInfos = activityManager.getRunningServices(100);for (int i = 0; i < serviceInfos.size(); i++) {ActivityManager.RunningServiceInfo runningServiceInfo = serviceInfos.get(i);if ("com.nenglong.babyface.service.UpdateService".equals(runningServiceInfo.service.getClassName())) {isDowning = true;return;}}

8.根据图片尺寸加载图片

/**     * 【Bunny】根据容器尺寸加载图片     *     * @param path 图片路径     * @param width 容器宽度     * @param height 容器高度     * @param coverable 图片尺寸是否可以完全覆盖容器     * @return 不小于容器尺寸的最大缩放比图片     */    public static Bitmap loadSuitableBitmap(String path, int width, int height, boolean coverable) {        BitmapFactory.Options options = new BitmapFactory.Options();        options.inJustDecodeBounds = true;        BitmapFactory.decodeFile(path, options);        int widthRatio = options.outWidth / width;        int heightRatio = options.outHeight / height;        options.inSampleSize = coverable ? Math.min(widthRatio, heightRatio) : Math.max(widthRatio, heightRatio);        options.inJustDecodeBounds = false;        options.inPurgeable = true;        options.inInputShareable = true;        return BitmapFactory.decodeFile(path, options);    }


9.根据图片尺寸延时到布局时设置图片对象

 /**     * 【Bunny】根据图片组件尺寸延时到布局时设置图片对象     *     * @param path 图片路径     * @param imageView 图片组件     * @param coverable 图片尺寸是否可以完全覆盖容器     */    public static void setSuitableBitmapOnGlobalLayout(final String path, final ImageView imageView, final boolean coverable) {        new Handler(Looper.getMainLooper()).post(new Runnable() {            public void run() {                imageView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {                    public void onGlobalLayout() {                        imageView.getViewTreeObserver().removeGlobalOnLayoutListener(this);                        imageView.setImageBitmap(loadSuitableBitmap(path, imageView.getWidth(), imageView.getHeight(), coverable));                    }                });                imageView.requestLayout();            }        });    }

10.显示设置网络对话框

/** * 显示网络设置对话框 * @param context */public static void showSetNetworkDialog(final Context context) {Dialog dialog = new AlertDialog.Builder(context).setIcon(android.R.drawable.presence_busy).setTitle("网络不可").setMessage("是否现在设置网络?").setPositiveButton("设置网络",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {context.startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));}}).setNegativeButton("取消",new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog,int whichButton) {dialog.cancel();}}).create();dialog.show();}

11.查看网络是否可用

/** * 网络是否可用 *  * @param context * @return */public static boolean isNetworkAvailableAndshowSetNetworkDialog(Context context) {ConnectivityManager mgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo[] info = mgr.getAllNetworkInfo();if (info != null) {for (int i = 0; i < info.length; i++) {if (info[i].getState() == NetworkInfo.State.CONNECTED) {return true;}}}showSetNetworkDialog(context);return false;}

12.是否存在SD卡

/** * 是否存在SD卡 * @return */public static boolean isExistSDCard() {if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))return true;else return false;}

13.Drawable转化成Bitmap

   /**     * 把Drawable转化成Bitmap     * @param drawable     * @return Bitmap图片     */    public static Bitmap drawableToBitmap(Drawable drawable) {        // 取 drawable 的长宽        int w = drawable.getIntrinsicWidth();        int h = drawable.getIntrinsicHeight();        // 取 drawable 的颜色格式        Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888                : Bitmap.Config.RGB_565;        // 建立对应 bitmap        Bitmap bitmap = Bitmap.createBitmap(w, h, config);        // 建立对应 bitmap 的画布        Canvas canvas = new Canvas(bitmap);        drawable.setBounds(0, 0, w, h);        // 把 drawable 内容画到画布中        drawable.draw(canvas);        return bitmap;    }
14.打电话弹出框

/** * 打电话弹出对话框 *  * @param activity *            对应的Activity * @param phoneNum *            对应的电话号码 * @param userName *            对应的拨打用户的名字 */public static void CallPhoneDialog(final Activity activity, final String phoneNum,String userName) {AlertDialog.Builder builder = new Builder(activity);builder.setMessage(activity.getString(R.string.call_person) + userName + "\n"+ activity.getString(R.string.call_num) + phoneNum);builder.setIcon(R.drawable.menu_fold_ori).setTitle(activity.getString(R.string.prompt));builder.setPositiveButton(activity.getString(R.string.confirm),new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNum));activity.startActivity(intent);}});builder.setNegativeButton(activity.getString(R.string.cancle),new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}});builder.create().show();}
15.文字根据状态改变颜色

<selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:color="#53c1bd" android:state_selected="true"/>    <item android:color="#53c1bd" android:state_focused="true"/>    <item android:color="#53c1bd" android:state_pressed="true"/>    <item android:color="#777777"/></selector>

16.根据状态改变背景色,直接给背景色会报错

<selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:state_selected="true"><shape>            <gradient android:angle="0" android:centerColor="#00a59f" android:endColor="#00a59f" android:startColor="#00a59f" />        </shape></item>    <item android:state_focused="true"><shape>            <gradient android:angle="0" android:centerColor="#00a59f" android:endColor="#00a59f" android:startColor="#00a59f" />        </shape></item>    <item android:state_pressed="true"><shape>            <gradient android:angle="0" android:centerColor="#00a59f" android:endColor="#00a59f" android:startColor="#00a59f" />        </shape></item>    <item><shape>            <gradient android:angle="0" android:centerColor="#00ff00" android:endColor="00ff00" android:startColor="00ff00" />        </shape></item></selector>


注:部分代码转载自 农民伯伯:http://www.cnblogs.com/over140/archive/2012/09/26/2611999.html

http://www.cnblogs.com/over140/archive/2013/03/05/2706068.html



更多相关文章

  1. android 查看图片、保存图片
  2. Android(安卓)TextView显示html图片
  3. Android(安卓)EditText加入图片混编显示
  4. Android自定义view四手势缩放移动的ImageView
  5. 背景图片颜色渐变
  6. [Android] 调用相机、打开相册、裁剪图片
  7. Android(安卓)图片加载总结帖
  8. Android(安卓)--- 图片的特效处理
  9. 8、RxJava+Retrofit+okhttp上传多张图片给后台

随机推荐

  1. 子墨庖丁Android的ActionBar源码分析 (一
  2. Adobe官网曝光Android版Flash网站优化列
  3. Android JIT带来的虚拟机崩溃问题及解决
  4. Android中RecyclerView的长按
  5. android 将一些信息保存到本地,以后更新版
  6. Android多国语言values文件夹命名
  7. 上官网学android之一(前言)
  8. Android(安卓)-- 写xml到SD卡中
  9. android DDMS 连接真机(己ROOT),用file exp
  10. Android(安卓)Studio3.3.2+gradle 3.3.2