Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - Obtener carga batería en aplicación Android Eclipse Java
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information Obtener carga batería en aplicación Android Eclipse Java

Publicar nuevo tema Responder al tema
Foros de discusión » Android, Java, software para smartphones   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Obtener carga batería en aplicación Android Eclipse Java Responder citando

¿Cómo puedo obtener el estado de carga de la batería en una aplicación Android? estoy desarrollando una aplicación para dispositivos Android con Eclipse y Java y necesito mostrarle al usuario el estado de carga de la batería del móvil o dispositivo Android ¿cómo se hace esto?
MensajePublicado:
Sab Jul 28, 2012 10:33 pm
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Obtener carga batería en aplicación Android Eclipse Java Responder citando



Anuncios



varios escribió:
¿Cómo puedo obtener el estado de carga de la batería en una aplicación Android? estoy desarrollando una aplicación para dispositivos Android con Eclipse y Java y necesito mostrarle al usuario el estado de carga de la batería del móvil o dispositivo Android ¿cómo se hace esto?


A continuación te mostramos una función que devuelve un entero (int)

Código:

    import android.os.BatteryManager;
    import android.content.Intent;
    import android.content.IntentFilter;
    import android.widget.Toast; //para mostrar un mensaje
    ...

    public int cargaBateria ()
    {
        try
        {
           IntentFilter batIntentFilter =
              new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
            Intent battery =
               this.registerReceiver(null, batIntentFilter);
            int nivelBateria = battery.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
            return nivelBateria;
        }
        catch (Exception e)
        {           
           Toast.makeText(getApplicationContext(),
                    "Error al obtener estado de la batería",
                    Toast.LENGTH_SHORT).show();
           return 0;
        }       
    }
MensajePublicado:
Dom Jul 29, 2012 5:52 pm
Top of PageVer perfil de usuario
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Re: Obtener carga batería en aplicación Android Eclipse Java Responder citando



Anuncios



alonsojpd escribió:
A continuación te mostramos una función que devuelve un entero (int)

Código:

    import android.os.BatteryManager;
    import android.content.Intent;
    import android.content.IntentFilter;
    import android.widget.Toast; //para mostrar un mensaje
    ...

    public int cargaBateria ()
    {
        try
        {
           IntentFilter batIntentFilter =
              new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
            Intent battery =
               this.registerReceiver(null, batIntentFilter);
            int nivelBateria = battery.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
            return nivelBateria;
        }
        catch (Exception e)
        {           
           Toast.makeText(getApplicationContext(),
                    "Error al obtener estado de la batería",
                    Toast.LENGTH_SHORT).show();
           return 0;
        }       
    }


A penas tengo conocimientos de programación en Android ¿cómo puedo usar esa función? he añadido en el layout un TextView con Id: txtInfoBateria y un ProgressBar con ID: bpProgreso ¿cómo muestro la carga de la batería en estos componentes?
MensajePublicado:
Dom Jul 29, 2012 5:55 pm
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Obtener carga batería en aplicación Android Eclipse Java Responder citando



Anuncios



varios escribió:
A penas tengo conocimientos de programación en Android ¿cómo puedo usar esa función? he añadido en el layout un TextView con Id: txtInfoBateria y un ProgressBar con ID: bpProgreso ¿cómo muestro la carga de la batería en estos componentes?


Por un lado debes añadir los imports correspondientes a la clase .java del Activity donde quieras llamar a la función de carga de batería:

Código:

import android.widget.ProgressBar;
import android.widget.TextView;
...


Por otro lado, en la clase principal, en el Activity tienes que declarar dos variables, una de tipo TextView y otra de tipo ProgressBar:

Código:

  public class AjpdSoftLinterna extends Activity
  {
     ...

     TextView txtInfoCargaBateria;
     ProgressBar bpProgreso;

     ...



Luego, en el evento onCreate del Activity tendrás que asignar las variables anteriores a su correspondiente en el layout, sería algo así:

Código:

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ajpdsoft_linterna);
       
        txtInfoCargaBateria = (TextView)findViewById(R.id.txtInfoBateria);
        bpProgreso = (ProgressBar)findViewById(R.id.bpProgreso);
        ...


Por último, en el sitio que consideres, por ejemplo en el onCreate anterior, llamaremos a la función cargaBateria y mostraremos el resultado en el TextView y en el ProgressBar, sería algo así:

Código:

  // Carga actual de la batería del dispositivo Android
  int cargaBateria = cargaBateria();
  txtInfoCargaBateria.setText("Carga batería: " +
      String.valueOf(cargaBateria) + "%");
  bpProgreso.setProgress((int)(cargaBateria * 100 / 100));



Con el código Java anterior, cuando el usuario ejecute tu aplicación Android se mostrarán el estado (nivel/carga) de la batería del móvil en el Layout que hayas indicado.
MensajePublicado:
Dom Jul 29, 2012 6:06 pm
Top of PageVer perfil de usuario
KuRt_C1
Usuario


Registrado: Jul 17, 2013
Mensajes: 1

Asunto: Hola Amigos, a continuacion tengo problemas con el codigo Responder citando

import android.os.BatteryManager;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.content.Intent;
import android.content.IntentFilter;
import android.widget.Toast; //para mostrar un mensaje

public class cargaBateria
public class AjpdSoftLinterna extends Activity
{


TextView txtInfoCargaBateria;
ProgressBar bpProgreso;


public static void main(String[] args) {
}


// public int cargaBateria ()
{
try
{
IntentFilter batIntentFilter =
new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent battery =
this.registerReceiver(null, batIntentFilter);
int nivelBateria = battery.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
return nivelBateria;
}
catch (Exception e)
{
Toast.makeText(getApplicationContext(),
"Error al obtener estado de la batería",
Toast.LENGTH_SHORT).show();
return 0;
}
}




//////me trae el mensaje de error:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method main cannot be declared static; static methods can only be declared in a static or top level type

at cargaBateria$AjpdSoftLinterna.main(battery.java:17)
MensajePublicado:
Mar Jul 16, 2013 10:16 pm
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Hola Amigos, a continuacion tengo problemas con el codig Responder citando



Anuncios



Hola, prueba a quitar la línea "public class cargaBateria" o bien a normar la clase AjpdSoftLinterna como "cargaBateria" de forma que quedaría:

Código:

import android.widget.ProgressBar;
import android.widget.TextView;
import android.content.Intent;
import android.content.IntentFilter;
import android.widget.Toast; //para mostrar un mensaje

public class cargaBateria extends Activity
{
  ...




Si te fijas verás que con esas dos líneas:

public class cargaBateria
public class AjpdSoftLinterna extends Activity


defines una primera clase "coargaBateria" que contiene la segunda clase "AjpdSoftLinterna" y esto no suele ser habitual.
MensajePublicado:
Vie Jul 19, 2013 6:40 am
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » Android, Java, software para smartphones  

Cambiar a:  
Key
  Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A