OneClickStudio

OneClickStudio

Пикабушник
Дата рождения: 6 августа
leonid65
Гость и еще 1 донатер

Отремонтировать компьютер

Друзья! Основной компьютер для программирования (стационарный ПК) приказал долго жить, и в нем требуется заменить блок питания и материнскую плату. Если пост (или серия) окажутся полезны для вас, сказать "спасибо" можно через систему донатов. Обязательный отчет по завершении сбора будет опубликован в сообществе.

500 8 500
из 9 000 собрано осталось собрать
2323 рейтинг 237 подписчиков 39 подписок 49 постов 9 в горячем
Награды:
С Днем рождения, Пикабу!5 лет на Пикабу
12

Material Design - Пора обновляться (Часть 2)

Привет, жители Пикабу!


Продолжаем рассказ о программировании, а именно о обновлении дизайна в мобильных программках.


В прошлый раз мы обновляли приложение на стадии загрузки (новая иконка, новый экран приветствия, новая библиотека со слайдером). Теперь пришла пора прокачивать экраны приложений.


Для чистоты эксперимента я буду использовать совсем другое приложение, дабы хитрая школота часть контингента не подумала что я продвигаю конкретную аппу. Поехали.


Для начала скриншот того, что было:

Material Design - Пора обновляться (Часть 2) Android, Программирование, Длиннопост

Представленное приложение - неофициальный клиент одноименного сайта (раз своего нет), ну и фиг с ним.


Рисуем новый экран загрузки. Так как Material Design позиционируется как скорее плоский стиль, взамен старых объемов (привет, iOS), мы максимально упростим все что есть.


Берем новый логотип из общеизвестных поисковиков, максимально обрезаем его:

Material Design - Пора обновляться (Часть 2) Android, Программирование, Длиннопост

Теперь нам надо залить этим же цветом всю оставшуюся часть экрана, а также статус бар (эффект заметен начиная от версии android 5.x.x и круче) Для взятия пробы цвета подойдет любой графический редактор. На выходе имеем следующее:

Material Design - Пора обновляться (Часть 2) Android, Программирование, Длиннопост

Далее мы будем переделывать главный экран. Но перед этим лирическое отступление.


Очень не люблю ковырять старый код, так как это забирает очень много времени. Даже не потому, что сложно сделать костыль, или вспомнить, какой метод за что отвечает (прости господи делать для каждой строчки кода сочинение на тему как я ЭТО заставил работать). Но от понимания того, что всяко разно выходит лучше и организованнее написать все с нуля, приходится делать именно так.


На самом первом скриншоте видно, что экран представляет собой список в одной категории. Если поменять категорию, соответственно меняется список.


Сносим все это дело (попутно сохранив нужные кусочки кода), пересоздаем активность (теперь в ней еще будет Navigation Drawer), и рисуем новый экран. Использовать будем CardView, и разместим почти всю навигацию внутри этих карточек.

Material Design - Пора обновляться (Часть 2) Android, Программирование, Длиннопост

Для красоты интерфейса нам нужно подобрать соответствующие картинки. К примеру, в разделе Каталог неплохо было бы поместить изображение корзинки, в разделе Распродажи подойдет символ процента, и так далее.


Лезем на ресурс из прошлого занятия поста: http://www.freepik.com


Мы подобрали картинки по следующим запросам - Support, Sale, Cart

Material Design - Пора обновляться (Часть 2) Android, Программирование, Длиннопост

Предварительно я обрезал картинки, залил необходим цветом, такие процедуры не нуждаются в отдельном рассмотрении.


Слой будет содержать следующие элементы:


- RelativeLayout (корневой слой)

-- ScrollView (vertical, для скроллинга вверх/вниз)

--- LinearLayout (vertical для отображения всех элементов друг после друга)

---- android.support.v7.widget.CardView (наша карточка)

-----RelativeLayout (корневой слой внутри катрочки)

------ImageView (картинка)

------TextView (текст)

-----/RelativeLayout (закрываем корневой слой в карточке)

/ (закрываем все остальные элементы)


Получилось следующее:

Material Design - Пора обновляться (Часть 2) Android, Программирование, Длиннопост

Итак, один элемент готов. Это своеобразное напоминание. В дальнейшем этот элемент будет доработан, и для него будет написан код.


Рисуем остальные карточки. Повторяем процедуру описанную выше, играемся с позиционированием элементов, отступами, и так далее. На выходе имеем:

Material Design - Пора обновляться (Часть 2) Android, Программирование, Длиннопост

А на реальном устройстве выглядит следующим образом:

Material Design - Пора обновляться (Часть 2) Android, Программирование, Длиннопост

В боковое меню (Navigation Drawer) мы тоже добавим свои иконки, я беру их из общего источника Гугл Инкорпорейтед: https://design.google.com/icons/


На момент написания поста иконки были не у всех элементов, но принцип один и тот же:

- Скачиваем иконку (архив с готовыми разрешениями)

- Добавляем необходимые размеры в наше приложение (для меню подходит 24dp, для интерфейса лучше взять 48dp

- Задаем эти иконки в коде (или в слое, кому как удобнее)

- Радуемся жизни =)

Material Design - Пора обновляться (Часть 2) Android, Программирование, Длиннопост

Спасибо, что дочитали до конца! В следующий раз мы будем работать над самим каталогом, посмотрим на элемент Coordinator, и глянем, какие крутые штуки он умеет.


P.S. мои дорогие подписчики! Если я начал выкладывать котиков, значит школота интеллигенция портала жестом однокнопочного рукоблуда руки поставила минусы, и я восполняю баланс в мире =)

Показать полностью 9

Программируем мобильный справочник (Часть 1, Макеты)1

Привет, пипл!


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


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

- Каталог мест и услуг

- Карта (может кто заблудился)

- Расписание общественного транспорта

- Погодный виджет (кто вообще не в теме)

- По ходу программирования можно добавить еще полезняшек, кто что предложит


Начинать будем с макетов, и понимания того, как приложение должно функционировать. Поехали!

Программируем мобильный справочник (Часть 1, Макеты) Android, Программирование, Mysity, Гифка, Длиннопост

Первым делом, нам необходимо понять, как приложение будет работать. На его основе мы будем рисовать макеты, и под них будет срабатывать определенный код.


Для этого я подготовил небольшую зарисовочку:

Программируем мобильный справочник (Часть 1, Макеты) Android, Программирование, Mysity, Гифка, Длиннопост

На картинке накалякано нарисовано четыре экрана (заставка не в счет). Коротко о каждом.


Главный экран - Собственно он на то и главный. В нем будет присутствовать:


1) Информация о погоде

2) Кнопка (для перехода в каталог как я планирую)

3) Небольшой бокс (что то типа часто используемых ссылок)

4) Еще один бокс для рекомендованных приложений (например, чтобы посмотреть какое то место на карте, понадобится приложение карты)


Плюс я добавляю стандартные инструменты (выезжающее меню Navigation Drawer) + графические элементы из Android 5.0 (Collapsing Layout + Coordinator Layout)


Чтобы вы имели представление этих непонятных букв - вот вам пример Collapsing Layout + Coordinator Layout:

Программируем мобильный справочник (Часть 1, Макеты) Android, Программирование, Mysity, Гифка, Длиннопост

Теперь рисуем на нашем устройстве:

Программируем мобильный справочник (Часть 1, Макеты) Android, Программирование, Mysity, Гифка, Длиннопост

После написания огромного количества букв (описывать не буду этот ужас) у нас появились почти все элементы. Но так как для них не написан код, это будет просто пустое пространство.


При запуске активности изображение полностью развернуто:

Программируем мобильный справочник (Часть 1, Макеты) Android, Программирование, Mysity, Гифка, Длиннопост

Обычным жестом вверх меню сворачивается, и заменяется стандартным цветом.

Программируем мобильный справочник (Часть 1, Макеты) Android, Программирование, Mysity, Гифка, Длиннопост

Далее. Экран категорий. Чтобы объяснить на языке домохозяек максимально просто, наши категории - это список, со вложенными изображениями + текст. 


А оригинальное название - CardView. Фишка добавлена также из Android 5.0, так что наша программка будет моднячей изначально. Смотрим пример из гайдов:

Программируем мобильный справочник (Часть 1, Макеты) Android, Программирование, Mysity, Гифка, Длиннопост

Теперь пишем для нашей программы. 

Программируем мобильный справочник (Часть 1, Макеты) Android, Программирование, Mysity, Гифка, Длиннопост

Medium Text в дальнейшем будет заменятся на название категории, картинка - соответственно тоже.

Программируем мобильный справочник (Часть 1, Макеты) Android, Программирование, Mysity, Гифка, Длиннопост

Теперь категория. 

В ней будет реализован список, из которого можно выбирать конкретное место. 

К примеру, в категории Развлечения возможен вложенный список из ресторанов, кафе и кинотеатров. 


На этом экране точно также реализуется метод Collapsing Layout, но картинка будет втрое уже. Пример такого слоя:

Программируем мобильный справочник (Часть 1, Макеты) Android, Программирование, Mysity, Гифка, Длиннопост

И наш экран. Кода очень мало, поэтому сразу покажу что получилось:

Программируем мобильный справочник (Часть 1, Макеты) Android, Программирование, Mysity, Гифка, Длиннопост

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


Например - для кафе "Черный раб" надо загрузить номер телефона, адрес, координаты с карт, плюс какое нибудь описание. Может, отзывы.


Но этот экран я показывать вам не буду, так как без данных он будет абсолютно пустым. Так что пока смотреть там нечего.


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


Спасибо тем, кто выдержал и дочитал! Пока без ссылок на программку (что вы там делать будете..). Предлагайте интересные моменты, выносите объективную критику. 

Показать полностью 11
0

Программируем приложение Pikabu для Android (Часть 5, Дизайн)

Привет, пикабушник!


Предыдущие части рассказа ищи в моем профиле.


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

ДОМОХОЗЯКИ, ВНИМАНИЕ! РАССКАЗЫВАЮ МНОГО НЕПОНЯТНОГО ВЕЩЕЙ! 

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

Итак, сегодня займемся дизайном. 


Хоть я и не являюсь пользователем с суперсовременной версией ОС Ведроид на телефоне, у приложения должны быть хоть какие то отсылки на стиль. Недаром же анонсировали плоский дизайн, кнопки и сиськи


Сегодня мы будем максимально возможно внедрять Material Design в свое приложение, попутно я расскажу какие фичи заменяют устаревшие, и что они дополнительно требуют.


1) ЦВЕТ


Если судить гайдлайнам от Гугл Инкорпорэйтед Энд Лимитед, для различных экранов программы можно (и нужно) задавать различные цветовые палитры, комбинируя их в различных вариациях. Окей. Нарисуем для каждого экрана свою палитру. Открываем стили:

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

Как можно судить по картинке, у каждого стиля появились собственные цвета. Например, Главный экран приложения теперь использует палитру Green, активность с настройками Purple, и так далее. Выглядят палитры следующим образом:

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

Это пример стандартной цветовой палитры.


Что из этого надо уяснить? Теперь, для ActionBar рекомендуют использовать производный цвет (например DeepPurple 500, а для статус бара брать цвет из той же палитры, но на 1-2 оттенка глубже (DeepPurple 600-700). Хорошо, мы так и сделали, смотрим.

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

Хорошо, начало положено. Идем дальше.


2) ВЫЕЗЖАЮЩИЙ СПИСОК


В современном приложении стандартно используется активность Navigation Drawer, который включает в себя слой, меню, и выезжающий список.


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

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

После добавления активности в коде сразу присутствуют все слои, меню и базовое наполнение, что приятно. Нам остается лишь переместить код, который мы использовали в прошлый раз в новую активность. И все =)

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

Из новинок тут можно лишь выделить новый обработчик, он реагирует на нажатия в том самом выезжающем меню. В остальном все стандартно. На устройстве теперь выглядит так:

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

Красиво? Красиво. Пригодится ли это в нашем приложении? Время покажет. Двигаемся дальше.


3) НАСЛЕДОВАНИЕ АКТИВНОСТЕЙ


Давайте сперва разберемся, что это за наследование, и для чего оно призвано. 


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

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

Представим, что это наша первая активность. Она чем то похожа (только тут какая то херня), и из этой активности можно переходить куда то еще.

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

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


Сложно для понимания, но мы добиваемся появления как раз этой стрелочки. Это часть соответствия единому стилю. Кодим:

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

В нашей активности мы изменили представление некоторых элементов (появился toolbar), и добавили одну строчку кода:

setDisplayHomeAsUpEnabled - этот метод как раз и позволяет выводить в баре заветную стрелку, но чтобы она заработала, надо унаследовать активность в главном файле приложения - манифесте:

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

Два условия в meta-data как раз указывают, откуда эта активность наследуется. Все, остальное компилятор сделает за нас.


Нам лишь остается повторить эту процедуру для всех активностей, которые у нас есть, и мы тоже получим такой же результат:

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

4) УВЕДОМЛЕНИЯ


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

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

Теперь им на смену приходят снекбары:

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

Это такие же уведомления, они прилеплены к одному из слоев, и отображают небольшое информативное сообщение.

Что из плюсов?

- Можно закрыть такое уведомление, смахнув пальцем слева-направо

- Можно добавить дополнительные кнопки


С кнопками будет выглядеть как то так:

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

Из минусов - такие уведомления пока нельзя запихивать во все места сразу (из за их привязки). Но думаю это поправят со временем.


Пока на данном этапе были заменены все доступные уведомления на новые снекбары. Можете оценить их удобство.


Что хочется сказать в заключении? Мы впринципи создали хорошее (хоть и простое) приложения для просмотра любимого ресурса. Еще очень много мелочей стоит доделать, но они не стоят того, чтобы собирать из них целый пост. Спасибо всем, кто принимал активное участие в формировании приложения, на этом все.


Приложение точно также доступно для скачивания бесплатно и без СМС и прочего гавна, в качестве благодарностей я принимаю доллары и конструктивные отзывы.


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

http://4pda.ru/forum/index.php?showtopic=720038


В следующий раз мы начнем программировать мобильный справочник, для одного из городов России.


Спасибо, за то что дочитал до конца, всем бобра =)

Показать полностью 16
10

Программируем приложение 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...

Показать полностью 8
3

Как смотреть Пикабу в телефоне без рекламы (Часть 3)

Привет, пиплы! 

Вторая часть: http://pikabu.ru/story/kak_smotret_pikabu_v_telefone_bez_rek...

Первая часть:

http://pikabu.ru/story/zadolbalo_ili_kak_smotret_pikabu_v_te...


Напомню, мы программируем приложение, для просмотра на телефонах (и планшетах на базе ведроид Android), чтобы было удобно читать ленту Пикабу без рекламы.

Как смотреть Пикабу в телефоне без рекламы (Часть 3) Пикабу, Android, Программирование, Кот, Длиннопост

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


1) - ВиДюХи !


Очень много ребят жаловались, что в моей программе нельзя смотреть видео с сервиса YouTube (серый экран, отсутствует загрузка, жизнь теряет краски и прочее). Решил доделать этот момент. Открываем студию, кодим:

Как смотреть Пикабу в телефоне без рекламы (Часть 3) Пикабу, Android, Программирование, Кот, Длиннопост

Впринципи из системных комментов должно быть понятно. Была добавлена одна (Карл!) строчка кода, которая позволила открывать видео html5 формата (как у сервиса youtube)


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


2) - Кнопки!


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


Но чтобы добавить этот функционал - надо добавить еще одну кнопку!

(тут уместна картинка с педобиром, БМ, прости)

Как смотреть Пикабу в телефоне без рекламы (Часть 3) Пикабу, Android, Программирование, Кот, Длиннопост

Кодим:

Как смотреть Пикабу в телефоне без рекламы (Часть 3) Пикабу, Android, Программирование, Кот, Длиннопост

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

Метод FAB (1/2) (Floating Action Button) - Нововведение из андроид L, кто не в теме. 


Всего этих методов три (каждый на одну кнопку). 


Сейчас первый метод открывает окно для отправки фидбэка мне любимому, второй метод перезагружает страницу, а третий ( fab.hide(); ) прячет все три кнопки.


Кстати, кнопки прячутся с небольшой анимацией, это бонус.


Сейчас это выглядит так:

Как смотреть Пикабу в телефоне без рекламы (Часть 3) Пикабу, Android, Программирование, Кот, Длиннопост
Как смотреть Пикабу в телефоне без рекламы (Часть 3) Пикабу, Android, Программирование, Кот, Длиннопост

3) Сохранение картинок


Ну и напоследок, была добавлена фича сохранения картинок к себе в галлерею. И ведь действительно, кому то понравился прикол, длиннопост в виде изображения, или же картинка для самосовершенствования в темноте формата 18+


Собственно, дописываем в студии код:

Как смотреть Пикабу в телефоне без рекламы (Часть 3) Пикабу, Android, Программирование, Кот, Длиннопост

Первый метод (SuppressLint) Обеспечивает совместимость с некоторыми платформами.

Метод DownloadManager отслеживает ссылки на наличие картинок (слушает форматы jpg + png)

Методы request обеспечивают появление уведомления в панели состояния (это, где часы)


Получилось следующее:

- Находим картинку

Как смотреть Пикабу в телефоне без рекламы (Часть 3) Пикабу, Android, Программирование, Кот, Длиннопост

Нажимаем на нее, открывается привычное окошко (из мобильной версии)

Как смотреть Пикабу в телефоне без рекламы (Часть 3) Пикабу, Android, Программирование, Кот, Длиннопост

Нажимаем на кнопку ссылка (она становится серой)


И все! Загрузка началась

Как смотреть Пикабу в телефоне без рекламы (Часть 3) Пикабу, Android, Программирование, Кот, Длиннопост

Напоследок, были сделаны мелкие правки. О них я расскажу по одной строке на нововведения.


- Исправлены иконки в режиме просмотра (раньше были печальные картинки из версий Android 2.3 - 4.0, сейчас все обновлены, согласно новый гайдлайнам от google)

- Исправлена ошибка при повороте телефона (раньше это вызывало перезагрузку страницы)

- Исправлены ошибки в некоторых стилях

- Исправлена ошибка при сворачивании приложения (не сохранялось место последнего просмотра)


И сразу хочу ответить на самые тупые часто задаваемые вопросы:


В: Вы говорите, что в приложении нет рекламы, но она есть! Я недоволен (топает ножками)

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


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

О: На вкус и цвет. Честно, если хотите заниматься мазохизмом (и тыкать миллион раз в закладки, в разных браузерах и ждать пока 110 версия гугл хрома вам что то загрузит), то делайте это в одиночестве. Хотя бы попробуйте.


В: Я скачиваю программу с форума, у меня антивирус NOD и он ругается что в вашей программе что то нехорошее (топает ножками и брызжет слюной)

О: Ваш НОД гавно очень нехороший антивирус, и он неправильно определяет уязвимость. На самом деле, определяет один из включенных компонентов Google Play (com.android), и с этим ничего не поделать. Обещали исправить при ближайшем обновлении базы.


Друзья, обновление появится в маркете в ближайшие часы, если вы торопыга то вот вам ссылки:

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

http://4pda.ru/forum/index.php?showtopic=720038


Спасибо за то, что вы пользуетесь приложением, и отдельное спасибо, если вам это пригодилось! Как обычно, мы на связи через отправку отзывов, или в комментариях!


Мой котопес в заключении поста. Всем добра!

Как смотреть Пикабу в телефоне без рекламы (Часть 3) Пикабу, Android, Программирование, Кот, Длиннопост
Показать полностью 11
11

Как смотреть Пикабу в телефоне без рекламы (Часть 2)

Привет, земляне!


Предыдущий пост тут: http://pikabu.ru/story/zadolbalo_ili_kak_smotret_pikabu_v_te...


Напомню, мы программируем приложение, для просмотра на телефонах (и планшетах на базе ведроид Android), чтобы было удобно читать ленту Пикабу без рекламы. 

Как смотреть Пикабу в телефоне без рекламы (Часть 2) Пикабу, Android, Программирование, Кот, Длиннопост

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


1) - Работа над ошибками.


Первым делом мы расширяем функционал программы. Начнем с поиска. Раньше было как - ввел поисковый запрос, и он выполняется на всем ресурсе. Теперь мы будем искать еще и по тегам. Запускаем студию, открываем главную активность. Пишем:

Как смотреть Пикабу в телефоне без рекламы (Часть 2) Пикабу, Android, Программирование, Кот, Длиннопост

В этом куске кода приведен метод, который описывает действие по нажатию кнопки лупы, а именно alertDialog:

- добавил третью кнопку (в документации рекомендуют использовать не более трех кнопок, PositiveButton, NeutralButton, NegativeButton, что мы и проделали)


Получилось вот так:

Как смотреть Пикабу в телефоне без рекламы (Часть 2) Пикабу, Android, Программирование, Кот, Длиннопост

Кроме этого поправил стиль, который неправильно отображался на Android 5.0 и выше. Там, вместо зеленого статус бара был голубой (картинка из моего эмулятора):

Как смотреть Пикабу в телефоне без рекламы (Часть 2) Пикабу, Android, Программирование, Кот, Длиннопост

2 - убираем лишнее.


Ранее (из скриншотов) был обещан функционал добавления постов. На данный момент я его убираю (так как новый редактор заточен под написание на десктопе), и появление его остается туманным.


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

Как смотреть Пикабу в телефоне без рекламы (Часть 2) Пикабу, Android, Программирование, Кот, Длиннопост

3 - Кнопки, кнопки, кнопки!


Следующий шаг - добавление еще одной кнопки. Если судить по статистике, категорию ТОП 50 комментариев просматривают не реже, чем основные разделы. Решено, кодим: 

Как смотреть Пикабу в телефоне без рекламы (Часть 2) Пикабу, Android, Программирование, Кот, Длиннопост

В этом куске кода мы добавили только одну кнопочку, которая называется btnActSix. Больше ничего нового, действия такие же.


Выглядит по новому так:

Как смотреть Пикабу в телефоне без рекламы (Часть 2) Пикабу, Android, Программирование, Кот, Длиннопост

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


По многочисленным просьбам (с форума) уменьшил размер кнопок, чтобы они не сильно мешали.


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

Как смотреть Пикабу в телефоне без рекламы (Часть 2) Пикабу, Android, Программирование, Кот, Длиннопост

4 - Настрой меня полностью!


Самая важная часть приложения - его настройки. Тут пришлось многое переработать, часть функционала все еще пердит и глючит может некорректно работать, поэтому не пинайтесь.


Добавил кнопку для удаления кеша в приложении, а также немного видоизменил последнее действие (запоминать пароли). Выглядит в студии так: 

Как смотреть Пикабу в телефоне без рекламы (Часть 2) Пикабу, Android, Программирование, Кот, Длиннопост

В этом куске кода мелькает метод onCheckedChanged (что делать при нажатии на определеную кнопку), и немного засветился метод deleteCache, который по русски так и переведется. По прежнему, приложение является самым простым из своих аналогов.


На телефоне настройки выглядят так:

Как смотреть Пикабу в телефоне без рекламы (Часть 2) Пикабу, Android, Программирование, Кот, Длиннопост

Ну и напоследок, ответы на самые дибильные часто задаваемые вопросы:


В: Вы говорите, что в приложении нет рекламы, но она есть! Я недоволен (топает ножками)

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


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

О: На вкус и цвет. Честно, если хотите заниматься мазохизмом (и тыкать миллион раз в закладки, в разных браузерах и ждать пока 110 версия гугл хрома вам что то загрузит), то делайте это в одиночестве. Хотя бы попробуйте.


В: Я скачиваю программу с форума, у меня антивирус NOD и он ругается что в вашей программе что то нехорошее (топает ножками и брызжет слюной)

О: Ваш НОД гавно очень нехороший браузер, и он неправильно определяет уязвимость. На самом деле, определяет один из включенных компонентов Google Play (com.android), и с этим ничего не поделать. Обещали исправить при ближайшем обновлении базы.


Друзья, обновление появится в маркете в ближайшие часы, если вы торопыга то вот вам ссылки:

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

http://4pda.ru/forum/index.php?showtopic=720038


И напоминаю, что вы всегда можете предложить интересные идеи на почту, или просто отправив фидбек. Спасибо, что дочитал до конца! В подарок тебе мое кошачее чудовище:

Как смотреть Пикабу в телефоне без рекламы (Часть 2) Пикабу, Android, Программирование, Кот, Длиннопост
Показать полностью 11
13

Задолбало, или как смотреть Пикабу в телефоне без рекламы.

Привет, человеки!


Начну с лирического отступления, что пользуюсь ресурсом Пикабу давно, но никак не доходили руки зарегистрироваться, что и было недавно проделано.


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


Но нет так давно, пользуясь клиентом Пикабу с маркета (да не будет это зло названо) меня так заеб задолбала реклама, что я решил, надо менять политику партии.


Итак, сразу покажу, что получилось в итоге, давайте смотреть с чего это начиналось:

Скринил программу почти в 4 утра, писал пост еще дольше, но я результатом пока доволен.

Задолбало, или как смотреть Пикабу в телефоне без рекламы. Пикабу, Android, Длиннопост, Программирование

Открываем студию, пилим проект (благо, имеется аккаунт разработчика) под названием Pikabu.

Задолбало, или как смотреть Пикабу в телефоне без рекламы. Пикабу, Android, Длиннопост, Программирование

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


Как это выглядит в студии: 

Задолбало, или как смотреть Пикабу в телефоне без рекламы. Пикабу, Android, Длиннопост, Программирование

И как это выглядит в телефоне:

Задолбало, или как смотреть Пикабу в телефоне без рекламы. Пикабу, Android, Длиннопост, Программирование

Следующий шаг - главный экран. На нем расположены: 5 кнопок, несколько иконок в баре (типа поиска, добавления постов и т.д), и именно из этого места пользователь попадает в ленту. Смотрим

Задолбало, или как смотреть Пикабу в телефоне без рекламы. Пикабу, Android, Длиннопост, Программирование

Может показаться, что кода много (или он громоздкий), но он занимает всего 150 строк.


Что в это время происходит на телефоне:

Задолбало, или как смотреть Пикабу в телефоне без рекламы. Пикабу, Android, Длиннопост, Программирование

Финальный момент - создать два экрана. Это режим просмотра, и настройки.


В режиме просмотра имитирован маленький браузер, он открывает нужную страницу, имеет удобную плавающую кнопку (привет, Android L!) и быстро грузится.


В настройках же пока все скучно, и там мало пунктов для изменения.


Код выглядит так:

Задолбало, или как смотреть Пикабу в телефоне без рекламы. Пикабу, Android, Длиннопост, Программирование

Содержимое тоже небольшое, всего 200 строк, но если у пикабушников начнут появляться ошибки, тут будут добавлены костыли.


Финальный экран смотрится так:

Задолбало, или как смотреть Пикабу в телефоне без рекламы. Пикабу, Android, Длиннопост, Программирование

Друзья! Не сочтите за рекламу, но если вам, как и мне, надоело смотреть рекламу, а интересует только контент, то скачивайте на здоровье, БЕЗ РЕКЛАМЫ И СМС И ПРОЧЕГО ГАВНА


https://play.google.com/store/apps/details?id=xyz.oneclickst... - ссылка на маркете, приложение называется Pikabu FREE, не перепутайте с аналогом


http://4pda.ru/forum/index.php?showtopic=720038 - тема на форуме (пишите, если появятся ошибки)

Всем бобра добра, если вас интересует, как пишутся простейшие приложения (а это самое что ни на есть простое приложение в реализации), спрашивайте, буду рад ответить по возможности.


Пост для минусящих все подряд внутри.

Показать полностью 8
Отличная работа, все прочитано!