Proyectos de Subversion Android Microlearning

Rev

Ir a la última revisión | | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
package com.cesams.twogetskills.library;
2
 
3
import java.io.File;
4
import java.text.DateFormat;
5
import java.text.ParseException;
6
import java.util.Calendar;
7
import java.util.Date;
8
import java.util.Enumeration;
9
import java.util.Hashtable;
10
import java.util.regex.Pattern;
11
import android.content.Context;
12
import android.os.Environment;
13
 
14
public class Functions {
15
	private static Float scale;
16
	/*
17
	private static SimpleDateFormat sdfHora24   		= new SimpleDateFormat(Constants.FORMATO_HORA_24, Locale.getDefault());
18
	private static SimpleDateFormat sdfHora12   		= new SimpleDateFormat(Constants.FORMATO_HORA_12, Locale.getDefault());
19
	private static SimpleDateFormat sdfFechaHora24 		= new SimpleDateFormat(Constants.FORMATO_FECHA_HORA_24, Locale.getDefault());
20
	private static SimpleDateFormat sdfFechaHora12 		= new SimpleDateFormat(Constants.FORMATO_FECHA_HORA_12, Locale.getDefault());
21
	private static SimpleDateFormat sdfFechaYMD 		= new SimpleDateFormat(Constants.FORMATO_FECHA_YMD, Locale.getDefault());
22
	private static SimpleDateFormat sdfFechaDMY 		= new SimpleDateFormat(Constants.FORMATO_FECHA_DMY, Locale.getDefault());
23
	private static DecimalFormat formatMonto2Decimales	= new DecimalFormat("#,##0.00");
24
	private static DecimalFormat formatEntero 			= new DecimalFormat("#,##0");
25
*/
26
	private Functions() {
27
		// TODO Auto-generated constructor stub
28
	}
29
	/*
30
    public static Date parseFechaHora24(String timestamp24Horas) {
31
    	try {
32
			return sdfFechaHora24.parse(timestamp24Horas);
33
		} catch (ParseException e) {
34
			Calendar c = Calendar.getInstance(Locale.getDefault());
35
			return c.getTime();
36
		}
37
    }
38
 
39
    public static Date parseFechaHora12(String timestamp12Horas) {
40
    	try {
41
			return sdfFechaHora12.parse(timestamp12Horas);
42
		} catch (ParseException e) {
43
			Calendar c = Calendar.getInstance(Locale.getDefault());
44
			return c.getTime();
45
		}
46
    }
47
 
48
    public static Date parseFechaYMD(String fechaYMD) {
49
    	try {
50
			return sdfFechaYMD.parse(fechaYMD);
51
		} catch (ParseException e) {
52
			Calendar c = Calendar.getInstance(Locale.getDefault());
53
			return c.getTime();
54
		}
55
    }
56
 
57
    public static Date parseFechaDMY(String fechaDMY) {
58
    	try {
59
			return sdfFechaDMY.parse(fechaDMY);
60
		} catch (ParseException e) {
61
			Calendar c = Calendar.getInstance(Locale.getDefault());
62
			return c.getTime();
63
		}
64
    }
65
 
66
    public static Date parseHora12(String fechaDMY) {
67
    	try {
68
			return sdfHora12.parse(fechaDMY);
69
		} catch (ParseException e) {
70
			Calendar c = Calendar.getInstance(Locale.getDefault());
71
			return c.getTime();
72
		}
73
    }
74
 
75
    public static Date parseHora24(String fechaDMY) {
76
    	try {
77
			return sdfHora24.parse(fechaDMY);
78
		} catch (ParseException e) {
79
			Calendar c = Calendar.getInstance(Locale.getDefault());
80
			return c.getTime();
81
		}
82
    }
83
 
84
    public static String formatHora12(Date d) {
85
    	return sdfHora12.format(d);
86
    }
87
 
88
    public static String formatHora24(Date d) {
89
    	return sdfHora24.format(d);
90
    }
91
 
92
    public static String formatFechaHora24(Date d) {
93
		return sdfFechaHora24.format(d);
94
    }
95
 
96
    public static String formatFechaHora12(Date d) {
97
		return sdfFechaHora12.format(d);
98
    }
99
 
100
    public static String formatFechaYMD(Date d) {
101
		return sdfFechaYMD.format(d);
102
    }
103
 
104
    public static String formatFechaDMY(Date d) {
105
		return sdfFechaDMY.format(d);
106
    }
107
 
108
    public static String formatMonto2Decimales(float monto) {
109
    	return formatMonto2Decimales.format(monto);
110
    }
111
 
112
    public static String formatEntero(long monto) {
113
    	return formatEntero.format(monto);
114
    }
115
    */
116
 
117
 
118
 
119
 
120
	static Hashtable<String, String> html_specialchars_table = new Hashtable<String, String>();
121
	static {
122
	        html_specialchars_table.put("&lt;","<");
123
	        html_specialchars_table.put("&gt;",">");
124
	        html_specialchars_table.put("&amp;","&");
125
	        html_specialchars_table.put("&quot;","\"");
126
	}
127
 
128
	public static String formatTimeLineAddedOn(Date date)
129
	{
130
		Calendar cal = Calendar.getInstance();
131
		cal.setTime(date);
132
 
133
		String s = "";
134
		int month = cal.get(Calendar.MONTH);
135
 
136
		if(month == Calendar.JANUARY) {
137
			s = cal.get(Calendar.DAY_OF_MONTH) + " Ene " + cal.get(Calendar.YEAR);
138
 
139
		}
140
		else if(month == Calendar.FEBRUARY) {
141
			s = cal.get(Calendar.DAY_OF_MONTH) + " Feb " + cal.get(Calendar.YEAR);
142
		}
143
		else if(month == Calendar.MARCH) {
144
			s = cal.get(Calendar.DAY_OF_MONTH) + " Mar " + cal.get(Calendar.YEAR);
145
		}
146
		else if(month == Calendar.APRIL) {
147
			s = cal.get(Calendar.DAY_OF_MONTH) + " Abr " + cal.get(Calendar.YEAR);
148
		}
149
		else if(month == Calendar.MAY) {
150
			s = cal.get(Calendar.DAY_OF_MONTH) + " May " + cal.get(Calendar.YEAR);
151
		}
152
		else if(month == Calendar.JUNE) {
153
			s = cal.get(Calendar.DAY_OF_MONTH) + " Jun " + cal.get(Calendar.YEAR);
154
 
155
		}
156
		else if(month == Calendar.JULY) {
157
			s = cal.get(Calendar.DAY_OF_MONTH) + " Jul " + cal.get(Calendar.YEAR);
158
		}
159
		else if(month == Calendar.AUGUST) {
160
			s = cal.get(Calendar.DAY_OF_MONTH) + " Ago " + cal.get(Calendar.YEAR);
161
		}
162
		else if(month == Calendar.SEPTEMBER) {
163
			s = cal.get(Calendar.DAY_OF_MONTH) + " Sep " + cal.get(Calendar.YEAR);
164
		}
165
		else if(month == Calendar.OCTOBER) {
166
			s = cal.get(Calendar.DAY_OF_MONTH) + " Oct " + cal.get(Calendar.YEAR);
167
		}
168
		else if(month == Calendar.NOVEMBER) {
169
			s = cal.get(Calendar.DAY_OF_MONTH) + " Nov " + cal.get(Calendar.YEAR);
170
		}
171
		else if(month == Calendar.DECEMBER) {
172
			s = cal.get(Calendar.DAY_OF_MONTH) + " Dic " + cal.get(Calendar.YEAR);
173
		}
174
 
175
		return s;
176
 
177
	}
178
 
179
	public static String trimNull(String s) {
180
 
181
		return s == null || s.equals("null") ? "" : s.trim();
182
	}
183
 
184
	public static boolean passwordStrengthCheck(String s)  {
185
		//String regexp = "\\d{1,2}/\\d{1,2}/\\d{4}";
186
	//String regexp = "^(?=.*\\d+)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{6,16}$";
187
		String  regexp = "^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=[#?!@$^x%x*-]{0,}).{6,16}$";
188
 
189
		return Pattern.matches(regexp, s);
190
	}
191
 
192
 
193
 
194
 
195
	public static int Numero2Int(String numero)
196
	{
197
		if(numero == null) {
198
			return 0;
199
		}
200
 
201
		StringBuffer sb = new StringBuffer();
202
 
203
		boolean primero = true;
204
		for (int i = 0; i < numero.length(); i++)
205
		{
206
			if ((numero.substring(i, i + 1) == "0") && (primero))
207
			{
208
				continue;
209
			}
210
			primero = false;
211
			sb.append(numero.substring(i, i + 1));
212
		}
213
 
214
		if (sb.length() == 0)
215
		{
216
			return 0;
217
		}
218
		else
219
		{
220
			return Integer.parseInt(sb.toString().trim());
221
		}
222
	}
223
 
224
	public static long Numero2Long(String numero)
225
	{
226
		if(numero == null) {
227
			return 0;
228
		}
229
 
230
		StringBuffer sb = new StringBuffer();
231
 
232
		boolean primero = true;
233
		for (int i = 0; i < numero.length(); i++)
234
		{
235
			if ((numero.substring(i, i + 1) == "0") && (primero))
236
			{
237
				continue;
238
			}
239
			primero = false;
240
			sb.append(numero.substring(i, i + 1));
241
		}
242
 
243
		if (sb.length() == 0)
244
		{
245
			return 0;
246
		}
247
		else
248
		{
249
			return Long.parseLong(sb.toString().trim());
250
		}
251
	}
252
 
253
 
254
	public static float Numero2Float(String numero) {
255
		if(numero == null) {
256
			return 0;
257
		}
258
 
259
		StringBuffer sb = new StringBuffer();
260
 
261
		boolean primero = true;
262
		for (int i = 0; i < numero.length(); i++)
263
		{
264
			if ((numero.substring(i, i + 1) == "0") && (primero))
265
			{
266
				continue;
267
			}
268
			primero = false;
269
			sb.append(numero.substring(i, i + 1));
270
		}
271
 
272
		if (sb.length() == 0)
273
		{
274
			return 0;
275
		}
276
		else
277
		{
278
			return Float.parseFloat(sb.toString().trim());
279
		}
280
 
281
	}
282
 
283
	public static String Long2Numero(long i, int longitud) {
284
		String s = String.valueOf(i);
285
 
286
		if (s.length() < longitud)
287
		{
288
			StringBuffer sb = new StringBuffer();
289
			int max = longitud - s.length();
290
			for (i = 0; i < max; i++)
291
			{
292
				sb.append('0');
293
			}
294
			sb.append(s);
295
			return sb.toString();
296
		}
297
		else
298
		{
299
			return s;
300
		}
301
	}
302
 
303
	public static String Int2Numero(int i, int longitud) {
304
		String s = String.valueOf(i);
305
 
306
		if (s.length() < longitud)
307
		{
308
			StringBuffer sb = new StringBuffer();
309
			int max = longitud - s.length();
310
			for (i = 0; i < max; i++)
311
			{
312
				sb.append('0');
313
			}
314
			sb.append(s);
315
			return sb.toString();
316
		}
317
		else
318
		{
319
			return s;
320
		}
321
	}
322
 
323
 
324
 
325
	public static int countCharacter(String str, char c)
326
	{
327
		if (str == null) {
328
			return 0;
329
		}
330
		else
331
		{
332
			int counter = 0;
333
 
334
			for (int i = 0; i < str.length(); i++)
335
			{
336
				if (c == str.charAt(i))
337
				{
338
					counter++;
339
				}
340
			}
341
			return counter;
342
		}
343
	}
344
 
345
 
346
	public static int hexToInt(String hex)
347
	{
348
		return Integer.parseInt(hex, 16);
349
	}
350
 
351
 
352
	public static String padRight(String s, int n, char c)
353
	{
354
		return padRight(s, n, c, true);
355
	}
356
 
357
	public static String padRight(String s, int n)
358
	{
359
		return padRight(s, n, ' ', true);
360
	}
361
 
362
	public static String padRight(String s, int n, char c, boolean hacerTrim)
363
	{
364
		if(hacerTrim)
365
		{
366
			s = s.trim();
367
		}
368
		if (s.length() > n)
369
		{
370
			return s.substring(0, n);
371
		}
372
		else
373
		{
374
			return repetirCaracter(c, n - s.length()) + s;
375
		}
376
	}
377
 
378
	public static String padLeftImpresion(String s, int n)
379
	{
380
		return padLeft(s, n, ' ', false);
381
	}
382
 
383
	public static String padLeft(String s, int n)
384
	{
385
		return padLeft(s, n, ' ', true);
386
	}
387
 
388
	public static String padLeft(String s, int n, char c, boolean hacerTrim)
389
	{
390
		if(hacerTrim)
391
		{
392
			s = s.trim();
393
		}
394
		if (s.length() > n)
395
		{
396
			return s.substring(0, n);
397
		}
398
		else
399
		{
400
			return s + repetirCaracter(c, n - s.length());
401
		}
402
	}
403
 
404
	public static String padCenter(String s, int n, char c)
405
	{
406
		return padCenter(s, n, c, true);
407
	}
408
 
409
	public static String padCenter(String s, int n)
410
	{
411
		return padCenter(s, n, ' ', true);
412
	}
413
 
414
	public static String padCenter(String s, int n, char c, boolean hacerTrim)
415
	{
416
		if(hacerTrim)
417
		{
418
			s = s.trim();
419
		}
420
		if (s.length() > n) {
421
			return s.substring(0, n - 1);
422
		}
423
		else
424
		{
425
			int l = (n - s.length()) / 2;
426
			StringBuffer sb = new StringBuffer();
427
 
428
			for (int i = 0; i < l; i++)
429
			{
430
				sb.append(c);
431
			}
432
			sb.append(s);
433
 
434
			if (n > s.length() + l * 2)
435
			{
436
				l++;
437
			}
438
			for (int i = 0; i < l; i++)
439
			{
440
				sb.append(c);
441
			}
442
 
443
			return sb.toString();
444
		}
445
	}
446
 
447
	public static String repetirCaracter(char c, int cantidad)
448
	{
449
		StringBuffer sb = new StringBuffer();
450
		for (int i = 1; i <= cantidad; i++)
451
		{
452
			sb.append(c);
453
		}
454
		return sb.toString();
455
	}
456
 
457
 
458
	public static boolean validarFecha(int dia, int mes, int ano)
459
	{
460
		if(dia < 1 || mes < 1 || mes > 12 || ano == 0) {
461
			return false;
462
		}
463
		else
464
		{
465
			if(mes == 2)
466
			{
467
				if(esBisiesto(ano))
468
				{
469
					if( dia > 29 ){
470
						return false;
471
					}
472
					else {
473
						return true;
474
					}
475
				}
476
				else
477
				{
478
					if (dia > 28)
479
					{
480
						return false;
481
					} else {
482
						return true;
483
					}
484
				}
485
			}
486
			else
487
			{
488
				if(mes == 4 || mes == 6 || mes == 9 || mes == 11)
489
				{
490
					return dia <= 30;
491
				} else {
492
					return dia <= 31;
493
				}
494
			}
495
		}
496
	}
497
 
498
	public static boolean esBisiesto(int ano)
499
	{
500
		return((ano%4 == 0 && ano % 100 !=0)|(ano % 400==0));
501
	}
502
 
503
	public static String removerCaracteresEspeciales(String input)
504
	{
505
 
506
 
507
 
508
 
509
	    String original = "áàäéèëíìïóòöúùuñÁÀÄÉÈËÍÌÏÓÒÖÚÙÜÑçÇ";
510
	    String ascii = "aaaeeeiiiooouuunAAAEEEIIIOOOUUUNcC";
511
	    String output = input;
512
	    for (int i=0; i<original.length(); i++) {
513
	        output = output.replace(original.charAt(i), ascii.charAt(i));
514
	    }
515
	    return output;
516
	}//remove1
517
 
518
	public static int diferenciasDeFechas(Date fechaInicial, Date fechaFinal)
519
	{
520
		DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM);
521
		String fechaInicioString = df.format(fechaInicial);
522
		try {
523
			fechaInicial = df.parse(fechaInicioString);
524
		} catch (ParseException ex) {
525
		}
526
		String fechaFinalString = df.format(fechaFinal);
527
		try {
528
			fechaFinal = df.parse(fechaFinalString);
529
		} catch (ParseException ex) {
530
		}
531
		long fechaInicialMs = fechaInicial.getTime();
532
		long fechaFinalMs = fechaFinal.getTime();
533
		long diferencia = fechaFinalMs - fechaInicialMs;
534
		double dias = Math.floor(diferencia / (1000 * 60 * 60 * 24));
535
		return ((int) dias);
536
	}
537
 
538
 
539
	public static String htmlSpecialCharsDecode(String s)
540
	{
541
	        Enumeration<String> en = html_specialchars_table.keys();
542
	        while(en.hasMoreElements()){
543
	                String key = (String)en.nextElement();
544
	                String val = (String)html_specialchars_table.get(key);
545
	                s = s.replaceAll(key, val);
546
	        }
547
	        return s;
548
	}
549
 
550
	public static int dpToPixel(int dp, Context context) {
551
	    if (scale == null) {
552
	        scale = context.getResources().getDisplayMetrics().density;
553
	    }
554
 
555
	    return (int) ((float) dp * scale);
556
	}
557
 
558
 
559
}