Віталій
Я не думаю, что ему нужно из апки их грузить
так если вручную не хочет, можно себе програму сделать за 10 минут
Віталій
хотя, тут 10 минутами не обойдётся
Fiou
Так мы ещё не решили как мы будем грузить все 700 картинок в фаербес
Anonymous
Fiou
Стоп
Fiou
Там можно просто 1 папку кинуть,и все?
Anonymous
Ех, и/о не проходил в жабе)?
Fiou
Я на котлине
Anonymous
Ну кор джавы знать должен тогда)
Fiou
Ех, и/о не проходил в жабе)?
А че это такое вообще?
Aleks
Там можно просто 1 папку кинуть,и все?
В FirebaseStorage? Выдели все нужные файлы и закинь
Fiou
и/о
Віталій
В FirebaseStorage? Выдели все нужные файлы и закинь
А потом ссылки по одной сохранять?)
Anonymous
и/о
Инпут аутпут
Віталій
В FirebaseStorage? Выдели все нужные файлы и закинь
Ему же ссылки в бд записать надо)
Fiou
Инпут аутпут
Проходил
Anonymous
Ну так цикл запусти по файлам в папочке)
Anonymous
sealed class State { data class Loading(val isLoading: Boolean) : State() data class Result(val data: MutableList<FeedModel>) : State() } class MainViewModel : BaseViewModel() { val state = MutableLiveData<State>() Может ли LiveData сама по себе удалить объект sealed?
Anonymous
Просто я добавил его в liveData, один раз поработал с ним, и больше не вижу его. Пропал куда - то объект
Anonymous
А в какой папке то?
В той, в которой у тебя лежат 700 фоток)
Fiou
Чеее,а зачем?
Anonymous
Чтобы каждую фотку залить в фаербейз стор)?
Fiou
Так мы уже разобрались как заливать
Fiou
Просто выделил все фото,и закинул
Fiou
А как тянуть в проект студии то?
Fiou
Все 700 ссылок в массив я же кидать не буду
Anonymous
Вызываю if (savedInstanceState == null) {requestList()} в onViewCreated. После того как снова возращяюсь в этот фграмент, получаю вызов onViewCreated с savedInstanceState == null. Но сам фрагмент не уничтожен, просто вызывался у него onDestroyView. Данный метод requestList не могу вызвать в onCreate потому что испльзует UI. Как быть?
Vitaly
Вызываю if (savedInstanceState == null) {requestList()} в onViewCreated. После того как снова возращяюсь в этот фграмент, получаю вызов onViewCreated с savedInstanceState == null. Но сам фрагмент не уничтожен, просто вызывался у него onDestroyView. Данный метод requestList не могу вызвать в onCreate потому что испльзует UI. Как быть?
Если вы ещё не используете такие паттерны как MVP или MVVM, можете в onCreate фрагмента поставить retainInstance = true Тогда фрагмент не будет уничтожаться при изменении конфигурации устройства Тогда список можно сохранить в поле фрагмента и делать подгрузку, когда list == null
Anonymous
Мне в конструкторе ViewModel делать этот вызов тогда?
Vitaly
Использую MVVM
В таком случае все данные должны храниться во ViewModel Подгрузку данных можно делать в init (в конструкторе)
Anonymous
В таком случае все данные должны храниться во ViewModel Подгрузку данных можно делать в init (в конструкторе)
ViewModel создаю в Activity. Запрос в сеть делаю из фрагмента. Запрос содержит состояния запроса прогресс бар
Vitaly
ViewModel создаю в Activity. Запрос в сеть делаю из фрагмента. Запрос содержит состояния запроса прогресс бар
Удобно, когда у каждого Activity и Fragment своя ViewModel, отвечающая за логику конкретного Fragment/Activity
Vitaly
Или есть какие-то везкие причины использовать именно ViewModel у Activity?
Anonymous
не всегда и не совсем, плодить кучу классов плохой подход
Vitaly
не всегда и не совсем, плодить кучу классов плохой подход
Да, разумеется Но если у вас переплетаются слои, то код в читаемости еще больше страдает Как минимум вы теряете удобный контроль над ЖЦ фрагмента и вам вручную надо писать как минимум +10 одинаковых строк кода в каждом фрагменте без ViewModel, чтобы поддерживать состояние фрагмента при изменении конфигурации
Vitaly
Если фрагмент грузит какие-то данные из сети или БД, то ViewModel уже нужна как минимум чтобы переключиться на IO поток и поддержать корректное состояние UI
Michil Shkulyov
ViewModel создаю в Activity. Запрос в сеть делаю из фрагмента. Запрос содержит состояния запроса прогресс бар
А разве логику не правильнее в ViewModel'е делать(загрузку данных с сети)
Vitaly
А если нет сети? Context в Viewmodel будешь юзать?
Смотря какой контекст Если контекст Application, то его можно юзать во ViewModel В противном случае ровно ту логику, которая требует Context я бы делегироватл Activity или Fragment
Tesla
Разбирающиеся люди в apple, подскажите пожалуйста есть ли необходимость в дескретной видеокарте для программирования? (xcode, android studio). С дискреткой ценники уже кусачие ппц
Tesla
нет, вообще не поможет. Надо SSD, память, проц.
Эмуляторам же тоже не нужна дискретка?
Mike
Эмуляторам же тоже не нужна дискретка?
ой, хорошее замечание. Не знаю.
Макс
Моему ноуту встроенной хватает. Дискретку не задействует. Больше он на память жалуется
Vlad
Эмуляторам же тоже не нужна дискретка?
я тоже хз, что за что отвечает, но могу сказать чисто по опыту, андроид студия очень быстро работает(у меня макбук эйр, 128 ссд, 8 оперативки), проекты в которых файлы занимают +- 100мб билдятся за 2-3 минуты
Anatoliy
я тоже хз, что за что отвечает, но могу сказать чисто по опыту, андроид студия очень быстро работает(у меня макбук эйр, 128 ссд, 8 оперативки), проекты в которых файлы занимают +- 100мб билдятся за 2-3 минуты
у меня старый мак 2010 года ,я в него ссд запихал современный и он греется как плита когда компилирует приложение.это нормально или лучше на нём не прогать в таком случае?
Anatoliy
в маках нет охлаждения, это ок
дак а он не сдохнет через месяц такой усердной работы?
.
дак а он не сдохнет через месяц такой усердной работы?
если греется то значит эппл это предусмотрели. магия эппл, ты его себе не просто так купил же
.
он старенький, страшно за него,но логика понятна
это был сарказм. эппл говно. ограничь энергопотребление проца, если винда умеет то макось и подавно должна.
Anonymous
Смотря какой контекст Если контекст Application, то его можно юзать во ViewModel В противном случае ровно ту логику, которая требует Context я бы делегироватл Activity или Fragment
Не желательно, так как это в дальнейшем усложнит тестирование. Придеться создавать Тестовйы Application, А если там другие зависимости то....
Anonymous
Эмуляторам же тоже не нужна дискретка?
Нужна, но не игровая, тыщ за 3к. А вообще купи за тыщ 13 и забудь про слово видеокарта, на лет 5. Radeon, если ты слишком богатый то Nvidia
Vitaly
Не желательно, так как это в дальнейшем усложнит тестирование. Придеться создавать Тестовйы Application, А если там другие зависимости то....
В любом случае, даже если у тебя будет чистый ViewModel без контекста, у тебя не получится протестировать без моков Android
Anonymous
@Harmonizr ViewModel без моков реально протестить?
Валерий
а почему нельзя? емнип это POJO c методом onCleared()
Oleg
@Harmonizr ViewModel без моков реально протестить?
а что там мокать? там же можно просто проверять значение внутри ливдаты, вьюха ж просто подписывается на обновление этого объекта? Или я не о том подумал?
Olexandr
Сильно
Mike
hatebin.com
Olexandr
Доброго времени суток. Помогите, пожалуйста, понять что такое разрешения в андроид приложении? Я прописал <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> Но при установке приложения ничего не запрашивает + в самом приложении тоже самое. Для того чтобы всё сработало нужно вручную перейти в Настройки - Приложения - *приложение* - Разрешить использование GPS Спасибо за ответы.
namiastra
Надо вставить код который запрашивает разрешение
namiastra
private void checkLocationPermission() { if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_FINE_LOCATION)) { ActivityCompat.requestPermissions(WelcomeActivity.this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1); } else { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1); } } }
namiastra
Типо этого
Pêcheur
А при установке приложения оно уже давно не запрашивает, с 21 апи примерно
Pêcheur
луркай Стак, там все это 100 раз разжевано
Olexandr
Понял, спасибо.
Vitaly
@Harmonizr ViewModel без моков реально протестить?
Не правильно вразился Я про то, что по-любому придется подключать Robolectric, так как часто юзаются сериализаторы и инструменты для работы с датами из Android фреймворка Подключение Robolectric резко увеличивает время ожидания А сами моки подставить не сложно