Proyectos de Subversion Android Microlearning

Rev

Rev 1 | | Comparar con el anterior | 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
 
19 gabriel 192
	public static boolean emailcheckengine(String s)  {
1 efrain 193
 
19 gabriel 194
		String  regexp = "^[a-zA-Z0-9_\\-\\.~]{2,}@[a-zA-Z0-9_\\-\\.~]{2,}\\.[a-zA-Z]{2,}$";
1 efrain 195
 
19 gabriel 196
		return Pattern.matches(regexp, s);
197
	}
198
 
199
 
1 efrain 200
 
201
	public static int Numero2Int(String numero)
202
	{
203
		if(numero == null) {
204
			return 0;
205
		}
206
 
207
		StringBuffer sb = new StringBuffer();
208
 
209
		boolean primero = true;
210
		for (int i = 0; i < numero.length(); i++)
211
		{
212
			if ((numero.substring(i, i + 1) == "0") && (primero))
213
			{
214
				continue;
215
			}
216
			primero = false;
217
			sb.append(numero.substring(i, i + 1));
218
		}
219
 
220
		if (sb.length() == 0)
221
		{
222
			return 0;
223
		}
224
		else
225
		{
226
			return Integer.parseInt(sb.toString().trim());
227
		}
228
	}
229
 
230
	public static long Numero2Long(String numero)
231
	{
232
		if(numero == null) {
233
			return 0;
234
		}
235
 
236
		StringBuffer sb = new StringBuffer();
237
 
238
		boolean primero = true;
239
		for (int i = 0; i < numero.length(); i++)
240
		{
241
			if ((numero.substring(i, i + 1) == "0") && (primero))
242
			{
243
				continue;
244
			}
245
			primero = false;
246
			sb.append(numero.substring(i, i + 1));
247
		}
248
 
249
		if (sb.length() == 0)
250
		{
251
			return 0;
252
		}
253
		else
254
		{
255
			return Long.parseLong(sb.toString().trim());
256
		}
257
	}
258
 
259
 
260
	public static float Numero2Float(String numero) {
261
		if(numero == null) {
262
			return 0;
263
		}
264
 
265
		StringBuffer sb = new StringBuffer();
266
 
267
		boolean primero = true;
268
		for (int i = 0; i < numero.length(); i++)
269
		{
270
			if ((numero.substring(i, i + 1) == "0") && (primero))
271
			{
272
				continue;
273
			}
274
			primero = false;
275
			sb.append(numero.substring(i, i + 1));
276
		}
277
 
278
		if (sb.length() == 0)
279
		{
280
			return 0;
281
		}
282
		else
283
		{
284
			return Float.parseFloat(sb.toString().trim());
285
		}
286
 
287
	}
288
 
289
	public static String Long2Numero(long i, int longitud) {
290
		String s = String.valueOf(i);
291
 
292
		if (s.length() < longitud)
293
		{
294
			StringBuffer sb = new StringBuffer();
295
			int max = longitud - s.length();
296
			for (i = 0; i < max; i++)
297
			{
298
				sb.append('0');
299
			}
300
			sb.append(s);
301
			return sb.toString();
302
		}
303
		else
304
		{
305
			return s;
306
		}
307
	}
308
 
309
	public static String Int2Numero(int i, int longitud) {
310
		String s = String.valueOf(i);
311
 
312
		if (s.length() < longitud)
313
		{
314
			StringBuffer sb = new StringBuffer();
315
			int max = longitud - s.length();
316
			for (i = 0; i < max; i++)
317
			{
318
				sb.append('0');
319
			}
320
			sb.append(s);
321
			return sb.toString();
322
		}
323
		else
324
		{
325
			return s;
326
		}
327
	}
328
 
329
 
330
 
331
	public static int countCharacter(String str, char c)
332
	{
333
		if (str == null) {
334
			return 0;
335
		}
336
		else
337
		{
338
			int counter = 0;
339
 
340
			for (int i = 0; i < str.length(); i++)
341
			{
342
				if (c == str.charAt(i))
343
				{
344
					counter++;
345
				}
346
			}
347
			return counter;
348
		}
349
	}
350
 
351
 
352
	public static int hexToInt(String hex)
353
	{
354
		return Integer.parseInt(hex, 16);
355
	}
356
 
357
 
358
	public static String padRight(String s, int n, char c)
359
	{
360
		return padRight(s, n, c, true);
361
	}
362
 
363
	public static String padRight(String s, int n)
364
	{
365
		return padRight(s, n, ' ', true);
366
	}
367
 
368
	public static String padRight(String s, int n, char c, boolean hacerTrim)
369
	{
370
		if(hacerTrim)
371
		{
372
			s = s.trim();
373
		}
374
		if (s.length() > n)
375
		{
376
			return s.substring(0, n);
377
		}
378
		else
379
		{
380
			return repetirCaracter(c, n - s.length()) + s;
381
		}
382
	}
383
 
384
	public static String padLeftImpresion(String s, int n)
385
	{
386
		return padLeft(s, n, ' ', false);
387
	}
388
 
389
	public static String padLeft(String s, int n)
390
	{
391
		return padLeft(s, n, ' ', true);
392
	}
393
 
394
	public static String padLeft(String s, int n, char c, boolean hacerTrim)
395
	{
396
		if(hacerTrim)
397
		{
398
			s = s.trim();
399
		}
400
		if (s.length() > n)
401
		{
402
			return s.substring(0, n);
403
		}
404
		else
405
		{
406
			return s + repetirCaracter(c, n - s.length());
407
		}
408
	}
409
 
410
	public static String padCenter(String s, int n, char c)
411
	{
412
		return padCenter(s, n, c, true);
413
	}
414
 
415
	public static String padCenter(String s, int n)
416
	{
417
		return padCenter(s, n, ' ', true);
418
	}
419
 
420
	public static String padCenter(String s, int n, char c, boolean hacerTrim)
421
	{
422
		if(hacerTrim)
423
		{
424
			s = s.trim();
425
		}
426
		if (s.length() > n) {
427
			return s.substring(0, n - 1);
428
		}
429
		else
430
		{
431
			int l = (n - s.length()) / 2;
432
			StringBuffer sb = new StringBuffer();
433
 
434
			for (int i = 0; i < l; i++)
435
			{
436
				sb.append(c);
437
			}
438
			sb.append(s);
439
 
440
			if (n > s.length() + l * 2)
441
			{
442
				l++;
443
			}
444
			for (int i = 0; i < l; i++)
445
			{
446
				sb.append(c);
447
			}
448
 
449
			return sb.toString();
450
		}
451
	}
452
 
453
	public static String repetirCaracter(char c, int cantidad)
454
	{
455
		StringBuffer sb = new StringBuffer();
456
		for (int i = 1; i <= cantidad; i++)
457
		{
458
			sb.append(c);
459
		}
460
		return sb.toString();
461
	}
462
 
463
 
464
	public static boolean validarFecha(int dia, int mes, int ano)
465
	{
466
		if(dia < 1 || mes < 1 || mes > 12 || ano == 0) {
467
			return false;
468
		}
469
		else
470
		{
471
			if(mes == 2)
472
			{
473
				if(esBisiesto(ano))
474
				{
475
					if( dia > 29 ){
476
						return false;
477
					}
478
					else {
479
						return true;
480
					}
481
				}
482
				else
483
				{
484
					if (dia > 28)
485
					{
486
						return false;
487
					} else {
488
						return true;
489
					}
490
				}
491
			}
492
			else
493
			{
494
				if(mes == 4 || mes == 6 || mes == 9 || mes == 11)
495
				{
496
					return dia <= 30;
497
				} else {
498
					return dia <= 31;
499
				}
500
			}
501
		}
502
	}
503
 
504
	public static boolean esBisiesto(int ano)
505
	{
506
		return((ano%4 == 0 && ano % 100 !=0)|(ano % 400==0));
507
	}
508
 
509
	public static String removerCaracteresEspeciales(String input)
510
	{
511
 
512
 
513
 
514
 
515
	    String original = "áàäéèëíìïóòöúùuñÁÀÄÉÈËÍÌÏÓÒÖÚÙÜÑçÇ";
516
	    String ascii = "aaaeeeiiiooouuunAAAEEEIIIOOOUUUNcC";
517
	    String output = input;
518
	    for (int i=0; i<original.length(); i++) {
519
	        output = output.replace(original.charAt(i), ascii.charAt(i));
520
	    }
521
	    return output;
522
	}//remove1
523
 
524
	public static int diferenciasDeFechas(Date fechaInicial, Date fechaFinal)
525
	{
526
		DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM);
527
		String fechaInicioString = df.format(fechaInicial);
528
		try {
529
			fechaInicial = df.parse(fechaInicioString);
530
		} catch (ParseException ex) {
531
		}
532
		String fechaFinalString = df.format(fechaFinal);
533
		try {
534
			fechaFinal = df.parse(fechaFinalString);
535
		} catch (ParseException ex) {
536
		}
537
		long fechaInicialMs = fechaInicial.getTime();
538
		long fechaFinalMs = fechaFinal.getTime();
539
		long diferencia = fechaFinalMs - fechaInicialMs;
540
		double dias = Math.floor(diferencia / (1000 * 60 * 60 * 24));
541
		return ((int) dias);
542
	}
543
 
544
 
545
	public static String htmlSpecialCharsDecode(String s)
546
	{
547
	        Enumeration<String> en = html_specialchars_table.keys();
548
	        while(en.hasMoreElements()){
549
	                String key = (String)en.nextElement();
550
	                String val = (String)html_specialchars_table.get(key);
551
	                s = s.replaceAll(key, val);
552
	        }
553
	        return s;
554
	}
555
 
556
	public static int dpToPixel(int dp, Context context) {
557
	    if (scale == null) {
558
	        scale = context.getResources().getDisplayMetrics().density;
559
	    }
560
 
561
	    return (int) ((float) dp * scale);
562
	}
563
 
564
 
565
}