Size: a a a

StartAndroid Ru Chat

2021 April 01

Ф

Фёдор in StartAndroid Ru Chat
Спасибо
источник

TN

Tyler Neal in StartAndroid Ru Chat
Boris Timofeev
Проверь свободное место на диске. У меня он так не запускался от нехватки места. Либо если эмулятор запускать через консоль, то он напишет конкретную ошибку (почему-то в студию до сих пор не прокидываются его ошибки)
Не, места хватает. По 30+ гигов на каждом диске..
источник

S

SevenXP in StartAndroid Ru Chat
Суть в том что бы, если есть ошибка в расчетах место положения, вы знали, о за это отвечает именно этот класс.
А если все это будет написано в общем классе на 5 тысяч строк, то искать и фиксить будет очень тяжело)) Особенно разбираться в нем через 1-2 месяца
источник

BT

Boris Timofeev in StartAndroid Ru Chat
Tyler Neal
Не, места хватает. По 30+ гигов на каждом диске..
Значит пробовать запустить эмулятор из консоли и смотреть ошибку
источник

Ф

Фёдор in StartAndroid Ru Chat
SevenXP
Суть в том что бы, если есть ошибка в расчетах место положения, вы знали, о за это отвечает именно этот класс.
А если все это будет написано в общем классе на 5 тысяч строк, то искать и фиксить будет очень тяжело)) Особенно разбираться в нем через 1-2 месяца
Просто там очень тесно связаны логика получения разрешений/просьба включить GPS и само получения местоположения
источник

TN

Tyler Neal in StartAndroid Ru Chat
Boris Timofeev
Значит пробовать запустить эмулятор из консоли и смотреть ошибку
Не подскажете команды? Что-то те, что в гугле нашёл не верные пишет
источник

S

SevenXP in StartAndroid Ru Chat
Фёдор
Просто там очень тесно связаны логика получения разрешений/просьба включить GPS и само получения местоположения
это не тесно связанно класс проверки разрешений и запрос на разрешение - это отдельный класс, который будет просто экземпляром в другом классе. Который будет использовать эти возможности.
источник

S

SevenXP in StartAndroid Ru Chat
И опять же в случаи ошибки или добавление других разрешений, вы пойдете в класс именно реализующий возможность и проверки разрешений, а не в какой то другой.
источник

Ф

Фёдор in StartAndroid Ru Chat
Но чтобы разрешение запросить нужно же быть внутри фрагмента/активити
источник

BT

Boris Timofeev in StartAndroid Ru Chat
Tyler Neal
Не подскажете команды? Что-то те, что в гугле нашёл не верные пишет
вот, выполняю из папки android_sdk/tools/ первая команда покажет как называются твои виртуалки, вторая запускает конкретную
источник

S

SevenXP in StartAndroid Ru Chat
Нет нужно всего лишь передать контекс,
Опять же принцип единой ответственности говорит только об одном. Что класс должен делать конкретную задачу (если коротко)
class CheckPermission {
fun isHavePermisson (context : Context) : Boolean { ... }
}

class YourFragment : Fragment {

....
CheckPermission().isHavePermisson(requestActivity())
....

}
источник

Ф

Фёдор in StartAndroid Ru Chat
SevenXP
Нет нужно всего лишь передать контекс,
Опять же принцип единой ответственности говорит только об одном. Что класс должен делать конкретную задачу (если коротко)
class CheckPermission {
fun isHavePermisson (context : Context) : Boolean { ... }
}

class YourFragment : Fragment {

....
CheckPermission().isHavePermisson(requestActivity())
....

}
Я пока не углублялся в вопросы мемориликов, поэтому боюсь контекст передавать куда-либо
источник

S

SevenXP in StartAndroid Ru Chat
В плане боюсь передавать контекст
источник

Ф

Фёдор in StartAndroid Ru Chat
Ну, в функцию ничего страшного
источник

S

SevenXP in StartAndroid Ru Chat
Вы же должны понимать что утечка памяти это хранение чего либо
источник

TN

Tyler Neal in StartAndroid Ru Chat
Boris Timofeev
вот, выполняю из папки android_sdk/tools/ первая команда покажет как называются твои виртуалки, вторая запускает конкретную
Спасибо
источник

S

SevenXP in StartAndroid Ru Chat
А если вы не храните, то и утечки не будет (ну если коротко)
источник

S

SevenXP in StartAndroid Ru Chat
Так же можно использовать класс Application в методах что бы не хранить контекст
источник

S

SevenXP in StartAndroid Ru Chat
для других случаев можно использовать слабые ссылки WeekReference
источник

S

SevenXP in StartAndroid Ru Chat
Я не могу вам абстрактно дать лучший совет. Но если мы идем именно от единой ответственности, то это именно разбития классов на задачи, Но не кто не запрещает объединять классы с разными задачами, в одну более сложную логику.
источник