Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
vp-webdev
6 лет назад

Программируем под Android - смотрим заряд батареи

Сложно представить человека без смартфона. Не малую часть рынка занимают устройства под управлением ОС Android. Одна из проблем современных гаджетов - аккумуляторы. Дабы продлить жизнь батарее, я не заряжаю её более чем на 80%.

Начинаю блок статей про Android. А точнее будем писать приложение, которое будет отслеживать уровень зарядки батареи и информировать нас о "высоком уровне" заряда.

Для этого я буду использовать Android Studio и Alcatel Idol 3 mini.

Создаём новый проект и idea сгенерирует "каркас" приложения: Класс "MainActivity", "activity_main.xml" и другие важные файлы.
Imgur

MainActivity - класс, где логика, так скажем.

activity_main.xml - описываем "внешний вид" страницы.

Activity - можно принимать как "страницы".

В методе onCreate класса MainActivity добавим следующий код:

//IntentFilter Служит неким фильтром данных, которые мы хотим получить.
//ACTION_BATTERY_CHANGED - отслеживает изменение батареи
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
//Чтобы получить текущее состояние батареи в виде намерения, нужно вызвать registerReceiver, передав null в качестве приемника, как показано в коде ниже. 
Intent batteryStatus = registerReceiver(null, ifilter);

Получим значение заряда батареи:

int status = batteryStatus.getIntExtra("level", -1);

Проверим, если заряд батареи равно или больше 80% дадим знать, что пора снять с зарядки.

if(status >= 80){
//выведем всплывающее окно
    Toast.makeText(getApplicationContext(), 
             "Хватит заряжать", 
             Toast.LENGTH_SHORT).show();
}

getApplicationContext() - Доступ к контексту.
Так же доступ к контексту можно получить с помощью следующих методов:

  • getApplicationContext(),
  • getContext(),
  • getBaseContext()
  • this

LENGTH_SHORT — (По умолчанию) показывает текстовое уведомление на короткий промежуток времени (Примерно: 2 секунды)
LENGTH_LONG — показывает текстовое уведомление в течение длительного периода времени (Примерно: 3.5 секунды)
Context – это объект, который предоставляет доступ к базовым функциям приложения: доступ к ресурсам, к файловой системе, вызов активности и т.д.

Запускаем приложение в момент зарядки и получаем такое сообщение:
Imgur

Листинг кода MainActivity

Заглавное изображение с сайта https://www.flickr.com/

Данный пост подготовлен автором @zheev.

27
95.508 GOLOS
На Golos с August 2017
Комментарии (1)
Сортировать по:
Сначала старые