1.格式化价格,这个经常在计算费用精度的时候用到

    /**
* 格式化价格
*
* @param argStr 传入价格字符串
* @return
*/
public static String getFloatDotStr(String argStr) {
float arg = Float.valueOf(argStr);
DecimalFormat fnum = new DecimalFormat("##0.00");
return fnum.format(arg);
}

2.获取App的版本号Version

    // 得到versionCode
public static int getVerCode(Context context) {
int verCode = 0;
try {
verCode = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode;
} catch (NameNotFoundException e) {
e.printStackTrace();
}
return verCode;
}

3.获取手机屏幕宽高:

    /**
* 屏幕宽高
*
* @param context
* @return 0:width,1:height
*/
public static int[] ScreenSize(Context context) {
DisplayMetrics metrics = new DisplayMetrics();
((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getMetrics(metrics);
return new int[] { metrics.widthPixels, metrics.heightPixels };
}

4.判断SD卡是否存在:

    /**
* 判断sd卡是否存在
*
* @author
* @return
*/
public static boolean judgeSDCard() {
String status = Environment.getExternalStorageState();
return status.equals(Environment.MEDIA_MOUNTED);
}

5.验证是否中文:

    /***
* 验证是否中文
*
* @param
* @return
*/
public static boolean validName(String name) {
String pattern = "[\u4e00-\u9fa5]";
if (isNull(name))
return false;
return name.matches(pattern);
}

6.验证身份证号码:

    /**
* 验证身份证号码
*
* @author
* @param idCard
* @return
*/
public static boolean validateIdCard(String idCard) {
if (isNull(idCard))
return false;
String pattern = "^[0-9]{17}[0-9|xX]{1}$";
return idCard.matches(pattern);
}

7.验证手机号码:

    /**
* 验证手机号码
*
* @author
* @param phone
* @return
*/
public static boolean validatePhone(String phone) {
if (isNull(phone))
return false;
String pattern = "^1[3,4,5,6,8]\\d{9}$";
return phone.matches(pattern);
}

8.验证邮编:

    /**
* 判断邮编
*
* @param
* @return
*/
public static boolean isZipNO(String zipString) {
String str = "^[1-9][0-9]{5}$";
return Pattern.compile(str).matcher(zipString).matches();
}

9.验证银行卡号:

/**
* 验证银行卡号
*
* @param bankCard
* 信用卡是16位,其他的是13-19位
* @return
*/
public static boolean validateBankCard(String bankCard) {
if (isNull(bankCard))
return false;
String pattern = "^\\d{13,19}$";
return bankCard.matches(pattern);
}

10.验证邮箱:

/**
* 验证邮箱
*
* @author
* @param email
* @return
*/
public static boolean validateEmail(String email) {
if (isNull(email))
return false;
String pattern = "^([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,4})+$";
return email.matches(pattern);
}

11.将图片设置为圆角图片:

    /**
* 设置圆角的图片
*
* @author
* @param bitmap
* 图片
* @param pixels
* 角度
* @return
*/
public static Bitmap toRoundCorner(Bitmap bitmap, int pixels) {
try {
if (bitmap != null) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(output); final int color = 0xff424242;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
final RectF rectF = new RectF(rect);
final float roundPx = pixels; paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawRoundRect(rectF, roundPx, roundPx, paint); paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint); return output;
}
} catch (Exception e) {
} return bitmap;
} /**
* 将图片转换为圆形的
*
* @author
* @param bitmap
* @return
*/
public static Bitmap toRoundBitmap(Bitmap bitmap) {
if (bitmap != null) {
bitmap = cutSquareBitmap(bitmap);
return toRoundCorner(bitmap, bitmap.getWidth() / 2);
}
return bitmap;
}

12.判断有无网络链接

// 判断有无网络链接
public static boolean checkNetworkInfo(Context mContext) {
ConnectivityManager conMan = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
State mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
if (mobile == State.CONNECTED || mobile == State.CONNECTING)
return true;
if (wifi == State.CONNECTED || wifi == State.CONNECTING)
return true;
return false;
}

13.判断是否连接wifi

    /**
* 判断是否连接wifi
*
* @param mContext
* @return 返回true则有wifi
*/
private static boolean isWifi(Context mContext) {
ConnectivityManager connectivityManager = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
if (activeNetInfo != null && activeNetInfo.getType() == ConnectivityManager.TYPE_WIFI) {
return true;
}
return false;
}

14.获取SIM卡存在的状态 

/** 获取SIM卡存在的状态 */
public static String getSIMCardExist(Context context) {
manager = (TelephonyManager) context.getSystemService(context.TELEPHONY_SERVICE);
String state = "";
switch (manager.getSimState()) {
case TelephonyManager.SIM_STATE_READY:
state = "良好";
break;
case TelephonyManager.SIM_STATE_ABSENT:
state = "无SIM卡";
break;
default:
state = "SIM卡被锁定或未知状态";
break;
}
return state;
}

15. bitmap和base64类型互转

// 把bitmap转换成base64
public static String getBase64FromBitmap(Bitmap bitmap, int bitmapQuality) {
ByteArrayOutputStream bStream = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.JPEG, bitmapQuality, bStream);
byte[] bytes = bStream.toByteArray();
return Base64.encode(bytes);
} // 把base64转换成bitmap
public static Bitmap getBitmapFromBase64(String string) {
byte[] bitmapArray = null;
try {
bitmapArray = Base64.decode(string);
} catch (Exception e) {
e.printStackTrace();
}
return BitmapFactory.decodeByteArray(bitmapArray, 0, bitmapArray.length);
}

16. 把图片流转换成byte数组

/**
*
* 方法说明 把图片流转换成byte数组
*
* @author
* @param
* @return
*/
public static byte[] getByteFromStream(InputStream inStream) {
byte[] data = new byte[1024];
byte[] buffer = new byte[1024];
int len = -1;
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
try {
while ((len = inStream.read(buffer)) != -1) {
outStream.write(buffer, 0, len);
}
data = outStream.toByteArray();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
outStream.close();
inStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return data;
}

17.把字节数组转化成bitmap

/**
*
* 把字节数组转化成bitmap
*
* @author
* @param
* @return
*/
public static Bitmap getBitmapFromBytes(byte[] bytes, BitmapFactory.Options opts) {
if (bytes != null)
if (opts != null)
return BitmapFactory.decodeByteArray(bytes, 0, bytes.length, opts);
else
return BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
return null;
}

18.把Stream转换成String

// 把Stream转换成String
public static String convertStreamToString(InputStream is) {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null; try {
while ((line = reader.readLine()) != null) {
sb.append(line + "/n");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
}

19.防止按钮连续点击

/**
* 防止按钮连续点击
*/
private static long lastClickTime; public static boolean isFastDoubleClick() {
long time = System.currentTimeMillis();
long timeD = time - lastClickTime;
if (0 < timeD && timeD < 500) {
return true;
}
lastClickTime = time;
return false;
}

20.保存图片到SD卡

/**
* 保存图片
*
* @param photoBitmap
* @param path 保存路径
*/
public static void savePhotoToSDCard(Bitmap photoBitmap, String path) { File photoFile = new File(path);
FileOutputStream fileOutputStream = null;
try {
fileOutputStream = new FileOutputStream(photoFile);
if (photoBitmap != null) {
if (photoBitmap.compress(Bitmap.CompressFormat.JPEG, 70, fileOutputStream)) {
fileOutputStream.flush();
}
}
} catch (FileNotFoundException e) {
photoFile.delete();
e.printStackTrace();
} catch (IOException e) {
photoFile.delete();
e.printStackTrace();
} finally {
try {
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

21.将字符串转化为二维码:

private static int QR_WIDTH = 300;
private static int QR_HEIGHT = 300; public static Bitmap createQRImage(String url) {
try {
// 判断URL合法性
if (url == null || "".equals(url) || url.length() < 1) {
return null;
}
Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
// 图像数据转换,使用了矩阵转换
BitMatrix bitMatrix = new QRCodeWriter().encode(url, BarcodeFormat.QR_CODE, QR_WIDTH, QR_HEIGHT);
int[] pixels = new int[QR_WIDTH * QR_HEIGHT];
// 下面这里按照二维码的算法,逐个生成二维码的图片,
// 两个for循环是图片横列扫描的结果
for (int y = 0; y < QR_HEIGHT; y++) {
for (int x = 0; x < QR_WIDTH; x++) {
if (bitMatrix.get(x, y)) {
pixels[y * QR_WIDTH + x] = 0xff000000;
} else {
pixels[y * QR_WIDTH + x] = 0xffffffff;
}
}
}
// 生成二维码图片的格式,使用ARGB_8888
Bitmap bitmap = Bitmap.createBitmap(QR_WIDTH, QR_HEIGHT, Bitmap.Config.ARGB_8888);
bitmap.setPixels(pixels, 0, QR_WIDTH, 0, 0, QR_WIDTH, QR_HEIGHT);
return bitmap;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}

22.得到自定义进度框:

/**
* 得到自定义的progressDialog
*
* @param context
* @param msg
* @param bCancel
* 按返回键是否取消
* @return
*/
public static Dialog createLoadingDialog(Context context, String msg, boolean bCancel) { LayoutInflater inflater = LayoutInflater.from(context);
View v = inflater.inflate(R.layout.loading_dialog, null);// 得到加载view
LinearLayout layout = (LinearLayout) v.findViewById(R.id.dialog_view);// 加载布局
// main.xml中的ImageView
ImageView spaceshipImage = (ImageView) v.findViewById(R.id.img);
TextView tipTextView = (TextView) v.findViewById(R.id.tipTextView);// 提示文字
// 加载动画
Animation hyperspaceJumpAnimation = AnimationUtils.loadAnimation(context, R.anim.loading_animation);
// 使用ImageView显示动画
spaceshipImage.startAnimation(hyperspaceJumpAnimation);
tipTextView.setText(msg);// 设置加载信息 Dialog loadingDialog = new Dialog(context, R.style.loading_dialog);// 创建自定义样式dialog loadingDialog.setCancelable(bCancel);// 不可以用“返回键”取消
loadingDialog.setCanceledOnTouchOutside(false);
loadingDialog.setContentView(layout, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));// 设置布局
return loadingDialog; }

Android 开发实用方法大全的更多相关文章

  1. ANDROID开发实用小工具

    分享一些 Android开发中的实用小工具,你有发现好工具吗? 来这里分享一下呗 一.find bugs 静态检查工具 http://findbugs.sourceforge.net/ FindBug ...

  2. Android 开发工具方法整理

    1. 获取当前手机系统语言 Locale.getDefault().getLanguage(); 2. 获取当前手机系统版本号 android.os.Build.VERSION.RELEASE; 3. ...

  3. Android开发-- findViewById()方法得到空指针

    如果想通过调用findViewById()方法获取到相应的控件,必须要求当前Activity的layout通过setContentView. 如果你通过其他方法添加了一个layout,如需获取这个la ...

  4. Android零基础入门第17节:Android开发第一个控件,TextView属性和方法大全

    原文:Android零基础入门第17节:Android开发第一个控件,TextView属性和方法大全 前面简单学习了一些Android UI的一些基础知识,那么接下来我们一起来详细学习Android的 ...

  5. Android开发中,那些让您觉得相见恨晚的方法、类或接口

    Android开发中,那些让你觉得相见恨晚的方法.类或接口本篇文章内容提取自知乎Android开发中,有哪些让你觉得相见恨晚的方法.类或接口?,其实有一部是JAVA的,但是在android开发中也算常 ...

  6. Android开发工具常用快捷键大全

    Android开发中常用的开发工具有android studio和eclipse两种,下面小编整理了一些这两种开发工具中常用的快捷键,使用这些快捷键,你的android编程将事半功倍. android ...

  7. Android零基础入门第22节:ImageView的属性和方法大全

    原文:Android零基础入门第22节:ImageView的属性和方法大全 通过前面几期的学习,TextView控件及其子控件基本学习完成,可以在Android屏幕上显示一些文字或者按钮,那么从本期开 ...

  8. [转]Android通过NDK调用JNI,使用opencv做本地c++代码开发配置方法

    原文地址:http://blog.csdn.net/watkinsong/article/details/9849973 有一种方式不需要自己配置所有的Sun JDK, Android SDK以及ND ...

  9. 在android开发中使用multdex的方法-IT蓝豹为你整理

    Android系统在安装应用时,往往需要优化Dex,而由于处理工具DexOpt对id数目的限制,导致其处理的数目不能超过65536个,因此在Android开发中,需要使用到MultiDex来解决这个问 ...

随机推荐

  1. 【iOS开发】initWithNibName、initWithCoder、awakeFromNib和 loadNibNamed详解

    第一.initWithNibName这个方法是在controller的类在IB中创建,但是通过Xcode实例化controller的时候用的. 第二.initWithCoder 是一个类在IB中创建但 ...

  2. 【Linux】——实用命令

    [前言] Linux的命令可以分为文件存取.目录操作.进程管理.权限管理.磁盘操作等内容,大量的命令方便了用户进行更快捷更高效的工作.但有一点需要说明的是,如果不采用linux的命令,也可以完成相应的 ...

  3. c++ 中反正单词用到了resize()

    resize(n) 调整容器的长度大小,使其能容纳n个元素.如果n小于容器的当前的size,则删除多出来的元素.否则,添加采用值初始化的元素. 题目如下: 151. Reverse Words in ...

  4. ELK + Kafka + Filebeat

    ELK + Kafka + Filebeat学习 https://blog.csdn.net/qq_21383435/article/details/79463832 https://blog.csd ...

  5. IHE PIX规范

    IHE(Integrating Healthcare Enterprise) 集成医疗企业 IHE概念是由医学专家和广大医护工作者.相关政府部门.信息技术专家和企业共同发起的,目的是提供一种更好的方法 ...

  6. MySQL事物机制具备四点:简称ACID操作

    MySQL事物机制具备四点:简称ACID操作 1.原子性:要么都做,要么都不做(两条数据(写入和存储)一步未成功,整体回滚) 2.一致性:数据库的状态改变(两条数据(写入和存储)均成功,符合原子性,但 ...

  7. C++——编程常见错误

    C++库函数 C++标准库比C标准库要复杂很多,需要大家认真学习.C++标准库建立时间较晚,解决了C标准库的一些问题.通过认真学习.熟练掌握会对代码质量的提高有一定帮助. 一些建议: 1. 尽量使用迭 ...

  8. Tourists——圆方树

    CF487E Tourists 一般图,带修求所有简单路径代价. 简单路径,不能经过同一个点两次,那么每个V-DCC出去就不能再回来了. 所以可以圆方树,然后方点维护一下V-DCC内的最小值. 那么, ...

  9. [BZOJ3594] [Scoi2014]方伯伯的玉米田 二维树状数组优化dp

    我们发现任何最优解都可以是所有拔高的右端点是n,然后如果我们确定了一段序列前缀的结尾和在此之前用过的拔高我们就可以直接取最大值了然后我们在这上面转移就可以了,然后最优解用二维树状数组维护就行了 #in ...

  10. [CF816E] Karen and Supermarket1 [树形dp]

    传送门 - > \(CF816E\) Karen and Supermarket 题意翻译 在回家的路上,凯伦决定到超市停下来买一些杂货. 她需要买很多东西,但因为她是学生,所以她的预算仍然很有 ...