Expertus metuit
Sergey Stolyarov | 2012-07-25 в 16:00

Дропбокс некоторые свои функции реализует через браузер, для этого он генерит спецссылки и открывает их в браузере. При этом алгоритм определения, какой именно браузер открывать, не особо прозрачный и понятный (речь пойдёт только о дебиане/убунте).

  1. Сначала dropbox ищет исполнимый файл x-www-browser, если таковой есть, то ссылка передаётся ему аргументом командной строки. Поиск файла идёт сначала в /usr/lib/dropbox/, а затем в каталогах из переменной окружения $PATH.
  2. Затем проверяется значение переменной окружения $BROWSER, если там что есть, то оно запускается (со ссылкой в первом аргументе).
  3. Затем пытается запустить /usr/bin/sensible-browser
  4. Затем (непонятно зачем) — /usr/bin/x-terminal-emulator

Чтобы в дебиане ссылки открывались в браузере, который указан в переменной окружения $BROWSER:

update-alternatives --remove-all x-www-browser

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

Sergey Stolyarov | 2012-07-13 в 21:24

Перевод статьи Майкла Чёрча Don’t waste your time in crappy startup jobs.

То, о чём я хочу рассказать, справедливо для июля 2012 г. 15 лет назад необязательно было так же, и не факт, что будет справедливо через год. Но в данный момент это абсолютно верно для большинства людей в достаточной степени, так что я считаю обязанным высказаться. Нынешний мир ИК-стартапов (ИК=инвестиционный капитал / venture capital) — я его нежно называю ИК-стан — является, мягко говоря, тотально напрасной тратой времени для большинства вовлечённых людей.

Sergey Stolyarov | 2012-03-08 в 13:33

Задача: нужно поставить Market (а теперь он называется Play) на андроидный виртуальный девайс. Широко известная в узких кругах процедура с копирование файла system.img больше не работает, пришлось искать новый способ.

Для работы Market на девайсе должен быть установлен Google Services Framework (gsf), это библиотека для работы с гуглоаккаунтами, нужна практически для всех гугловых приложений. В составе SDK уже есть образы с включённым gsf, именно на виртуальный девайс, основанный на таком образе, мы и будем ставить маркет.

Sergey Stolyarov | 2012-03-02 в 22:39

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

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

Пост будет периодически обновляться. Последнее обновление: 22 ноября 2012 г.

Sergey Stolyarov | 2012-02-26 в 21:32

Обновлено 2015-09-17: исправлены ссылки на программы

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

Вот этим мы и займёмся. Традиционно здесь всё рассказывается в контексте линукса, с остальными операционками разбирайтесь сами, хотя принцип ровно такой же.

Sergey Stolyarov | 2012-02-14 в 19:36

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

Java-классы проекта, макеты интерфейсов, ресурсы, доступ к ресурсам из кода

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

Запускаем eclipse командой eclipse-adt, там должен уже быть проект, который мы создали в прошлой части — first project, также запускаем эмулятор с виртуальным девайсом с Android 2.3.3.

Sergey Stolyarov | 2012-02-13 в 18:20

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

Работа с проектами в eclipse, создание первого android-приложения, структура apk-файлов

А статья уже довольно сильно устарела, часть скриншотов точно не соответствует реальности, часть текста тоже. Такие дела.

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

Как и в любой интегрированной среде разработки, в Eclipse ADT создание работающего приложения сводится к трём шагам:

  1. создание андроид-проекта в Eclipse (минимальный шаблонный проект);
  2. написание программного кода, рисование дизайна и т.п.;
  3. «компиляция» проекта в окончательный apk-файл.
Sergey Stolyarov | 2012-02-12 в 17:25

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

Установка Eclipse, установка компонентов для android-разработки, настройка рабочего окружения

В прошлой части мы поверхностно ознакомились с инструментами Android SDK, поигрались с эмуляторам и виртуальными девайсами. В этой статье займёмся подготовкой рабочего места андроид-кодера — будем настраивать Eclipse ADT.

Sergey Stolyarov | 2012-02-10 в 14:05

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

Установка SDK, знакомство с SDK, инструменты SDK.

В этой части пробежимся по верхушкам Android Software Development Kit (SDK), посмотрим, как он устроен, какие инструменты в него входят и как с этими инструментами работать. Особо углубляться в детали не будем, лишь поиграемся с отдельными программами, чтобы понять, как там всё работает.

Текст статьи (ссылки, описания, инструкции) актуален на март 2013 года.

Sergey Stolyarov | 2012-02-10 в 07:51

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

«Этим полукреслом мастер Гамбс начинает новую партию мебели.» Пошлый эпиграф.

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

Статьи будут регулярно появляться в этом блоге, все они пронумерованы и доступны через тег android tutorial. Структура каждой статьи одинаковая: один абзац с описанием и ключевыми словами, чтобы читатель мог сразу определиться, интересует ли его дальнейшее; затем идёт собственно текст с иллюстрациями; а в конце — краткая аннотация следующей статьи, список ссылок и примечания. Поскольку я буду осваивать андроидное программирование параллельно с написанием текста, текст может показаться слегка бессистемным, но тут ничего не поделаешь. Ещё одна цель проекта — обустройство программного окружения андроид-разработчика в линуксе, надеюсь, что к какому-то моменту это получится сделать.

Информация Что такое программное окружение? В моей терминологии — это среда разработки, документация, набор скриптов и вспомогательных программ, причём не по отдельности, а тщательно подогнанные друг к другу. Также в окружение входят способы собственно написания/изменения кода программы, изменение каких-либо параметров проекта, добавление файлов, короче — действия. Программы и действия, тщательно подогнанные друг к другу, чтобы было удобно и легко двигаться.

Естественно, я буду в этом цикле навязывать моё собственное окружение, ибо за неимением никакого сгодится любое (а гугл как раз никакого и не предлагает). Но вы вольны его изменять под свои требования и желания, естественно.

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

© 2006—2024 Sergey Stolyarov | Работает на pyrengine