
Quarx2k ?
27.03.2017
22:42:57
class test {
String a;
String b;
}
Даже точнее так
Class AnyName {
Test test
}
class Test {
String a;
String b;
Либо просто
Либо Map<String, String>
}
Тогда выйдет именно как ты написал

Юсуф
27.03.2017
22:51:16
еще лучше с gson

Wladižlaw ?
27.03.2017
22:58:31
Какую рекламную платформу выгодней всего подрубить для приложения с 15к активных юзеров, если я хочу показывать нативную рекламу и возможно экраны (но пока хз)

Google

Андрей
27.03.2017
22:58:51
> Либо Map<String, String>
ну да - ну да
Map<String, String> test = new HashMap<>();
test.put("a", "aaaa");
test.put("b", "bbbb");
Map<String, Object> requestParams = new HashMap<>();
requestParams.put("test", test);

Ivan
27.03.2017
22:58:53
Прошу помощи. В AndroidStudio имя класса, где вкладка, подчеркнуто красным. Как быстро найти строку с ошибкой? 2 минуты уже не могу найти.

Андрей
27.03.2017
23:00:04
справа, возле скрола, должен бить красный прямоугольник в том месте

Wladižlaw ?
27.03.2017
23:00:22

Ivan
27.03.2017
23:01:36
Благодарю!

Dim
28.03.2017
00:07:09
Народ, кто делал триальные проги для Google Play? Как это делается?
все, нашел в официальных примерах.

Никита
28.03.2017
03:44:29
омг да сколько можно СДК обновлять?! каждый день по 600 метров

Dim
28.03.2017
03:45:20

Никита
28.03.2017
03:49:18
ну сейчас качает сапорт либы, тулзы и эмуль
http://image.prntscr.com/image/4d2639188bc94ae9b885e619ab910299.png

Yergali
28.03.2017
03:51:39
всем привет

Google

Dim
28.03.2017
03:53:52

Yergali
28.03.2017
03:56:01
кто юзал google chart как увеличить размер процента внутри диаграммы?
вопрос не актуален

Ivan
28.03.2017
04:12:01
наброшу - https://github.com/brianegan/bansa
как по мне так если что-то подобное сцепить с mvi будет вообще красота,правда сам mosby-mvi хранит стейт в себе и это немного ломает идею стора и редюсера

NermaN
28.03.2017
04:12:05
Android Studio чето стал мертво зависать ни с того ни с сего под маком
Да и под виндой тоже
Кто знает к чему бы это

Никита
28.03.2017
04:14:49

fulld
28.03.2017
04:45:40
Автообновления отрубать надо
Так проще не отвлекаться на "всё сломалось"

Никита
28.03.2017
04:58:33
Подскажите какой-нибудь паттерн для работы с фрагментами
Не должен же фрагмент с фрагмент менеджером общаться?

Ilya
28.03.2017
05:12:46
почему нет? есть же getChildFragmentManager()

Никита
28.03.2017
05:13:56

Ilya
28.03.2017
05:14:45
ну согласен

Никита
28.03.2017
05:14:54
Вот я и думаю, у меня происходит некоторое события в первом фрагменте, и мне надо реплэйснуть первый фрагмент вторым и передать в него строку

Ilya
28.03.2017
05:15:30
можно через евентбас это сделать, можно через колбек

Никита
28.03.2017
05:16:36
Ну т.е. просто во фрагменте cameraFragment = CameraFragment.newInstance();
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, cameraFragment, CAMERA_FRAGMENT_TAG)
.commit(); это совсем деревянно?

Ilya
28.03.2017
05:18:20
а как по другому один фрагмент на другой заменить?

Google

Ilya
28.03.2017
05:18:51
я так делаю у себя. Может тут кто-нибудь лучше метод знает

Никита
28.03.2017
05:19:26
Я имею в виду кто это должен делать? Сам фрагмент или активити-контейнер?

Ilya
28.03.2017
05:20:43
у меня это делает активити. В первом фрагменте я вызываю коллбек активити, и активити подменяет первый фрагмент вторым

Никита
28.03.2017
05:21:47

Ilya
28.03.2017
05:23:09
чет я не понял

Никита
28.03.2017
05:23:25
XD
ну блин...Callback объект из активити во фрагмент ты как передаешь?

Ilya
28.03.2017
05:23:56
а понял

Todor
28.03.2017
05:26:25
В он аттач лучше всего кастить, читал

Gleb
28.03.2017
05:26:28
? Господа, если уж передаёте callback во фрагмент...)))
тогда уж легче MainActivity.this.doSomething() дернуть прям из фрагмента оттуда где надо)))

Askar
28.03.2017
05:27:35

Ilya
28.03.2017
05:27:37
короче, я тоже делаю так, как господа выше ответили - через onAttach

Никита
28.03.2017
05:27:50

Askar
28.03.2017
05:27:51

Юсуф
28.03.2017
05:29:00
Почему во фрагменте ссылка на контекст не работает? Т.е. если сохранить как context = getActivity(), то этот контекст не работаеь

Gleb
28.03.2017
05:29:19

Никита
28.03.2017
05:29:45

Askar
28.03.2017
05:30:05

Никита
28.03.2017
05:30:24

Google

Askar
28.03.2017
05:30:35

Юсуф
28.03.2017
05:33:37
Так то оно так, можно юзатб гетактивити
Но почему ссылка не работает?


Gleb
28.03.2017
05:37:05
А как НЕ забивать? есть best practices?
Да, посмотри доки, видюхи...очень много было про фрагменты.
Или попробуй заимплементить Master/Detail - там сразу будет понятно как они и зачем.
Ну в общем виде - у тебя фрагмент - это вполне себе автономный модуль, который живёт своей жизнью самостоятельно.
Наружу торчат кнопочки и переключатели (public методы, сеттеры/геттеры), а сам о внешнем мире знает только между onAttach/onDetach - в этом промежутке ему будет доступна активность, к которой его приаттачили.
Как сказали выше ребята, твой фрагмент, также может внутри иметь публичный интерфейс - который обязательно должен быть заимплеменчен теми активностями, которые хотят с ним работать (иначе IllegalArgumentException - по гайдам) и в onAttache когда ты получаешь экземпляр активности - приводишь её к этому интерфейсу. Это должно быть единственной точкой соприкосновения с внешним миром.
И тогда ты можешь использовать один и тот же фрагмент в разных частях приложения.


Askar
28.03.2017
05:39:50
?
Никита когда создаешь новую активити с фрагментом из темплэйтов студии, там нагенерен код, о коротом выше пишет Глеб, с интерфейсами и коллбэками

Admin
ERROR: S client not available

Никита
28.03.2017
05:41:21
Всё я понял про колбек
@Override
public void onAttach(Context context) {
super.onAttach(context);
if (context instanceof OnFragmentInteractionListener) {
mListener = (OnFragmentInteractionListener) context;
} else {
throw new RuntimeException(context.toString()
+ " must implement OnFragmentInteractionListener");
}
}
забыл что контекст есть от активити...

Gleb
28.03.2017
05:45:21

Todor
28.03.2017
05:52:32

Gleb
28.03.2017
05:56:05
Имхо, нулл-чекинг лучше выглядит, чем стаб)
ну... это уже ... вопрос вкуса, хотя мне тоже так кажется, что нул чек всёж по-удобнее))
главное - принцип
(не забывать действовать зеркально в ЖЦ(везде, не тока во фр-х),
и помнить что есть жизнь за пределами onDetach/onAttach)

Хикка
28.03.2017
05:56:34
)

Никита
28.03.2017
05:59:21
Аминь
WTF? У меня у SurfaceView в xml стоят wrap_content, затем в onResume() фрагмента я задаю ему конкретные ширину и высоту. Просто при старте приложения все нормально показывает высоту 720, а когда попает фрагмент из бэкстека то сурфейс становится на весь экран растянут, хотя surfaceView.getLayoutParams().height всё также возвращает 720
Анужен ли этот бэкстек или делать реплейс фрагмента по бэкпресс тоже норм?

Dmitry
28.03.2017
06:44:31

Gleb
28.03.2017
06:44:51
Поробуй SurfaceView заменить на TextureView.
Если проблема останется, значит что-то у тебя в коде не правильно
Если проблема уйдет, а нужен всё-таки именно SurfaceView, значит то что окрывается поверх - делай в отдельной активности

Никита
28.03.2017
06:49:43

Google

Gleb
28.03.2017
06:50:06

Семен
28.03.2017
06:52:31
У гугла есть на гитхабе хороший код
С камерой серфейсвью и тексчурвью
Cameraview-library вроде

Никита
28.03.2017
07:00:30
Блин. и правда если открывать активити новое то при возврате всё норм...
А держать активити только ради 1 фрагмента это тоже не оч?

Askar
28.03.2017
07:04:13

Никита
28.03.2017
07:05:19
по-моему, вполне норм)
Я помню у Udacity были такие учебные проекты, куча активити у каждой всего 1 фрагмент... А в чем смысл?

Anton
28.03.2017
07:06:26
Ну они так хотят чтобы активити был чисто контейнером
Не важно один там фрагмент или много

Ivan
28.03.2017
07:15:22


Gleb
28.03.2017
07:27:28
А держать активити только ради 1 фрагмента это тоже не оч?
Тут скорее ноги растут из другого ?
Вообще по идее для захвата из камеры - используется универсальный интент, который сделает тебе capture стоковым приложением (кстати, там тож вряд ли в той же активити открывают фрагменты поверх - обычно либо выскакивают кнопочки с настройками, либо уже др активность).
Но допустим, в твоём случае нужна именно своя камера, от этого суть не меняется - ты пишешь полностью свой аналог CaptureCameraActivity, которая вот тока кэпчуром(with preview) и занимается. Всё остальное - не её задача, и чему-то другому, каким-то навигациям/переходам внутри - там-то особо и нечего делать.
Это всё тот же - startActivitForResult для захвата видео/картинки, только твой собственный.


Никита
28.03.2017
07:30:35
Тут скорее ноги растут из другого ?
Вообще по идее для захвата из камеры - используется универсальный интент, который сделает тебе capture стоковым приложением (кстати, там тож вряд ли в той же активити открывают фрагменты поверх - обычно либо выскакивают кнопочки с настройками, либо уже др активность).
Но допустим, в твоём случае нужна именно своя камера, от этого суть не меняется - ты пишешь полностью свой аналог CaptureCameraActivity, которая вот тока кэпчуром(with preview) и занимается. Всё остальное - не её задача, и чему-то другому, каким-то навигациям/переходам внутри - там-то особо и нечего делать.
Это всё тот же - startActivitForResult для захвата видео/картинки, только твой собственный.
Так и передалал, в cameraActivity камера+превью+реалтайм интерфейс ну и после фотки стартует новое активитии туда отдаётся путь на фотку.
Еще вопрос мне поравился как во фрагментах сделан метод newInstance() и я написал такой же только для активити - newIntent(), такое вообще пользуется?
типа
public static Intent newIntent(Context context, String imagePath) {
Intent intent = new Intent(context, CropActivity.class);
intent.putExtra(IMAGE_PATH_KEY, imagePath);
return intent;
}


Askar
28.03.2017
07:34:15
может цели немного разные