Вверх ↑
Ответов: 163
Рейтинг: 33
#1: 2017-11-03 09:02:23 ЛС | профиль | цитата
Мои элементы.
Доступ к облаку SpiderOak не особо стабилен, если не открывается с первого раза - пробуйте еще.
Все выложено в одной папке здесь.

Audio Control. Регулировка громкости, режимы звонка, управление спикерфоном, информация о наличии/отсутствии подключенной проводной и bluetooth гарнитуры.
AccelerometerSensor. От стандартного элемента пакета отличается возможностью задать частоту опроса сенсора и узнать доступность сенсора на конкретном устройстве.
ProximitySensor1. Отличия те же что и у предыдущего элемента.
ComponentControl. Запрещение/разрешение одного из компонентов, указанных в манифесте. Можно отключать/включать статические BroadcastReceiver`ы.
File2project. Позволяет добавить произвольный файл в проект.
Function. Все подключенные к выходу элементы будут вынесены в отдельный метод в java-коде. Рекомендую ставить после объединяющего хаба в случае большого количества компонентов после него, а так же в случае большого количества объединяемых линий схемы. Улучшает читаемость java-кода на выходе и уменьшает его размер за счет удаления дубликатов кода. Другое назначение - вызов методов текущего класса из элементов IC,Method и File2project.
Method. Авторство принадлежит sаmakacd, я лишь немного доработал. Идеальная замена IC, когда надо вставить в проект лишь несколько строчек кода.
Вообще можно придумать ему разные способы применения.
Например, нам нужен обработчик кнопки "назад", но его нет в стандартном элементе Activity. Берем
Method, в св-ве MethodName пишем onBackPressed, открываем св-во MethodCode и пишем:
@Override
public void onBackPressed() {
super.onBackPressed();
...
//ваш код
...
//если нужен выход в схему, то:
onBackPressed_event();
}
Или допустим нужно какщй-то метод вызвать многократно в разных частях схемы. Можно конечно тянуть к нему связи из этих частей схемы, а можно сделать проще (хотя и менее информативно). Надо полностью оформить этот метод 1 раз (заполнив все необходимые св-ва), а потом сделать копию, в которой очистить св-во MethodCode и вот эту копию уже растиражировать по проекту, вставляя в нужные части схемы.
Loger. Элемент для вывода информации в системный лог.
IntLog. Еще один способ логирования, который облегчит вам поиск багов. На этот раз ведется "внутренний" лог. Внутри реализован в виде повторно используемого массива StringBuilder`ов. Лог живет в памяти процесса, а соответственно не переживает его перезапуск. Правда есть методы startLogToFile и stopLogToFile, но работают они несколько специфично: в файле сохраняются куски лога непосредственно перед остановкой процесса и сразу после его запуска. В качестве файла используется SharedPreferences. Считывание придется реализовывать самостоятельно. Элемент позволяет отправить лог на email (через сторонний почтовик). Также элемент содержит вспомогательные методы, которые можно вызывать из IC и прочих элементов, позволяющих добавлять в проект свой код. Эти методы призваны сократить объем текста при логировании стектрейсов ошибок (Exception`ов). Кстати, добавление строк в лог можно также вызывать из IC, вот так: IntLog.add("привет");.
Manifest. Нужен для добавления в манифест приложения информации о компонентах приложения, которые вы возможно добавили в проект с помощью элемента File2project.
MTimer. В отличии от стандартного таймера работает в основном потоке приложения, а значит его напрямую можно подсоединять ко входам визуальных элементов.
Permission. Позволяет добавлять в манифест разрешения, которые нужны вашему коду в IC.
SleepWake. Сон и пробуждение устройства (вкл/выкл экрана), WakeLock`и процессора, добавление программы в администраторы устройства.
SystemBrightness. Изменение яркости экрана, информация о его состоянии (включен/выключен).
SystemScreenRotation. Вращение экрана.
Trigger. Элемент, позволяющий отфильтровать повторы событий. Имеет настраиваемое количество входов-выходов. При подряд следующих событиях на одном и том же входе, событие на том же по счету выходе генерируется лишь первый раз. В дальнейшем прохождение события через этот вход-выход возможно только при появлении хотя бы одного события на другом входе. Как ни странно, мне такая возможность оказалась нужна довольно часто и раньше я для этого использовал мультиэлемент с несколькими компонентами внутри. Потом мне это надоело и я написал этот компонент.
UncaughtException. Элемент, который поможет вам выяснить причину "падения" программы. Перехватывает непойманное исключение в вашем приложении, пишет стектрейс в SharedPreferences, после чего вызывает стандартный обработчик непойманных исключений фреймвока. Имя SharedPreferences - "uncaught_exeption", имя ключа, в который пишется стектрейс - "lastExeption". Что с этим делать дальше - ваше дело. Я, например, при запуске приложения (в onCreate MainActivity) первым делом проверяю наличие данного ключа в этом SharedPreferences, если есть - отображаю его содержимое в диалоге, а сам ключ удаляю.
GPS. Для определения местоположения по GPS. Элемент сырой, делался по просьбе форумчанина, но в итоге оказался ненужен.
карма: 3

1
Голосовали:sla8a
Редактировалось 5 раз(а), последний 2017-11-03 11:46:29