Программируем приложение Pikabu для Android (Часть 4)

Привет, товарищи! Продолжаем рассказ (кто пропускает, догоняем)

Часть 1 - http://pikabu.ru/story/zadolbalo_ili_kak_smotret_pikabu_v_te...

Часть 2 - http://pikabu.ru/story/kak_smotret_pikabu_v_telefone_bez_rek...

Часть 3 - http://pikabu.ru/story/kak_smotret_pikabu_v_telefone_bez_rek...


А я напомню, что мы программируем мобильное приложение для просмотра ресурса Pikabu

Программируем приложение Pikabu для Android (Часть 4) Пикабу, Android, Программирование, Длиннопост

Что на сегодня? В данном посте я расскажу, как добавлялись финальные изменения в программе, и о том, что хотелось бы интегрировать. Побежали.


Первым делом, было решено добавить легенький прогресс бар загрузки страницы. И правда, ведь не все сидят на портале через суперскоростной вай фай, и некоторые испытывают мучения перед загрузкой ленты. Открываем студию, рисуем:

Программируем приложение Pikabu для Android (Часть 4) Пикабу, Android, Программирование, Длиннопост

Что засветилось в куске кода:

- Элемент ProgressBar. Зачем он нужен, думаю понятно. Задача сделать так, чтобы при загрузке страницы он показывался, а после оного процесса скрывался и не мозолил глаза.


- Элемент FAB (android.support.design.widget.FloatingActionButton) - это виджет из библиотеки совместимости Android (чтобы на страрых девайсах работали новые фишки), впервые был представлен в Android L. На нашем экране таких кнопок 3.


В редакторе выглядит так:

Программируем приложение Pikabu для Android (Часть 4) Пикабу, Android, Программирование, Длиннопост

И немого поближе (отложите лупу в сторону)

Программируем приложение Pikabu для Android (Часть 4) Пикабу, Android, Программирование, Длиннопост

Отлично, ProgressBar детектед. Пишем для него код:

Программируем приложение Pikabu для Android (Часть 4) Пикабу, Android, Программирование, Длиннопост

Тут засветилось два метода:


- onPageStarted (что делать при загрузке страницы) текущий параметр - VISIBLE, то есть, полоска крутится и вертится. Второй метод делает все наоборот.


Кроме этих двух методов, стандартно надо объявить метод в коде, и присвоить ему айди (в нашем случае это элемент в слое)


На устройстве выглядит так (сволочь никак не хотела ловиться, поймал только кусочек):

Программируем приложение Pikabu для Android (Часть 4) Пикабу, Android, Программирование, Длиннопост

Далее, мы добавим раздел О сайте. Удивительно (ахтунг), но многие не знают, как ресурс появился, или откуда взялся логотип Печеньки.


С него и начнем.

Программируем приложение Pikabu для Android (Часть 4) Пикабу, Android, Программирование, Длиннопост

До этого я не показывал процесс рисования слоя, на самом деле это не сложно. Просто перетаскиваем нужные элементы, выравниваем, задаем отступы и прочее. Почти как в Html редакторе.


В куске кода засветилось:

- RelativeLayout - начальный слой, он задает основные отступы и размеры, от которых отталкиваются все последующие слои

- ScrollView - Прокручиваемый слой (переводчик из меня конечно огонь) - в общем, слой, который позволяет скроллить элементы внутри него, если они не умещаются на одном экране.

- LinearLayout - Линейный слой, в нашем случае он основной. Все элементы в этом слое располагаются линейно, и никуда не прыгают. Все строго друг за другом.


Смотрим, что получилось в редакторе (на устройстве точно также):

Программируем приложение Pikabu для Android (Часть 4) Пикабу, Android, Программирование, Длиннопост

Вот и все! =)


На самом деле в приложении еще очень много чего нужно делать, ближайший вопрос - расходование памяти.


Фишка в том, что лента Пикабу - по большому счету (для многих) бесконечная лента. То есть по мере подхода к концу, она подгружается с сервера. Это проблема для мобильных устройств, т.к. у них не так много памяти как на ПК, соответственно, после очень долгого листания приложение жрет много ресурсов. Это плохо.


Второй момент - интегрирование новых развлекательных плюх. Например, в этом обновлении вы увидите новую кнопку на заглавном экране, но она не работает, а только дает подсказку, что будет интегрировано. Функция предполагает получать отдельный рейтинг в приложении, а также какие нибудь ачивки.


Ресурс (или показатель крутости) - кексики. Чем их больше у тебя - тем круче =)


Также эта функция может служить для частичной монетизации приложения на добровольной основе (Напомню, моя программа как была бесплатной, такой и останется!)


Расскажите, что Вы об этом думаете!


И да, отдельное спасибо домохозяйкам, которые дочитали до конца! Вы можете бесплатно и без рекламы увеличения члена на 5 метров скачать мое приложение, и пользоваться им вечно! Взамен - спасибо, и конструктивный отзыв, если что то не устроило.


Ссыль:

http://4pda.ru/forum/index.php?showtopic=720038&st=0#ent...

https://play.google.com/store/apps/details?id=xyz.oneclickst...