android 常用工具类
来源:互联网 发布:js隐藏table 编辑:程序博客网 时间:2024/06/18 09:31
日志
- package net.wujingchao.android.utility
- import android.util.Log;
- public final class L {
- private final static int LEVEL = 5;
- private final static String DEFAULT_TAG = "L";
- private L() {
- throw new UnsupportedOperationException("L cannot instantiated!");
- }
- public static void v(String tag,String msg) {
- if(LEVEL >= 5)Log.v(tag == null ? DEFAULT_TAG:tag,msg == null?"":msg);
- }
- public static void d(String tag,String msg) {
- if(LEVEL >= 4)Log.d(tag == null ? DEFAULT_TAG:tag,msg == null?"":msg);
- }
- public static void i(String tag,String msg) {
- if(LEVEL >= 3)Log.i(tag == null ? DEFAULT_TAG:tag,msg == null?"":msg);
- }
- public static void w(String tag,String msg) {
- if(LEVEL >= 2)Log.w(tag == null ? DEFAULT_TAG:tag,msg == null?"":msg);
- }
- public static void e(String tag,String msg) {
- if(LEVEL >= 1)Log.e(tag == null ? DEFAULT_TAG:tag,msg == null?"":msg);
- }
- }
Toast
- package net.wujingchao.android.utility
- import android.content.Context;
- import android.widget.Toast;
- public class T {
- private final static boolean isShow = true;
- private T(){
- throw new UnsupportedOperationException("T cannot be instantiated");
- }
- public static void showShort(Context context,CharSequence text) {
- if(isShow)Toast.makeText(context,text,Toast.LENGTH_SHORT).show();
- }
- public static void showLong(Context context,CharSequence text) {
- if(isShow)Toast.makeText(context,text,Toast.LENGTH_LONG).show();
- }
- }
网络
- package net.wujingchao.android.utility
- import android.app.Activity;
- import android.content.ComponentName;
- import android.content.Context;
- import android.content.Intent;
- import android.net.ConnectivityManager;
- import android.net.NetworkInfo;
- import javax.net.ssl.HttpsURLConnection;
- import javax.net.ssl.SSLContext;
- import javax.net.ssl.TrustManager;
- import javax.net.ssl.X509TrustManager;
- public class NetworkUtil {
- private NetworkUtil() {
- throw new UnsupportedOperationException("NetworkUtil cannot be instantiated");
- }
- /**
- * 判断网络是否连接
- *
- */
- public static boolean isConnected(Context context) {
- ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
- if (null != connectivity) {
- NetworkInfo info = connectivity.getActiveNetworkInfo();
- if (null != info && info.isConnected()){
- if (info.getState() == NetworkInfo.State.CONNECTED) {
- return true;
- }
- }
- }
- return false;
- }
- /**
- * 判断是否是wifi连接
- */
- public static boolean isWifi(Context context){
- ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
- if (connectivity == null) return false;
- return connectivity.getActiveNetworkInfo().getType() == ConnectivityManager.TYPE_WIFI;
- }
- /**
- * 打开网络设置界面
- */
- public static void openSetting(Activity activity) {
- Intent intent = new Intent("/");
- ComponentName componentName = new ComponentName("com.android.settings","com.android.settings.WirelessSettings");
- intent.setComponent(componentName);
- intent.setAction("android.intent.action.VIEW");
- activity.startActivityForResult(intent, 0);
- }
- /**
- * 使用SSL不信任的证书
- */
- public static void useUntrustedCertificate() {
- // Create a trust manager that does not validate certificate chains
- TrustManager[] trustAllCerts = new TrustManager[]{
- new X509TrustManager() {
- public java.security.cert.X509Certificate[] getAcceptedIssuers() {
- return null;
- }
- public void checkClientTrusted(
- java.security.cert.X509Certificate[] certs, String authType) {
- }
- public void checkServerTrusted(
- java.security.cert.X509Certificate[] certs, String authType) {
- }
- }
- };
- // Install the all-trusting trust manager
- try {
- SSLContext sc = SSLContext.getInstance("SSL");
- sc.init(null, trustAllCerts, new java.security.SecureRandom());
- HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
像素单位转换
- package net.wujingchao.android.utility
- import android.content.Context;
- import android.util.TypedValue;
- public class DensityUtil {
- private DensityUtil() {
- throw new UnsupportedOperationException("DensityUtil cannot be instantiated");
- }
- public int dip2px(Context context,int dipValue) {
- final float scale = context.getResources().getDisplayMetrics().density;
- return (int)(dipValue*scale + 0.5f);
- }
- public int px2dip(Context context,float pxValue) {
- final float scale = context.getResources().getDisplayMetrics().density;
- return (int)(pxValue/scale + 0.5f);
- }
- public static float px2sp(Context context, float pxValue){
- return (pxValue / context.getResources().getDisplayMetrics().scaledDensity);
- }
- public static int sp2px(Context context, int spValue){
- return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,
- spValue, context.getResources().getDisplayMetrics());
- }
- }
屏幕
- package net.wujingchao.android.utility
- import android.app.Activity;
- import android.content.Context;
- import android.graphics.Bitmap;
- import android.graphics.Rect;
- import android.util.DisplayMetrics;
- import android.view.View;
- import android.view.WindowManager;
- public class ScreenUtil {
- private ScreenUtil()
- {
- throw new UnsupportedOperationException("ScreenUtil cannot be instantiated");
- }
- public static int getScreenWidth(Context context)
- {
- WindowManager wm = (WindowManager) context
- .getSystemService(Context.WINDOW_SERVICE);
- DisplayMetrics outMetrics = new DisplayMetrics();
- wm.getDefaultDisplay().getMetrics(outMetrics);
- return outMetrics.widthPixels;
- }
- public static int getScreenHeight(Context context) {
- WindowManager wm = (WindowManager) context
- .getSystemService(Context.WINDOW_SERVICE);
- DisplayMetrics outMetrics = new DisplayMetrics();
- wm.getDefaultDisplay().getMetrics(outMetrics);
- return outMetrics.heightPixels;
- }
- public static int getStatusHeight(Context context) {
- int statusHeight = -1;
- try {
- Class<?> clazz = Class.forName("com.android.internal.R$dimen");
- Object object = clazz.newInstance();
- int height = Integer.parseInt(clazz.getField("status_bar_height")
- .get(object).toString());
- statusHeight = context.getResources().getDimensionPixelSize(height);
- } catch (Exception e) {
- e.printStackTrace();
- }
- return statusHeight;
- }
- /**
- * 获取当前屏幕截图,包含状态栏
- */
- public static Bitmap snapShotWithStatusBar(Activity activity){
- View view = activity.getWindow().getDecorView();
- view.setDrawingCacheEnabled(true);
- view.buildDrawingCache();
- Bitmap bmp = view.getDrawingCache();
- int width = getScreenWidth(activity);
- int height = getScreenHeight(activity);
- Bitmap bp = null;
- bp = Bitmap.createBitmap(bmp, 0, 0, width, height);
- view.destroyDrawingCache();
- return bp;
- }
- /**
- * 获取当前屏幕截图,不包含状态栏
- *
- */
- public static Bitmap snapShotWithoutStatusBar(Activity activity){
- View view = activity.getWindow().getDecorView();
- view.setDrawingCacheEnabled(true);
- view.buildDrawingCache();
- Bitmap bmp = view.getDrawingCache();
- Rect frame = new Rect();
- activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
- int statusBarHeight = frame.top;
- int width = getScreenWidth(activity);
- int height = getScreenHeight(activity);
- Bitmap bp = null;
- bp = Bitmap.createBitmap(bmp, 0, statusBarHeight, width, height
- - statusBarHeight);
- view.destroyDrawingCache();
- return bp;
- }
- }
App相关
- package net.wujingchao.android.utility
- import android.content.Context;
- import android.content.pm.PackageInfo;
- import android.content.pm.PackageManager;
- public class AppUtil {
- private AppUtil() {
- throw new UnsupportedOperationException("AppUtil cannot instantiated");
- }
- /**
- * 获取app版本名
- */
- public static String getAppVersionName(Context context){
- PackageManager pm = context.getPackageManager();
- PackageInfo pi;
- try {
- pi = pm.getPackageInfo(context.getPackageName(),0);
- return pi.versionName;
- } catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- }
- return "";
- }
- /**
- * 获取应用程序版本名称信息
- */
- public static String getVersionName(Context context)
- {
- try{
- PackageManager packageManager = context.getPackageManager();
- PackageInfo packageInfo = packageManager.getPackageInfo(
- context.getPackageName(), 0);
- return packageInfo.versionName;
- }catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- }
- return null;
- }
- /**
- * 获取app版本号
- */
- public static int getAppVersionCode(Context context){
- PackageManager pm = context.getPackageManager();
- PackageInfo pi;
- try {
- pi = pm.getPackageInfo(context.getPackageName(),0);
- return pi.versionCode;
- } catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- }
- return 0;
- }
- }
键盘
- package net.wujingchao.android.utility
- import android.content.Context;
- import android.view.inputmethod.InputMethodManager;
- import android.widget.EditText;
- public class KeyBoardUtil{
- private KeyBoardUtil(){
- throw new UnsupportedOperationException("KeyBoardUtil cannot be instantiated");
- }
- /**
- * 打卡软键盘
- */
- public static void openKeybord(EditText mEditText, Context mContext){
- InputMethodManager imm = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
- imm.showSoftInput(mEditText, InputMethodManager.RESULT_SHOWN);
- imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,InputMethodManager.HIDE_IMPLICIT_ONLY);
- }
- /**
- * 关闭软键盘
- */
- public static void closeKeybord(EditText mEditText, Context mContext) {
- InputMethodManager imm = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
- imm.hideSoftInputFromWindow(mEditText.getWindowToken(), 0);
- }
- }
文件上传下载
- package net.wujingchao.android.utility
- import android.content.Context;
- import android.os.Environment;
- import java.io.ByteArrayOutputStream;
- import java.io.DataOutputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.net.HttpURLConnection;
- import java.net.MalformedURLException;
- import java.net.ProtocolException;
- import java.net.URL;
- import java.util.UUID;
- import com.mixiaofan.App;
- public class DownloadUtil {
- private static final int TIME_OUT = 30*1000; //超时时间
- private static final String CHARSET = "utf-8"; //设置编码
- private DownloadUtil() {
- throw new UnsupportedOperationException("DownloadUtil cannot be instantiated");
- }
- /**
- * @param file 上传文件
- * @param RequestURL 上传文件URL
- * @return 服务器返回的信息,如果出错则返回为null
- */
- public static String uploadFile(File file,String RequestURL) {
- String BOUNDARY = UUID.randomUUID().toString(); //边界标识 随机生成 String PREFIX = "--" , LINE_END = "\r\n";
- String PREFIX = "--" , LINE_END = "\r\n";
- String CONTENT_TYPE = "multipart/form-data"; //内容类型
- try {
- URL url = new URL(RequestURL);
- HttpURLConnection conn = (HttpURLConnection) url.openConnection();
- conn.setReadTimeout(TIME_OUT);
- conn.setConnectTimeout(TIME_OUT);
- conn.setDoInput(true); //允许输入流
- conn.setDoOutput(true); //允许输出流
- conn.setUseCaches(false); //不允许使用缓存
- conn.setRequestMethod("POST"); //请求方式
- conn.setRequestProperty("Charset", CHARSET);
- conn.setRequestProperty("Cookie", "PHPSESSID=" + App.getSessionId());
- //设置编码
- conn.setRequestProperty("connection", "keep-alive");
- conn.setRequestProperty("Content-Type", CONTENT_TYPE + ";boundary=" + BOUNDARY);
- if(file!=null) {
- /** * 当文件不为空,把文件包装并且上传 */
- OutputStream outputSteam=conn.getOutputStream();
- DataOutputStream dos = new DataOutputStream(outputSteam);
- StringBuffer sb = new StringBuffer();
- sb.append(PREFIX);
- sb.append(BOUNDARY); sb.append(LINE_END);
- /**
- * 这里重点注意:
- * name里面的值为服务器端需要key 只有这个key 才可以得到对应的文件
- * filename是文件的名字,包含后缀名的 比如:abc.png
- */
- sb.append("Content-Disposition: form-data; name=\"img\"; filename=\""+file.getName()+"\""+LINE_END);
- sb.append("Content-Type: application/octet-stream; charset="+CHARSET+LINE_END);
- sb.append(LINE_END);
- dos.write(sb.toString().getBytes());
- InputStream is = new FileInputStream(file);
- byte[] bytes = new byte[1024];
- int len;
- while((len=is.read(bytes))!=-1)
- {
- dos.write(bytes, 0, len);
- }
- is.close();
- dos.write(LINE_END.getBytes());
- byte[] end_data = (PREFIX+BOUNDARY+PREFIX+LINE_END).getBytes();
- dos.write(end_data);
- dos.flush();
- /**
- * 获取响应码 200=成功
- * 当响应成功,获取响应的流
- */
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- InputStream resultStream = conn.getInputStream();
- len = -1;
- byte [] buffer = new byte[1024*8];
- while((len = resultStream.read(buffer)) != -1) {
- bos.write(buffer,0,len);
- }
- resultStream.close();
- bos.flush();
- bos.close();
- String info = new String(bos.toByteArray());
- int res = conn.getResponseCode();
- if(res==200){
- return info;
- }else {
- return null;
- }
- }
- } catch (MalformedURLException e) {
- e.printStackTrace();
- } catch (ProtocolException e) {
- e.printStackTrace();
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
- }
- public static byte[] download(String urlStr) {
- HttpURLConnection conn = null;
- InputStream is = null;
- byte[] result = null;
- ByteArrayOutputStream bos = null;
- try {
- URL url = new URL(urlStr);
- conn = (HttpURLConnection) url.openConnection();
- conn.setRequestMethod("GET");
- conn.setConnectTimeout(TIME_OUT);
- conn.setReadTimeout(TIME_OUT);
- conn.setDoInput(true);
- conn.setUseCaches(false);//不使用缓存
- if(conn.getResponseCode() == 200) {
- is = conn.getInputStream();
- byte [] buffer = new byte[1024*8];
- int len;
- bos = new ByteArrayOutputStream();
- while((len = is.read(buffer)) != -1) {
- bos.write(buffer,0,len);
- }
- bos.flush();
- result = bos.toByteArray();
- }
- } catch (MalformedURLException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- if(bos != null){
- bos.close();
- }
- if (is != null) {
- is.close();
- }
- if (conn != null)conn.disconnect();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- return result;
- }
- /**
- * 获取缓存文件
- */
- public static File getDiskCacheFile(Context context,String filename,boolean isExternal) {
- if(isExternal && (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))) {
- return new File(context.getExternalCacheDir(),filename);
- }else {
- return new File(context.getCacheDir(),filename);
- }
- }
- /**
- * 获取缓存文件目录
- */
- public static File getDiskCacheDirectory(Context context) {
- if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
- return context.getExternalCacheDir();
- }else {
- return context.getCacheDir();
- }
- }
- }
加密
- package net.wujingchao.android.utility
- import java.security.MessageDigest;
- import java.security.NoSuchAlgorithmException;
- public class CipherUtil {
- private CipherUtil() {
- }
- //字节数组转化为16进制字符串
- public static String byteArrayToHex(byte[] byteArray) {
- char[] hexDigits = {'0','1','2','3','4','5','6','7','8','9', 'A','B','C','D','E','F' };
- char[] resultCharArray =new char[byteArray.length * 2];
- int index = 0;
- for (byte b : byteArray) {
- resultCharArray[index++] = hexDigits[b>>> 4 & 0xf];
- resultCharArray[index++] = hexDigits[b & 0xf];
- }
- return new String(resultCharArray);
- }
- //字节数组md5算法
- public static byte[] md5 (byte [] bytes) {
- try {
- MessageDigest messageDigest = MessageDigest.getInstance("MD5");
- messageDigest.update(bytes);
- return messageDigest.digest();
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- }
- return null;
- }
- }
时间
- package net.wujingchao.android.utility
- import java.text.SimpleDateFormat;
- import java.util.Date;
- public class DateUtil {
- //转换中文对应的时段
- public static String convertNowHour2CN(Date date) {
- SimpleDateFormat sdf = new SimpleDateFormat("HH");
- String hourString = sdf.format(date);
- int hour = Integer.parseInt(hourString);
- if(hour < 6) {
- return "凌晨";
- }else if(hour >= 6 && hour < 12) {
- return "早上";
- }else if(hour == 12) {
- return "中午";
- }else if(hour > 12 && hour <=18) {
- return "下午";
- }else if(hour >=19) {
- return "晚上";
- }
- return "";
- }
- //剩余秒数转换
- public static String convertSecond2Day(int time) {
- int day = time/86400;
- int hour = (time - 86400*day)/3600;
- int min = (time - 86400*day - 3600*hour)/60;
- int sec = (time - 86400*day - 3600*hour - 60*min);
- StringBuilder sb = new StringBuilder();
- sb.append(day);
- sb.append("天");
- sb.append(hour);
- sb.append("时");
- sb.append(min);
- sb.append("分");
- sb.append(sec);
- sb.append("秒");
- return sb.toString();
- }
- }
0 0
- Android 常用工具类封装
- Android 常用工具类封装
- Android中常用工具类
- Android常用工具类2
- android常用工具类 andutils
- Android常用工具类
- Android常用工具类
- android常用工具类
- Android常用工具类
- Android 常用工具类
- Android常用工具类
- Android常用工具类
- Android常用工具类
- Android常用工具类
- Android常用工具类
- Android常用工具类Util
- Android常用工具类
- android 常用工具类
- js变量的命名规范
- 如何设计编写和设计软件测试用例?
- php的正则
- SVM源码
- 啃大部头的个人方法
- android 常用工具类
- MySQL实战(五)数据库事务
- Makefile 使用总结
- xilinx vivado zynq vdma仿真及应用详解(一)
- Maven自动部署Tomcat错误排除
- Python 动态规划 解决0-1背包问题
- centos7安装samba
- 从源码角度深入理解iScroll中的snap选项的含义
- MySQL通过sql语句获取当前日期|时间|时间戳