Rev 1 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
package com.cesams.twogetskills.library;import java.io.File;import java.text.DateFormat;import java.text.ParseException;import java.util.Calendar;import java.util.Date;import java.util.Enumeration;import java.util.Hashtable;import java.util.regex.Pattern;import android.content.Context;import android.os.Environment;public class Functions {private static Float scale;/*private static SimpleDateFormat sdfHora24 = new SimpleDateFormat(Constants.FORMATO_HORA_24, Locale.getDefault());private static SimpleDateFormat sdfHora12 = new SimpleDateFormat(Constants.FORMATO_HORA_12, Locale.getDefault());private static SimpleDateFormat sdfFechaHora24 = new SimpleDateFormat(Constants.FORMATO_FECHA_HORA_24, Locale.getDefault());private static SimpleDateFormat sdfFechaHora12 = new SimpleDateFormat(Constants.FORMATO_FECHA_HORA_12, Locale.getDefault());private static SimpleDateFormat sdfFechaYMD = new SimpleDateFormat(Constants.FORMATO_FECHA_YMD, Locale.getDefault());private static SimpleDateFormat sdfFechaDMY = new SimpleDateFormat(Constants.FORMATO_FECHA_DMY, Locale.getDefault());private static DecimalFormat formatMonto2Decimales = new DecimalFormat("#,##0.00");private static DecimalFormat formatEntero = new DecimalFormat("#,##0");*/private Functions() {// TODO Auto-generated constructor stub}/*public static Date parseFechaHora24(String timestamp24Horas) {try {return sdfFechaHora24.parse(timestamp24Horas);} catch (ParseException e) {Calendar c = Calendar.getInstance(Locale.getDefault());return c.getTime();}}public static Date parseFechaHora12(String timestamp12Horas) {try {return sdfFechaHora12.parse(timestamp12Horas);} catch (ParseException e) {Calendar c = Calendar.getInstance(Locale.getDefault());return c.getTime();}}public static Date parseFechaYMD(String fechaYMD) {try {return sdfFechaYMD.parse(fechaYMD);} catch (ParseException e) {Calendar c = Calendar.getInstance(Locale.getDefault());return c.getTime();}}public static Date parseFechaDMY(String fechaDMY) {try {return sdfFechaDMY.parse(fechaDMY);} catch (ParseException e) {Calendar c = Calendar.getInstance(Locale.getDefault());return c.getTime();}}public static Date parseHora12(String fechaDMY) {try {return sdfHora12.parse(fechaDMY);} catch (ParseException e) {Calendar c = Calendar.getInstance(Locale.getDefault());return c.getTime();}}public static Date parseHora24(String fechaDMY) {try {return sdfHora24.parse(fechaDMY);} catch (ParseException e) {Calendar c = Calendar.getInstance(Locale.getDefault());return c.getTime();}}public static String formatHora12(Date d) {return sdfHora12.format(d);}public static String formatHora24(Date d) {return sdfHora24.format(d);}public static String formatFechaHora24(Date d) {return sdfFechaHora24.format(d);}public static String formatFechaHora12(Date d) {return sdfFechaHora12.format(d);}public static String formatFechaYMD(Date d) {return sdfFechaYMD.format(d);}public static String formatFechaDMY(Date d) {return sdfFechaDMY.format(d);}public static String formatMonto2Decimales(float monto) {return formatMonto2Decimales.format(monto);}public static String formatEntero(long monto) {return formatEntero.format(monto);}*/static Hashtable<String, String> html_specialchars_table = new Hashtable<String, String>();static {html_specialchars_table.put("<","<");html_specialchars_table.put(">",">");html_specialchars_table.put("&","&");html_specialchars_table.put(""","\"");}public static String formatTimeLineAddedOn(Date date){Calendar cal = Calendar.getInstance();cal.setTime(date);String s = "";int month = cal.get(Calendar.MONTH);if(month == Calendar.JANUARY) {s = cal.get(Calendar.DAY_OF_MONTH) + " Ene " + cal.get(Calendar.YEAR);}else if(month == Calendar.FEBRUARY) {s = cal.get(Calendar.DAY_OF_MONTH) + " Feb " + cal.get(Calendar.YEAR);}else if(month == Calendar.MARCH) {s = cal.get(Calendar.DAY_OF_MONTH) + " Mar " + cal.get(Calendar.YEAR);}else if(month == Calendar.APRIL) {s = cal.get(Calendar.DAY_OF_MONTH) + " Abr " + cal.get(Calendar.YEAR);}else if(month == Calendar.MAY) {s = cal.get(Calendar.DAY_OF_MONTH) + " May " + cal.get(Calendar.YEAR);}else if(month == Calendar.JUNE) {s = cal.get(Calendar.DAY_OF_MONTH) + " Jun " + cal.get(Calendar.YEAR);}else if(month == Calendar.JULY) {s = cal.get(Calendar.DAY_OF_MONTH) + " Jul " + cal.get(Calendar.YEAR);}else if(month == Calendar.AUGUST) {s = cal.get(Calendar.DAY_OF_MONTH) + " Ago " + cal.get(Calendar.YEAR);}else if(month == Calendar.SEPTEMBER) {s = cal.get(Calendar.DAY_OF_MONTH) + " Sep " + cal.get(Calendar.YEAR);}else if(month == Calendar.OCTOBER) {s = cal.get(Calendar.DAY_OF_MONTH) + " Oct " + cal.get(Calendar.YEAR);}else if(month == Calendar.NOVEMBER) {s = cal.get(Calendar.DAY_OF_MONTH) + " Nov " + cal.get(Calendar.YEAR);}else if(month == Calendar.DECEMBER) {s = cal.get(Calendar.DAY_OF_MONTH) + " Dic " + cal.get(Calendar.YEAR);}return s;}public static String trimNull(String s) {return s == null || s.equals("null") ? "" : s.trim();}public static boolean passwordStrengthCheck(String s) {//String regexp = "\\d{1,2}/\\d{1,2}/\\d{4}";//String regexp = "^(?=.*\\d+)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{6,16}$";String regexp = "^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=[#?!@$^x%x*-]{0,}).{6,16}$";return Pattern.matches(regexp, s);}public static boolean emailcheckengine(String s) {String regexp = "^[a-zA-Z0-9_\\-\\.~]{2,}@[a-zA-Z0-9_\\-\\.~]{2,}\\.[a-zA-Z]{2,}$";return Pattern.matches(regexp, s);}public static int Numero2Int(String numero){if(numero == null) {return 0;}StringBuffer sb = new StringBuffer();boolean primero = true;for (int i = 0; i < numero.length(); i++){if ((numero.substring(i, i + 1) == "0") && (primero)){continue;}primero = false;sb.append(numero.substring(i, i + 1));}if (sb.length() == 0){return 0;}else{return Integer.parseInt(sb.toString().trim());}}public static long Numero2Long(String numero){if(numero == null) {return 0;}StringBuffer sb = new StringBuffer();boolean primero = true;for (int i = 0; i < numero.length(); i++){if ((numero.substring(i, i + 1) == "0") && (primero)){continue;}primero = false;sb.append(numero.substring(i, i + 1));}if (sb.length() == 0){return 0;}else{return Long.parseLong(sb.toString().trim());}}public static float Numero2Float(String numero) {if(numero == null) {return 0;}StringBuffer sb = new StringBuffer();boolean primero = true;for (int i = 0; i < numero.length(); i++){if ((numero.substring(i, i + 1) == "0") && (primero)){continue;}primero = false;sb.append(numero.substring(i, i + 1));}if (sb.length() == 0){return 0;}else{return Float.parseFloat(sb.toString().trim());}}public static String Long2Numero(long i, int longitud) {String s = String.valueOf(i);if (s.length() < longitud){StringBuffer sb = new StringBuffer();int max = longitud - s.length();for (i = 0; i < max; i++){sb.append('0');}sb.append(s);return sb.toString();}else{return s;}}public static String Int2Numero(int i, int longitud) {String s = String.valueOf(i);if (s.length() < longitud){StringBuffer sb = new StringBuffer();int max = longitud - s.length();for (i = 0; i < max; i++){sb.append('0');}sb.append(s);return sb.toString();}else{return s;}}public static int countCharacter(String str, char c){if (str == null) {return 0;}else{int counter = 0;for (int i = 0; i < str.length(); i++){if (c == str.charAt(i)){counter++;}}return counter;}}public static int hexToInt(String hex){return Integer.parseInt(hex, 16);}public static String padRight(String s, int n, char c){return padRight(s, n, c, true);}public static String padRight(String s, int n){return padRight(s, n, ' ', true);}public static String padRight(String s, int n, char c, boolean hacerTrim){if(hacerTrim){s = s.trim();}if (s.length() > n){return s.substring(0, n);}else{return repetirCaracter(c, n - s.length()) + s;}}public static String padLeftImpresion(String s, int n){return padLeft(s, n, ' ', false);}public static String padLeft(String s, int n){return padLeft(s, n, ' ', true);}public static String padLeft(String s, int n, char c, boolean hacerTrim){if(hacerTrim){s = s.trim();}if (s.length() > n){return s.substring(0, n);}else{return s + repetirCaracter(c, n - s.length());}}public static String padCenter(String s, int n, char c){return padCenter(s, n, c, true);}public static String padCenter(String s, int n){return padCenter(s, n, ' ', true);}public static String padCenter(String s, int n, char c, boolean hacerTrim){if(hacerTrim){s = s.trim();}if (s.length() > n) {return s.substring(0, n - 1);}else{int l = (n - s.length()) / 2;StringBuffer sb = new StringBuffer();for (int i = 0; i < l; i++){sb.append(c);}sb.append(s);if (n > s.length() + l * 2){l++;}for (int i = 0; i < l; i++){sb.append(c);}return sb.toString();}}public static String repetirCaracter(char c, int cantidad){StringBuffer sb = new StringBuffer();for (int i = 1; i <= cantidad; i++){sb.append(c);}return sb.toString();}public static boolean validarFecha(int dia, int mes, int ano){if(dia < 1 || mes < 1 || mes > 12 || ano == 0) {return false;}else{if(mes == 2){if(esBisiesto(ano)){if( dia > 29 ){return false;}else {return true;}}else{if (dia > 28){return false;} else {return true;}}}else{if(mes == 4 || mes == 6 || mes == 9 || mes == 11){return dia <= 30;} else {return dia <= 31;}}}}public static boolean esBisiesto(int ano){return((ano%4 == 0 && ano % 100 !=0)|(ano % 400==0));}public static String removerCaracteresEspeciales(String input){String original = "áàäéèëíìïóòöúùuñÁÀÄÉÈËÍÌÏÓÒÖÚÙÜÑçÇ";String ascii = "aaaeeeiiiooouuunAAAEEEIIIOOOUUUNcC";String output = input;for (int i=0; i<original.length(); i++) {output = output.replace(original.charAt(i), ascii.charAt(i));}return output;}//remove1public static int diferenciasDeFechas(Date fechaInicial, Date fechaFinal){DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM);String fechaInicioString = df.format(fechaInicial);try {fechaInicial = df.parse(fechaInicioString);} catch (ParseException ex) {}String fechaFinalString = df.format(fechaFinal);try {fechaFinal = df.parse(fechaFinalString);} catch (ParseException ex) {}long fechaInicialMs = fechaInicial.getTime();long fechaFinalMs = fechaFinal.getTime();long diferencia = fechaFinalMs - fechaInicialMs;double dias = Math.floor(diferencia / (1000 * 60 * 60 * 24));return ((int) dias);}public static String htmlSpecialCharsDecode(String s){Enumeration<String> en = html_specialchars_table.keys();while(en.hasMoreElements()){String key = (String)en.nextElement();String val = (String)html_specialchars_table.get(key);s = s.replaceAll(key, val);}return s;}public static int dpToPixel(int dp, Context context) {if (scale == null) {scale = context.getResources().getDisplayMetrics().density;}return (int) ((float) dp * scale);}}