
Глеб
07.12.2016
13:19:51
если у тебя при отображении фото появляется нужда в геоданных - тут явно что-то не так

balolam
07.12.2016
13:20:00
тем не менее, тут я бы использовал "?"

Глеб
07.12.2016
13:20:06
и попахивает сваливанием всего в одну кучу
и если эту кучу разгрести у тебя опять всё возвращается к методам, которые принимают только не-null значения, или вовсе не вызываются

Google

balolam
07.12.2016
13:21:41
Вот смотри, нам сейчас сложно тебе донести свою мысль, а все потому, что она глобальная, это общая концепция, которой стоит придерживатся при проектировании всех компонентов, но в отдельно взятом месте ты вот так ее не вкрутишь, особенно с учетом такой неопределенности с Null во всем приложении

Dmitriy
07.12.2016
13:21:59
Так вот еще для обсуждения) У меня есть модель например мне ее надо инициализировать пустую и по мере поступления заполнять данными. Получается мне все поля надо делать не нулловыми и как то их инициализировать

Глеб
07.12.2016
13:22:27
нет, не получается. Инициализируй null-ами

Dmitriy
07.12.2016
13:22:27
Я понял про let и как с ним работать спасибо

Глеб
07.12.2016
13:22:45
но ты ведь не по одному атрибуту будешь наполнять

Dmitriy
07.12.2016
13:22:49
ну тогда везде все делать через let
По 1

Глеб
07.12.2016
13:23:08
можно пример?
лучше кодом

Dmitriy
07.12.2016
13:23:15
нажал кнопку получил значение записал, нажал другую получил записал
не нажимал вторую так и осталось там пусто

Глеб
07.12.2016
13:23:53
и это в модели?

Dmitriy
07.12.2016
13:24:08
Объект в котором 2 поля : 1строка имя объект кот

Google

Dmitriy
07.12.2016
13:24:21
нажали на кнопку с именем записали в первое поле имя
а вот кота мы не покупали и все
Тогда в основном объекте это поле будет нулловым и раз так то его везде писать через let
Да обезопасит от падения при пустоте но читаемость и it хелл в подарок

Глеб
07.12.2016
13:25:44
меняй структуру данных
у тебя получился список покупок

Max
07.12.2016
13:30:02
Как recyclerview принудительно заставить отрисовать все эелементы? Чтобы он не занимался этим во время листания списка

Mikhail
07.12.2016
13:30:50
Но это же противоречит концепции

Глеб
07.12.2016
13:30:51
эм... а смысл?
Или имеется ввиду прогнать inflate всех viewType?

Max
07.12.2016
13:31:16
Количество элементов фиксировано и не изменится. Смысл в кастомном LayoutManager
то есть при открытии активити, нужно чтобы уже были отрисованы все элементы recyclerview. Вот чего я пытаюсь добиться.

Глеб
07.12.2016
13:32:14
Ну если у тебя свой LayoutManager, то им и отрисуй
ведь именно он решает что и когда рисовать

Max
07.12.2016
13:34:40
ведь именно он решает что и когда рисовать
Сейчас будет совсем ламерский вопрос - в какой части? Название метода, переменной, что угодно, что поможет найти зацепку в документации.
LayoutManager не мой, я подгоняю его под свои нужды

Глеб
07.12.2016
13:35:35
ухх...
https://habrahabr.ru/company/eastbanctech/blog/267497/
вот тут в деталях

Max
07.12.2016
13:36:58

Vusal
07.12.2016
13:45:43
Подскажите пожалуйста, почему на первом телефоне не так загружается приложение, как на втором
приложение на opengl es 2 + пару функций из es 3, glsl version 300 es

Google

Vusal
07.12.2016
13:48:04
второй скрин - meizu m3s , android 5.1
ситуация как на первом скрине была на nexus5 и samsung galaxy tab A
оба на android 6.0.1

Глеб
07.12.2016
13:50:20
Боюсь спецов по OpenGL по пальцам пересчитать можно

Vusal
07.12.2016
13:51:46
А вообще имеет ли смысл выкладывать в маркет что нибудь написанное на opengl es, а не с помощью фреймворка, например libgdx

Nikita
07.12.2016
13:52:38
Вай нот

Vusal
07.12.2016
13:54:41
ну вот в плане поддержки устройствами

Mikhail
07.12.2016
13:55:28
@thedragonspb Возможно по твоему вопросу надо узнать в чятике по NDK
https://telegram.me/ndk_ru

Nikita
07.12.2016
13:55:55
@ndk_ru

Mikhail
07.12.2016
13:56:01
Ну или так

Vusal
07.12.2016
13:56:01
Спасибо, сейчас там спрошу

Kirill
07.12.2016
13:59:59

Boris
07.12.2016
14:02:18
Ребят посоветуйте грамотный сайт для начинающих, и канал на ютубе. С каналами вообще беда. На английском хорошие есть, но на русском не найти.

Dmitriy
07.12.2016
14:03:14

Сергей
07.12.2016
14:03:20

Konstantin
07.12.2016
14:03:30

Глеб
07.12.2016
14:03:43
такая штука не правится локально

Boris
07.12.2016
14:04:04
Спасибо

Dmitriy
07.12.2016
14:04:53
Или я не все понял)

Google

Глеб
07.12.2016
14:05:10
ты не всё понял
let превращает "может быть null" в "если не нулл - выполни блок, иначе - хай с ним"

Max
07.12.2016
14:06:45

Dmitriy
07.12.2016
14:06:47
Ааа вон оно как а если сам объект может быть нул но в нем есть параметр который содержит еще парам и в нем так же и так далее и любой может быть нул но добраться надо до последнего0
то надо гарисовать УЖАС из let?

Глеб
07.12.2016
14:08:32
Это не вопрос языка
Ты точно также можешь на яве как следует задуматься и сделать так, чтобы null'ов не было

Quantum Harmonizer
07.12.2016
14:09:12
не let, а ?.let

Глеб
07.12.2016
14:09:19
kotlin только помогает контролировать это

Viktor
07.12.2016
14:09:20
https://kotlinlang.org/docs/reference/null-safety.html#safe-calls

Dmitriy
07.12.2016
14:09:53

Глеб
07.12.2016
14:10:43
не всё так однозначно :) .let без ? тоже валидно
bla.bla.bla.important.let{ it == important }
как-то так
чтобы вызвать it.one(); it.two(); it.three() без bla.bla.bla

Dmitriy
07.12.2016
14:13:56
Короче понятно) надо учить всю сахарность языка) но за месяц я мало познал)

Глеб
07.12.2016
14:15:04
не совсем так
вообще не сильно понятно зачем тебе понадобился котлин с таким подходом

Google

Dmitriy
07.12.2016
14:16:04
Эххх еще бы время на это выделить) а то получается все только в процессе разработки(

Глеб
07.12.2016
14:16:24
без понимания что делать с null-safety у котлина всего пара плюсов - лямбды и extension-методы
так что сначала надо было прийти к пониманию что делать с явой, а потом уже бежать на котлин

Dmitriy
07.12.2016
14:17:18

Глеб
07.12.2016
14:17:39
просто вся эта сахарность становится очевидной, если понимать откуда ноги растут

Artem
07.12.2016
14:18:56

Глеб
07.12.2016
14:19:26
.let - extension метод. public inline fun <T, R> T.let(block: (T) -> R): R = block(this)

Sergey
07.12.2016
14:19:37
Гайз! Кто юзает стехо+реалм, гляньте как у вас подключена либа stetho_realm
У меня AS ругается :
Error:(36, 13) Failed to resolve: com.uphyca:stetho_realm:2.0.0
Раньше её не юзал, а щас оч. надо поля в БД посмотреть.

Глеб
07.12.2016
14:19:52
? - замена if(this != null) {...}
соединяешь вместе - получаешь профит

Artem
07.12.2016
14:20:59

Denis
07.12.2016
14:21:01

Artem
07.12.2016
14:22:04

Denis
07.12.2016
14:22:15
;D

Max
07.12.2016
14:24:33

Dmitriy
07.12.2016
14:25:59
Но проблему с flatmap для observable так и не раскопал)