Ознакомьтесь с нашей политикой обработки персональных данных
  • ↓
  • ↑
  • ⇑
 
Записи с темой: android (список заголовков)
01:48 

Android Studio

Горячие вести с Google I/O 2013:


Платформа IntelliJ, разработанная JetBrains, стала основой для нового продукта Google — Android Studio. На платформе IntelliJ построена большая часть продуктов JetBrains — от всемирно известной IntelliJ IDEA до быстро набирающих популярность специализированных IDE — PhpStorm, PyCharm, RubyMine и других.


Я и полтора года назад не захотел связываться с Eclipse, а пробовал себя в Android в чистой IDEA без всяких доп. инструментов. Наконец-то и в Google это поняли.


@темы: Android

06:37 

За месяц триала проблем со Smart Audiobook Player обнаружилось ровно одна штука — если книгу слушать в течении нескольких дней (а с книгами на 10-15 часов так и бывает, когда слушаешь по часу днем и вечером), то выбор новой книги или полное закрытие с первого раза не получается. Надо раз 10 нажать на выход и только тогда текущая книга закроется.


Похоже где-то в глубине рождается слишком много Activity.


А со своими прямыми функциями справляется на отлично. Проапгрейдился до полной версии


@темы: Android

04:40 

Pattrn

Pattrn — для ленивых занятых людей, которым хочется нескучных обоев


@темы: Android

09:57 

И Google и Amazon в этом году рвут Apple в чистую. Если OS X 10.7 и iOS 5 и были шагом вперед, то в iOS6 из полезного только то, что AppStore теперь не закрывается при установке программы (а на дворе 2012 год) и стандартный будильник (а на дворе до сих пор 2012 год). Зато теперь нет встроенного приложения YouTube. В начале года в моде было много пикселей, в конце года в моде 1024x768, вот такие дела.


Самое полезное — это, конечно, многопользовательский режим на планшетах.


Да и XBMC наверняка допилит Miracast в течении полугода. Вот только 4.2 на своем телефоне я получу, скорее всего, только при покупке нового.


@темы: Android, iOS

07:58 

Не прошло и полтора года

Всё-таки летнее официальное обновление до Android 4.0.4 принесло не только много полезных возможностей, но и весьма заметные тормоза (хоть тут и 1Ghz и 768Mb оперативной памяти). Как пишут на тематических форумах, лекарство одно — гильотина и хард ресет.


Делать хард-ресет я собирался долго и наконец-то сделал. И чтобы два раза не ходить, подогнал под это дело новую карточку 10 класса скорости, официальную разблокировку загрузчика и рут доступ.


Первый день ушел на чтения глоссария. На второй день я забэкапил все, что вспомнил и начала с  официального unlock-а с сопутствующим хард-ресетом. Потом пришла очередь Clockwork Recovery и SuperSU+Busybox. Тут можно было бы пойти дальше и сделать полный S-OFF, но это требует понижение версии HBOOT с сопутствующим понижением версии Android до 2.3. Конечно можно потом поставить тот же Revolution HD 4.0.3, который собран на официальной прошивке (с твиками), но мне хотелось, если и менять ROM, то на какой-нибудь ASOP, что бы вообще без Sense, а Cyanogen в этом плане еще только в 2.3 (ибо Incredible S не такая популярная модель, потому что попала как-то между Desire HD и Sensation, которые более популярны) и остальные альтернативы не сильно радуют. Так что пока сижу на официальной в режиме UNLOCKED S-ON. Должно хватить.


Еще понял, что с продукцией Go мне дальше не по пути. Если год назад они были очень хороши на фоне Sense, то теперь тот же Go SMS и Go Launcher представляют собой распухших и неповоротливых монстров.


Вместо Sense теперь Nova Launcher (про-версия была удачно раздобыта за 25 центов на последней распродаже). А СМС-центр из Sense 3.6 лучше того, что было в Sense 3.0, плюс есть альтернатива вдохновленная стоковой программой из ICS


@темы: Android

05:39 

Так уж исторически сложилось, что я не могу слушать аудиокниги на их оригинальной скорости. В далекие времена у меня был (и работает до сих пор) плеер-флешка Transcend T.Sonic 320, у которого, как потом выяснилось, была функция ускорения звука.


Когда дело дошло до Android, оказалось, что «специализированных» плееров для аудиокниг в маркете было много, но вот регулировкой скорости обладал лишь Astro Player (Nova), которым мне и пришлось пользоваться полтора года.


Хоть авторы и регулярно выпускали апдейты, но проблем у него хватало. Он был и довольно тормозным, иногда после долгой паузы вместо продолжения проигрывания файла перескакивал на следующий, в какой-то момент он перестал подсчитывать общий размер папки с книгой в минутах, перестал понимать теги, слетали настройки эквалайзера и скорости. Еще он пытался быть и обычным плеером и имел в себе функцию случайного перехода по треком, случайная активация которой приносило много интересных ощущний в книгах разрезанных на мелкие треки. Доходило и до того, что это самое ускорение проигрывания грузило систему так, что она входило в ступор из которого помогал только софт-ресет (обычно, правда, телефон перезагружался сам)


И тут выяснилось, что поддержка ускоренного воспроизведения появилась и в Smart Audiobook Player. После установки так же обнаружились приятный минималистичный интерфейс в стиле Halo, отсутствие лишних функций музыкального плеера, определение размеров папок с книгами, удобные кнопки быстрого перехода. Отсутствует эквалайзер, но он бывает нужен если книга была оцифрована с кассетной пленки и не была вычищена. Предлагаемые виджеты не очень красивы, но и Astro Player в этом плане был не лучше.


Утренний краш-тест на скорости 1.7x не выявил никаких проблем. Если через месяц не найду серьезных проблем, то «надо брать»


@темы: Android, Книги

05:36 

ICS

Проснулся, умылся, обновил Android то версии 4.0


Интерфейс стал строже, шрифты лучше, режим usbhost остался, обои нескучные. Пока полет нормальный. Расход 3G-трафика по каждому из приложение — удобно. Ну и Chrome с синхронизацией вкладок и прочего радует.


@темы: Android

09:20 

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



  • формат твиттера как-то распологает к такому ежеминутному спаму. А другие сервисы я изучить не успел, может какой-нибудь фотохостинг или tumblr был бы лучше. Главное — наличие вменяемого клиента под Android.

  • жаль, что не сохраняется оригинальная дата поста. Если пост не ушел сразу, то его повторная отправка зафиксирует дату фактической публикации.

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

  • в идеале хочется, чтобы сервисы как-то адаптировались к ширине канала и пытались ресайзить фоточки для плохих каналов, а потом уже пихать толстые.

  • иногда, но не часто, приложение Твиттера не могло получить свежесделанную фоточку с камеры. Хорошо, если можно было перефотографировать.

  • ближе к концу пришло понимание, что быстрее сделать фотку через приложение камеры, а потом расшарить, чем добираться до камеры в Твиттере.


Если созрею, то надо будет сделать обзорный избранный пост


@темы: Android, Красноярск

20:16 

Как кошка с собакой

Две недели на островке не очень дикой природы на окраине города. Никакого wifi и мегабитных каналов. Только 3g пропитывает свежий воздух своими электромагнитными волнами. iPad в пролете, но сильно этого не показывает. И тут на помощь спешит смартфон с андроидом, в котором tethering работает из коробки. 3G преобразовывается в wifi, поднимается точка доступа с паролем и блэкджеками. iPad прочно в нее цепляется и не отпускает.

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


@темы: Android, iOS

06:43 

В честь Memorial Day (и не только) в AppStore и, частично, в Google Play распродажа (в том числе и за бесплатно) игр. И не какие-то там неизвестные конторы. Electronic Arts сбросило цены на полсотни приложений, Rockstar тоже не отстаёт, да и инди-разработчики подтянулись (а может порядок был и другим, как-то правды теперь уже не найти). AppShopper весь экран завалил напоминаниями, что, мол, приложения из виш-листа дешевеют до неприличия. Cut The Rope Experiments HD, Infinity Blade II, GTA 3, FIFA 12, Dead Space, C&C Red Alert теперь из этого самого листа вычеркнуты.


@темы: Android, iOS

16:17 

Зарелизилась IDEA 11. С обещенным визуальным редактором Android Layout-ов и прочими вкусными штуками. Надо проверить.


@темы: Android, Программирование

05:29 

Мечты сбываются: Shazam Encore на распродаже. А также Instant Heartrate и HD Widgets


@темы: Android

19:51 

Android: проверь себя

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



  • Файл AndroidManifest.xml: зачем нужен, необходимые параметры, секции. Здесь нужно рассказать про таг и , рассказать про параметр packageName, про и, про компоненты приложения, которые указываются.

  • Структура проекта: assets, res, src, gen, libs. Что лежит в каждой папке, что должно лежать под версионным контролем, а что нет (папка gen никогда не кладется в VCS). Соответственно ассеты, ресурсы (картинки, музыка, лэйауты), java-код, сгенеренный код, библиотеки.

  • Компоненты приложения. Activity, Service, BroadcastReceiver, ContentProvider. Зачем нужен каждый, как осуществляется работа, lifecycle каждого компонента.

  • Особенности запуска Activity и Service. Что такое Task, Activity Stack. Как принимается решение о запуске процесса Service.

  • ContentProvider, зачем нужен, как используется. Доступ и использование ContentResolver. Работа с курсорами. Помнить про managed cursors.

  • BroadcastReceiver: статические и динамические, механизмы вызова, lifecycle.

  • Межпроцессное взаимодействие. Что такое и зачем нужен Intent, как передавать информацию с его помощью, что такое Bundle и зачем нужен Parcelable. IntentFilter и для чего применяется. Способы взаимодействия Activity и Service(старт, биндинг). AIDL(Android interface definiotn language).

  • Построение UI приложения. Что такое Layout и View, какие бывают типы layout'ов(4 штуки), зачем они применяются. Оптимизация UI под различные размеры экранов и плотность пикселей(использование dp).

  • Хранение данных в платформе: 4 типа. Internal, External Storage, DB, SharedPreferences. Варианты использование, отличия.

  • Локализация. Встроенные средства платформы для локализации, моменты выбора локали.

  • Виджеты. Механизм создания виджетов, доступные средства UI в них. Что такое AppWidgetProvider.

  • Работа в фоне. Когда использовать Service, когда AsyncTask. Что такое AsyncTask, его связь с UI. Сущность IntentService — что делает и чем полезна.

  • Модель безопасности в Android. Разрешения.

  • Использование телефонных средств: сенсоров, вибрации, GPS.

  • Новинки платформы: Loaders, Fragments, In-app billing.

  • Производительность в платформе: best practices. Неиспользование enums до 2.2, использование final и проч. Особенность работы на мобильном: ограничение по памяти и процессоу.

  • Поддержка старых версий платформы: доступ до функциональности через Reflection.

  • Собственные views: механизмы отрисовки, Canvas.

  • Состояния компонент: какие компоненты системы могут сохранять состояния(Activity и View), способы сохранения и восстановления состояний, отличия механизмов для Activity и View.

  • Механизмы подписи приложений для публикации в Android Market.

  • Android NDK: вызов нативного кода

  • Фреймворки для разработки под различные мобильные OS: Titanium, PhoneGap и прочие.

  • Наследование в java, интерфейсы, абстрактные классы, классы, внутренние и анонимные. Множественное наследование интерфейсов, когда применяется. Замыкания.

  • Модификаторы в java: доступа, синхронизации, прочие(static и final). Влияние final на производительность.

  • Collections: типы коллекций(List, Set, Map). Различные реализации, применимость коллекций в тех или иных случаях. Сложность вставки, чтения и поиска в различных реализациях.

  • Многопоточность: потоки, способы синхронизации, методы wait и notify. Ключевое слово synchronized, когда используется, что означает.

  • Отличия библиотеки классов Java SE и платформы Android.


@темы: Android, Программирование

15:43 

Android: JAVA

Еще пришлось резко вспоминать Java. И доучивать что там появилось нового за последние 10 лет.


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


Вот тогда и приходит понимание вложенных классов, generics, зачем нужный интерфейсы и почему один из столпов ООП наследование надо использовать с умом и ограниченно.


И тут мне очень повезло, что мне посоветовали книгу J. Bloch — Effective Java.




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


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


Вот, например, далеко не полный список опций статистического анализатора в IDEA:




По хорошему пользоваться этим надо так: включить все опции и смотреть на warning-и, которые рассыпятся по вашему коду. Естественно нет никакого 100%-правильного стиля программирования. И даже о методиках разводят споры на сотни страниц. Поэтому некоторые опции проверки кода придется отключить, если они уж явно не согласны с вашим стилем. Что-то можно пометить исключениями в коде. Ну а если анализатор говорит, что "этот класс можно сделать и статическим" и вы с этим согласны, то не грех и исправить. Правда сперва нужно прочитать того же Блоха, чтобы понять, почему статический вложенный класс лучше обычного и почему при передаче типов лучше использоваться имя интерфейса, а не конкретного класса.


Анализатор дает совет, от которого невозможно отказаться:




@темы: Android, Программирование

15:14 

Android: IDEA vs Eclipse

Когда летом я решил заняться программированием под Android, я был резко прерван приёмной комиссией. Пришлось забросить все остальное и отдаться ей. Но на самом деле там часто было интересно и творческо. Но самое главное — я оттуда вынес PyCharm


JetBrains PyCharm — это на самом деле подмножество JetBrains Intellij IDEA — IDE, которая объединяет в себя не Java, Python, PHP, Ruby, Objective C и много чего другого интересного.


И вот когда решил осенью снова вернуться к Android-программированию, я подумал «А вообще зачем этот монструозный неповоротливый Eclipse?». Тем более, что знакомые пацаны говорили, что Eclipse уже не тот и плохо развивается. Когда я поизучал вопрос поглубже, то понял, что единственное преимущество Eclipse в Android-программировании — это то, что сам Google официально поддерживает лишь его. В него встроены визуальные средства и все книги пишут про него.


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


Ребята из JetBrains тоже озаботились этим. Их прослойка уже вполне рабочая, но пока (в версии 10.5) не включает визуальных компонент. Но



  • собрать проект

  • смотреть документацию встроенными методами

  • устанавливать apk на телефон через adb

  • смотреть лог

  • дебажить приложение на телефоне


они умеют.

Пока нет визуального редактора интерфейса. Но визуальный редактор того же Eclipse генерирует совсем не человеколюбивый код. А сколько раз он просто не смог отрендерить рукамипоправленный XML, при этом не сообщая никаких ошибок. Это вам не отполированный QT Designer. Так что layoyt-ы все равно лучше писать руками.

Всякие DDMS и Hierarchy Viewer и прочее вряд ли пользуются успехом у начинающих программистов, поэтому когда надо дорасти до этого уровня, то можно научиться использовать их отдельно.

Да и уже в 11 версии IDEA обещают визуальный редактор layout-ов.

Еще одна «неприятная» вещь у JetBrains, это то, что они смеют просить за свою работу денег. Но тут есть два варианта:



  1. взломанную IDEA найти не проблема

  2. Есть бесплатная и открытая IDEA Community Edition. И Android в ней есть. Что там вырезано я так пока и не понял, пока мне хватало всего. Может если бы я мучил Java EE, то тогда бы встретил какие-то ограничения.

    Но еще в IDEA CE  можно делать только OpenSource проекты. Остальное запрещено лицензией, которую никто не читает.


А так как летом я убил два месяца на PyCharm, то в IDEA я уже знал на какие жать кнопочки, как смотреть справку, рефакторить, запускать, настраивать. Это не Eclipse в котором окошко debug-а пугало меня на столько, что мне просто хотелось закрыть его и спрятаться под одеяло.


И через несколько месяцев я могу уже точно сказать, что программировать для Android без Eclipse можно


В сердце дебага:



@темы: Android, Программирование

11:11 

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


@темы: Android

10:51 

2.3.5

Incredible S, Desire HD и, по слухам, Wildfire S получили обновление до Android 2.3.5 Из хороших вещей:



  • появился диспетчер задач. Можно удалять Advanced Task Killer

  • на локскрин можно вытащить 4 иконки приложений и виджет HTC

  • исправили часовые пояса. Можно перебираться из Пекина в Красноярск

  • Sense 3.0. Правда уже есть Sense 3.5, да и не заметил я там ничего нового крутого, чтобы снова им пользоваться. Остаюсь на Go Launcher Ex


Непонятно:



  • обещаные скриншоты не работают. Комбинация клавиш для Desire S не срабатывает

  • маркет так и остался 2.x, хотя обещали 3.x


Отдельно про лок-скрин. Он, конечно стал симпатичнее, но разблокировка экрана, по моему, стала хуже. На емкостных экранах блокировка вообще не так важна как на резистивных, так что лучше ее вообще упрощать, а не усложнять. Раньше можно было просто провести вдоль экрана и он разблокировался. Теперь надо хватать кольцо и тащить его по экрану. При ответе на звонок надо тащить кольцо на иконку приёма звонка. Запуск приложений с локскрина аналогичен: кольцо тащится на иконку, хотя логичнее иконку тащить в кольцо. А еще логичнее — не тащить ничего


UPD: Оказывается, уже выпустили Go Lock. И вроде он даже не глючит. Обычно пишут, что внештатный локскрин труднее в использовании, чем внештатный лаунчер. Часто родной локскрин пробивается через отдельноустановленный. А тут вроде работает как надо. И не надо таскать колец.

Получается, что теперь все компоненты Sense-а заменены на Go. От HTC осталось железо, темное оформление и твики системы, которые я замечу, только когда возьму в руки телефон другого бренда.

@темы: Android

08:13 

Второй день распродажи принес Star Chart и Beautiful Widgets. И все остальное.


@темы: Android

05:26 

SALE! SALE! SALE!

На Андроид Маркете распродажа. Обещают каждый день 10 приложений по 10 центов. И не всякий шлак, а даже вполне уважаемые позиции.


Как минимум можно обзавестись Endomondo PRO. Или поддаться безумию и купить ВСЁ.


@темы: Android

09:58 



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


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


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


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


@темы: Величайшие изобретения человечества, Android

I was LOST

главная