Size: a a a

Android Developers

2021 January 13

S

Silent829 in Android Developers
Roman Chumachenko
Вот пример, где я это использовал на прошлом проекте: сложная фича и мало времени, под конец дня заканчиваю, начинаю тестить, а фича тупо не вызывается. Списал на ошибку выше по стеку, а оказалось, что на ?. безопасный вызов стоял там, где нала быть вообще не должно. В итоге в том месте переписал на дабл бэнг (!!), потому что между "не вызвалась критическая фича" и "моментально упала на смоуке" удобнее второе - сразу получал в стактрейсе место краша. С requireContext - с моей точки зрения - похожая ситуация. Алсо: часто вызываешь context в тех колбэках фрагмента, где он ну точно будет и приходиться орать !! в коде просто так
я понимаю оба типа людей, но мне кажется надо просто в любом кэч-блоке выводить ошибку на юай, пусть лучше тоаст даже будет
источник

S

Silent829 in Android Developers
Denny Yats
можете привести пример приложения где применяется и bottom navigation, и bottom navigation drawer и/или как это лучше-правильнее сделать?
GitFox, но мне кажется Константину надо обновить проект немного
источник

S

Silent829 in Android Developers
Сергей П.
Никто ничего не старается.
Бэк пишут отдельные люди котрые эти котлины шмотлины в гробу видали
а как же nodejs, go?
источник

ℕo ℕame in Android Developers
Silent829
а как же nodejs, go?
Ты весь чат там перечитываешь?
источник

АГ

Алексей Гладков... in Android Developers
Lessej
будьте любезны подскажите

private Single<List<Person>> mPerson;   
   private MutableLiveData<List<Person>> currentList = new MutableLiveData<>();

Как добавить в SingleObserver-e в методе onSuccess этот объект из mPerson в основной currentList?

 @Override
                   public void onSuccess(List<Person> people) {
                       currentList. /*вот здесь че писать?... */ (people);
                   }
postValue
источник

S

Silent829 in Android Developers
Egor Sigolaev
Мне это ни о чём не говорит. Завтра буду разбираться что это такое )
представь тебе гугл не дает поменять бекграунд у какой-то вьюхи через апи, и ты вместо того чтобы сделать свою вьюху или забить на это дело (потому что к примеру гайдлайны), идешь циклом по дереву вьюшек, находишь по приватному ключу внутри мапы эту вьюшку и меняешь бэкграунд, а от гугла прилетает апдейт который меняет ключ этой вьюшки или еще чего и если ты это никак не обработал, у всех будет краш)
источник

S

Silent829 in Android Developers
ℕo ℕame
Ты весь чат там перечитываешь?
ага
источник

a

akella122⌬ in Android Developers
Пытаюсь сделать async корутину, зависимость для андроида добавил, но почему-то не находится async, UI и тд
источник

a

akella122⌬ in Android Developers
мне нужно определенную задачу выполнить(парсинг листа) и потом этот лист вернуть, сказали мол либо кальэк из потока, либо корутины. Вот пытаюсь в корутины
источник

LS

Live Supstation in Android Developers
Привет. может кто сталкивался: есть ItemTouchHelper при свайпе он проверяет состояние checkBox если true то удаляет элемент из бд если false то ничего не делает. Все работает только есть одно но. Не важно стоит checkbox или нет элемент все равно улетает в пустоту, но в базе он все равно есть. При обновлении списка он опять появляется. Вопрос: есть ли способ что бы при свайпе он появлялся в списке сразу?
источник

A

Ak in Android Developers
Silent829
Ты путаешь кажется с тем что было в 1-2 андроиде
Возможно
источник

A

Ak in Android Developers
Live Supstation
Привет. может кто сталкивался: есть ItemTouchHelper при свайпе он проверяет состояние checkBox если true то удаляет элемент из бд если false то ничего не делает. Все работает только есть одно но. Не важно стоит checkbox или нет элемент все равно улетает в пустоту, но в базе он все равно есть. При обновлении списка он опять появляется. Вопрос: есть ли способ что бы при свайпе он появлялся в списке сразу?
Да
источник

⋑ 404 ⋐ in Android Developers
Подскажите есть какая нибудь книга для создания анимации на котлине?
источник

A

Ak in Android Developers
Live Supstation
Привет. может кто сталкивался: есть ItemTouchHelper при свайпе он проверяет состояние checkBox если true то удаляет элемент из бд если false то ничего не делает. Все работает только есть одно но. Не важно стоит checkbox или нет элемент все равно улетает в пустоту, но в базе он все равно есть. При обновлении списка он опять появляется. Вопрос: есть ли способ что бы при свайпе он появлялся в списке сразу?
notifyItemChanged()
источник

A

Ak in Android Developers
Live Supstation
Привет. может кто сталкивался: есть ItemTouchHelper при свайпе он проверяет состояние checkBox если true то удаляет элемент из бд если false то ничего не делает. Все работает только есть одно но. Не важно стоит checkbox или нет элемент все равно улетает в пустоту, но в базе он все равно есть. При обновлении списка он опять появляется. Вопрос: есть ли способ что бы при свайпе он появлялся в списке сразу?
Вызови этот метод в методе onSwipeDelete()
источник

a

akella122⌬ in Android Developers
Ребят, хотел использовать решение отсюда https://stackoverflow.com/questions/43132080/kotlin-coroutines-the-right-way-in-android ибо оно должно мне подойти, но не могу ибо Android Studio помечает все(aync, ui, CommonPool) красным и предлагает создать свои классы. Проблема в том, что у меня есть определенный класс, который мне парсит из интернета ArrayList, который я в последствии хочу скормить адаптеру RecyclerView, но не могу его перебросить в тот поток с ресайклом ни из потока, ни из корутины
источник

MM

Meir Mamyrbekov in Android Developers
Добрый день, извините за беспокойство. Можете подсказать, запросы бесконечно идут

@Multipart
@POST("*")
fun finishExercise(
   @Part("answer") answer: RequestBody,
   @Part("lesson") lessonId: RequestBody,
   @Part("user") userId: RequestBody,
   @Part videos: Array<MultipartBody.Part?>?
): Call<LessonDataResponse>
источник

MM

Meir Mamyrbekov in Android Developers
fun finishExercise(
       answer: String,
       lessonId: Int,
       userId: Int,
       videos: List<ExerciseAttachment>
   ): Call<LessonDataResponse> {
       val answerBody: RequestBody = RequestBody.create(
           MediaType.parse("text/plain"),
           answer
       )
       val lessonBody: RequestBody = RequestBody.create(
           MediaType.parse("text/plain"),
           lessonId.toString()
       )
       val userBody: RequestBody = RequestBody.create(
           MediaType.parse("text/plain"),
           userId.toString()
       )

       val videoParts = arrayOfNulls<MultipartBody.Part>(videos.size)
       for (index in videos.indices) {
           val path = videos[index].url.path
           if (path != null) {
               val file = File(path)
               val surveyBody = RequestBody.create(
                   MediaType.parse("video/*"),
                   file
               )
               videoParts[index] = MultipartBody.Part.createFormData(
                   "videos",
                   URLEncoder.encode(file.name, "utf-8"),
                   surveyBody
               )
           }
       }
       return api.finishExercise(
           answerBody,
           lessonBody,
           userBody,
           videoParts
       )
   }
источник

VU

Vadim Uzbekov in Android Developers
akella122⌬
Ребят, хотел использовать решение отсюда https://stackoverflow.com/questions/43132080/kotlin-coroutines-the-right-way-in-android ибо оно должно мне подойти, но не могу ибо Android Studio помечает все(aync, ui, CommonPool) красным и предлагает создать свои классы. Проблема в том, что у меня есть определенный класс, который мне парсит из интернета ArrayList, который я в последствии хочу скормить адаптеру RecyclerView, но не могу его перебросить в тот поток с ресайклом ни из потока, ни из корутины
Это устаревший апи корутин
источник

VU

Vadim Uzbekov in Android Developers
CoroutineScope(Dispatchers.Main для главного либо Dispatchers.IO для ввода-вывода).launch либо async
источник