Nikita
Ясно. Asyn + await использовать только для запуска параллельных задач. Если последовательные задачи то использовать launch.
Ну launch это в принципе корутина для целей fire’n’forget, внутри неё можно делать все последовательно, но если хочется параллельные задачи, то сначала делаете все асинки, потом все await
Nikita
Тут ещё можно думать как то, что launch это просто запустить и забыть, а асинк когда надо вернуть какой-то результат
Anonymous
это только у меня такая долботня с пермишенсами?
Anonymous
?
крэшит приложеньку
Nikita
То есть все таки await? Я же с базы данных должна вернуть обработанный результат. (по идее)
Не совсем, ты уже находишься внутри корутины и там можно просто вызывать саспенд функции
Mike
крэшит приложеньку
читай стектрейс
Данил
stacktrace где?
Anonymous
Данил
что в 14 строчке?
Данил
Ты бы еще меньше обрезал бы текст
⬤ vitaly
как подкинуть BottomNavigationBar в проект?
⬤ vitaly
гугл скрывает, слишком сложно это в доке написать видимо
Anonymous
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) read() } fun read() { var cursor: Cursor = contentResolver.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null) startManagingCursor(cursor) } }
vlad
Привет всем Пожалуйста, подскажите как реализовать левую кнопку. Floating Action Button не дает возможности добавлять 2 иконки
vlad
спасибо, попробую
Anonymous
посмотрел у приложеньки доступ к контактам есть
Евгений
всем привет! Делает ли что-то лучше и оптимальнее использование viewPager2 вместо viewPager?
Евгений
надо спарсить вот такой jsonчик. Количество элементов в Valute не известно, как и значения в AUD, AZN и GBP... Как это парсить? кто нибудь сталкивался?
Кирилл
всем привет! Делает ли что-то лучше и оптимальнее использование viewPager2 вместо viewPager?
ViewPager2 работает через RecyclerView со всеми вытекающими. Если тебе не нужны его плюсы (и минусы) то не переходи
Данил
ага
manifest в студию
Евгений
Что значит значения? Набор параметров не известен?
я имел ввиду не известно какие буквы будут там
Anonymous
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.syncmobile"> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
Данил
я имел ввиду не известно какие буквы будут там
Не известно какая валюта? Или параметры у валюты?
Евгений
Map<String, CurrencyInfo>
бл*** ну ты всё знаешь. есть вещи которые ты не знаешь а? ))))) а можешь подробнее чутка?
Евгений
Не известно какая валюта? Или параметры у валюты?
ну не известно сколько и каких валют придет с сервера.
Данил
ну не известно сколько и каких валют придет с сервера.
параметры валюты можно Data class сделать, а насчет самой валюты, то Map используй
Anonymous
Данил
тут нигде
а он должен быть там
Mike
ыыы... джысон
Gson? Ну вот объявляешь поле Map<String, CurrencyInfo> Valute, а CurrencyInfo можно сгенерить по деталям валюты — ID, NumCode, CharCode etc
Данил
data зачем?
под Retrofit?
Кирилл
Зачем ему Map если можно List
Anonymous
а он должен быть там
можешь поясенее?
Mike
Зачем ему Map если можно List
потому что {} не спарсится в List
Artem
Лист низя.. объект же там
Данил
можешь поясенее?
Читай http://developer.alexanderklimov.ru/android/theory/contentprovider.php
Кирилл
class Valute (val valutes: List<SpecificValue>)
Mike
а он должен быть там
с чего бы? Он пытается использовать системный провайдер контактов
Кирилл
А стоп, там нет тега у них
Кирилл
Да, тогда map
Mike
вот с помощью Lychee можно превратить map в list, ввалив ключ внутрь элементов
Кирилл
)
Данил
с чего бы? Он пытается использовать системный провайдер контактов
Сорян, я почему то думал что все Provider должны в Manifest добавляться
Евгений
вот с помощью Lychee можно превратить map в list, ввалив ключ внутрь элементов
ничего не понял, но очень интересно ))) в общем гляди, https://www.cbr-xml-daily.ru/daily_json.js
Евгений
Евгений
Евгений
сделал так пока.
Mike
сделал так пока.
поясни за data, пожалуйста :)
Dmytro
зачем UpperCase мы же не дот нет
Евгений
поясни за data, пожалуйста :)
да чот уже на автомате все модельки датой делаю.
Mike
зачем UpperCase мы же не дот нет
один-в-один как в джейсоне
Евгений
зачем UpperCase мы же не дот нет
это пока чиронвИк ))
Кирилл
поясни за data, пожалуйста :)
Собственно а почему нет? Лишние плюшки, чтобы забить dex этим надо постараться
Dmytro
а сериалайз нейм для слабых?
Artem
один-в-один как в джейсоне
@Json(name = "DocNum") и не надо UpperCase
Евгений
@Json(name = "DocNum") и не надо UpperCase
да сделаю я ))) эт просто плагин сгенерил )
Mike
Собственно а почему нет? Лишние плюшки, чтобы забить dex этим надо постараться
А почему бы не подключить ещё пару библиотек, которые не используешь? Тебе не кажется, что вопрос поставлен неверно?)
Artem
да сделаю я ))) эт просто плагин сгенерил )
плагин умеет сразу с аннотациями генерить
Artem
если это Kotlin-to-Json
Dmytro
Боже, вы какой вопрос то решаете ?
Artem
ой…. наоборот Json-to-Kotlin
Artem
вот этот умеет
Artem