|
141
|
Programación / Java / Re: [Duda]Uso de clases internas
|
en: 14 Abril 2015, 00:20 am
|
El ambiente A tiene a su vez un ambiente B. Éste ambiente B tiene las mismas cosas que hay en el ambiente A, pero no las que hay en el ambiente C. Si hay una pelota en el ambiente A, también será visible en el ambiente B. Así aplica a las clases.
PD: No sé si la analogía estará bien xDD.
|
|
|
142
|
Programación / Java / Re: activacion de alerta remota java
|
en: 13 Abril 2015, 22:49 pm
|
Lo mejor es que el sistema sea único, es decir, que todos los módulos (ventas, cobranzas, logística, contabilidad, etc) sean desacoplados, esto es, independientes pero que trabajen en forma conjunta (respetando POO y principios de desarrollo de software).
Por lo que, la vendedora tiene el módulo ventas y, por otro lado, logística tiene el módulo, valga la redundancia, logística, donde el trabajador podrá ver todas las ventas realizadas.
Otra opción es que sea un solo sistema, pero con integración de roles y permisos de modo que, el vendedor no pueda acceder a la sección logística y viceversa.
Saludos.
|
|
|
144
|
Programación / Java / Re: [Ayuda]Timer en Android
|
en: 13 Abril 2015, 19:49 pm
|
Sí, debes pasarle el objeto que está como propiedad y que se ha inicializado en el método initializeTimerTask(), lo que pasa es que en la edición olvidé cambiar eso xD.
Saludos.
|
|
|
145
|
Programación / Java / Re: [Ayuda]Timer en Android
|
en: 13 Abril 2015, 17:48 pm
|
getActivity(), te devuelve la actividad. También bastaría con Prueba.this. Intenta hacerlo con un callback en lugar de una clase: public class Prueba extends ActionBarActivity { private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_1); tv = (TextView)findViewById(R.id.tvTemporizador); } public void startTimer() { initializeTimerTask(); } private void initializeTimerTask() { @Override public void run() { getActivity (). runOnUiThread(new Runnable() { @Override public void run() { //Obtengo el valor y lo bajo 1, por ejemplo, si es 30 ahora sera 29 int bajar1Segundo = Integer. parseInt(tv. getText(). toString())-1; tv. setText(String. valueOf(bajar1Segundo )); //Cambio el valor del TextView if(bajar1Segundo == 0) { Toast.makeText(getApplicationContext(), "El tiempo se ha terminado", Toast.LENGTH_LONG); }; } }); } public void cancelTimer() { if (timer != null) { timer.cancel(); timer = null; } } }
Saludos. PD: Ya vi que lo solucionaste xD.
|
|
|
147
|
Programación / Java / Re: [Ayuda]Timer en Android
|
en: 12 Abril 2015, 23:17 pm
|
Así es. Tienes que obtener el thread en donde está corriendo el Activity. Intenta: getActivity (). runOnUiThread(new Runnable() { @Override public void run() { //Obtengo el valor y lo bajo 1, por ejemplo, si es 30 ahora sera 29 int bajar1Segundo = Integer. parseInt(tv. getText(). toString())-1; tv. setText(String. valueOf(bajar1Segundo )); //Cambio el valor del TextView if(bajar1Segundo == 0) { Toast.makeText(getApplicationContext(), "El tiempo se ha terminado", Toast.LENGTH_LONG); }; } });
El código anterior debe ir dentro del run de ClassProcess.
|
|
|
149
|
Programación / Java / Re: [Ayuda]Timer en Android
|
en: 12 Abril 2015, 18:18 pm
|
Exactamente. El primer parámetro de schedule indica el timeout, es decir, la cuenta regresiva para que se inicie por primera véz la tarea, y el segundo parámetro el intérvalo entre ejecuciones. Ésto es ideal cuando se quiere mostrar avisos cada X tiempo, por ejemplo.
Un saludo.
|
|
|
150
|
Programación / Java / Re: [Ayuda]Timer en Android
|
en: 12 Abril 2015, 17:10 pm
|
Ya veo, tu me hablas de concurrencia. ¿Existe alguna diferencia notoria entre Timer de Java y Android? Es decir, en Android es tan diferente hacer ésto: @Override public void run() { System. out. println("Time's up!"); } }
public class Main { public void initialize() { timer.schedule(new SomeTask(), 1000, 5000); // inicia en 1 segundo y se repite cada 5 } public void cancel() { if(timer != null) { timer.cancel(); timer = null; } } }
|
|
|
|
|
|
|