Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

180
Vistas
Enviar datos con URL entrar en Android en bucle while

Quiero enviar ayb con obtener URL a example.com cuando lo ejecuto, funciona una vez.

Quiero enviar a y b mientras la condición sea verdadera. Uso el modo de suspensión, así que envío datos después de 5 segundos de forma continua.

 public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { public a=0,b=0; public btn=2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_maps); connect(); } //end of onCreate public void connect() { new Thread(new Runnable() { @Override public void run() { communication(); } }).start(); } public void communication() { while(btn >0){ try { btn++; a++; b++; URL url = new URL("example.com"+ "?a=" +a+"&b="+b); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.connect(); InputStream inputStream = conn.getInputStream(); InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "UTF-8"); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String data = "", line = ""; while ((line = bufferedReader.readLine()) != null) { data += line + "\n"; } sleep(5000); } catch (MalformedURLException e) { Log.e("error", e.toString()); e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } }//end of while } //end of communication }//end of class
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Creo que Timer es mejor que sleep . Puedes probar esto:

 Handler handler = new Handler(); Runnable sendRequest = new Runnable() { public void run() { // your code to send request } }; new Timer().schedule(new TimerTask() { @Override public void run() { handler.post(sendRequest); } }, 100, 5000);
over 4 years ago · Santiago Trujillo Denunciar

0

Recomendaré no hacerlo en la clase Actividad.

Cree una clase de servicio en segundo plano que se ejecute cada n segundos , en su caso digamos 5 .

Ahora crea una cola. En esta cola, inserte los datos, siempre que la condición sea verdadera.

Una vez que el servicio en segundo plano comience a ejecutarse, leerá de la cola y realizará las llamadas a la API con los datos.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda