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 图片加载总结帖
  3. 背景图片颜色渐变
  4. Android TextView显示html图片
  5. Android EditText加入图片混编显示
  6. android 查看图片、保存图片
  7. android 图片圆角处理
  8. android 显示 网络图片
  9. Android 检测网络是否可用

随机推荐

  1. android 源码编译报错记录
  2. Android开发 之 环境搭建
  3. 【Android策略】The content of the adap
  4. android 银联支付接入报nullexception异
  5. Android计时器
  6. Android问题集
  7. Android APK 反编译工具
  8. 编写android拨打电话apk应用实例代码
  9. Android中使用Parcelable传递对象,createF
  10. Android之数据库