<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Записная книжка Wert1go</title>
	<atom:link href="http://wert1go.ru/feed" rel="self" type="application/rss+xml" />
	<link>http://wert1go.ru</link>
	<description>Дамп потока сознания</description>
	<lastBuildDate>Sat, 02 Nov 2013 16:18:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Новый язык программирования? Конечно, почему нет.</title>
		<link>http://wert1go.ru/novyj-yazyk-programmirovaniya-konechno-pochemu-net</link>
		<comments>http://wert1go.ru/novyj-yazyk-programmirovaniya-konechno-pochemu-net#comments</comments>
		<pubDate>Sat, 02 Nov 2013 16:15:33 +0000</pubDate>
		<dc:creator>Wert1go</dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Tizen]]></category>

		<guid isPermaLink="false">http://wert1go.ru/?p=943</guid>
		<description><![CDATA[Понадобилось мне изучить C++ в сжатые сроки. Сразу в памяти всплыла знаменитая картинка про 21 день. Посмеялся, вздохнул и было взялся за книги&#8230; Но тут вспомнилась книга Эрика В. Гуннемарка &#8220;Искусство изучать языки&#8221;, которую я прочитал пару лет назад. В этой книжке есть интересные цифры. Про устную речь, цитирую: Говоря очень приблизительно, около 40 правильно выбранных, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://wert1go.ru/wp-content/uploads/2013/11/f4-19188.png"><img class="alignright size-medium wp-image-947" title="C++ за 21 день" src="http://wert1go.ru/wp-content/uploads/2013/11/f4-19188-300x257.png" alt="C++ за 21 день" width="300" height="257" /></a>Понадобилось мне изучить C++ в сжатые сроки. Сразу в памяти всплыла знаменитая картинка про 21 день. Посмеялся, вздохнул и было взялся за книги&#8230; Но тут вспомнилась книга Эрика В. Гуннемарка &#8220;Искусство изучать языки&#8221;, которую я прочитал пару лет назад.</p>
<p>В этой книжке есть интересные цифры.</p>
<p>Про устную речь, цитирую:</p>
<blockquote><p>Говоря очень приблизительно, около 40 правильно выбранных, высокочастотных слов будут покрывать примерно 50 % словоупотреблений в повседневной речи на любом языке;</p>
<p>– 200 слов покроют около 80 % ;</p>
<p>– 300 слов – примерно 85 %;</p>
<p>– 400 слов покроют уже около 90 % ;</p>
<p>– ну, а 800–1000 слов – около 95 % того, что нужно будет сказать или услышать в самой обычной ситуации.</p></blockquote>
<p>И про чтение, снова цитата<span id="more-943"></span>:</p>
<blockquote><p>При чтении, правильно выбрав и хорошо запомнив около 80 наиболее обычных, самых частотных слов, вы поймете около 50 % простого текста:</p>
<p>– 200 слов покроют примерно 60 % ;</p>
<p>– 300 слов – 65 % ;</p>
<p>– 400 слов – 70 % ;</p>
<p>– 800 слов – примерно 80 % ;</p>
<p>– 1500–2000 слов – около 90 % ;</p>
<p>– 3000–4000 – 95 % ; – и 8000 слов покроют практически около 99 процентов письменного текста.</p></blockquote>
<p>Уже точно не помню, гипотеза это, или проверенная экпериментами теория, но звучит весьма заманчиво, не правда ли? И, если это в какой то степени применимо для естественных языков, то почему бы не попробовать использовать этот подход для формальных языков.</p>
<p>Подумав немного составил для себя список того, что должно помочь мне быстро разобраться в C++:</p>
<ul>
<li>операторы</li>
<li>средства управления потоком исполнения</li>
<li>особенности циклов</li>
<li>базовые типы данных</li>
<li>коллекции данных</li>
<li>переменные</li>
<li>функции</li>
<li>структуры</li>
<li>классы (наследование, конструкторы, деструкторы, интерфейсы)</li>
<li>модификаторы доступа</li>
<li>работа с объектами</li>
<li>управление памятью</li>
<li>пространства имен</li>
<li>потоки</li>
<li>конвенция именования</li>
</ul>
<div>Хочется верить, что это именно те самые &#8220;200 слов&#8221;, которые покроют 60% читаемого кода :) Потом как-нибудь расскажу, что получилось.</div>
]]></content:encoded>
			<wfw:commentRss>http://wert1go.ru/novyj-yazyk-programmirovaniya-konechno-pochemu-net/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google. Прорыв в духе времени</title>
		<link>http://wert1go.ru/google-proryv-v-duxe-vremeni</link>
		<comments>http://wert1go.ru/google-proryv-v-duxe-vremeni#comments</comments>
		<pubDate>Tue, 12 Feb 2013 19:54:30 +0000</pubDate>
		<dc:creator>Wert1go</dc:creator>
				<category><![CDATA[Чтиво]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Идея]]></category>

		<guid isPermaLink="false">http://wert1go.ru/?p=907</guid>
		<description><![CDATA[Несколько недель назад удалось прочитать эту небольшую, но очень интересную книжку. О чем книга? О истории успеха. Успеха, за которым стоит непреклонная верность своим идеалам, уверенность в своих силах, и смелость бросать вызовы там, где пасуют другие. Брин и Пейдж, заразившись однажды идеей не только смогли выгрести из омута доткомов, но преодолев это темное время [...]]]></description>
			<content:encoded><![CDATA[<p>Несколько недель назад удалось прочитать <a title="Google. Прорыв в духе времени" href="#">эту</a> небольшую, но очень интересную книжку.</p>
<p>О чем книга? О истории успеха. Успеха, за которым стоит непреклонная верность своим идеалам, уверенность в своих силах, и смелость бросать вызовы там, где пасуют другие.</p>
<p>Брин и Пейдж, заразившись однажды идеей не только смогли выгрести из омута доткомов, но преодолев это темное время им удалось создать работающую бизнес-модель, которая сочеталась с основным видом деятельности их детища.</p>
<p>Конечно же в книге поднимает вопрос о команде Google. Со основатели Google потратили уйму на выдумывание системы мотивации своих сотрудников, всюду они старались насадить дух свободы университета (да-да, те самые 20% рабочего времени на свои проекты).</p>
<p>Такие моменты как присоединение к Google Эрика Шмидта, выход компании на IPO и т.д., раз за разом напоминают о верности со основателей Google своей компании и ее идеалам.</p>
<p>Книга есть в сети, Google в помощь.</p>
<p>P.S.: На днях было <a href="http://www.wired.com/business/2013/01/ff-qa-larry-page/all/">интервью с Ларри Пейдж</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wert1go.ru/google-proryv-v-duxe-vremeni/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Год спустя</title>
		<link>http://wert1go.ru/a-year-later</link>
		<comments>http://wert1go.ru/a-year-later#comments</comments>
		<pubDate>Sun, 02 Dec 2012 14:01:11 +0000</pubDate>
		<dc:creator>Wert1go</dc:creator>
				<category><![CDATA[Vita]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Windows Phone]]></category>
		<category><![CDATA[Историк]]></category>
		<category><![CDATA[Мое]]></category>
		<category><![CDATA[Точка Кипения]]></category>

		<guid isPermaLink="false">http://wert1go.ru/?p=898</guid>
		<description><![CDATA[Чуть больше чем год назад я решил серьезно заняться программированием, в частности разработкой приложений под Android. До этого имели место хаотичные попытки написания скриптов на php, маленьких приложений на Java, и опыт HTML верстки. Мне повезло &#8211; вектор приложения сил был задан на долго. Начиналось все с чтения книжек &#8220;Философия Java&#8221; и &#8220;Совершенный код&#8221; и [...]]]></description>
			<content:encoded><![CDATA[<p>Чуть больше чем год назад я решил серьезно заняться программированием, в частности разработкой приложений под Android. До этого имели место хаотичные попытки написания скриптов на php, маленьких приложений на Java, и опыт HTML верстки.</p>
<p>Мне повезло &#8211; вектор приложения сил был задан на долго.</p>
<p>Начиналось все с чтения книжек &#8220;Философия Java&#8221; и &#8220;Совершенный код&#8221; и параллельного штудирования developer.android.com. Сказать что было интересно, значит ничего не сказать. Главы книжек буквально проглатывались, маленькие приложения, которые я сам для себя выдумывал постоянно появлялись на экране эмулятора.</p>
<p>Так прошел первый месяц моего увлечения, и как это часто бывает, эйфория начала отступать. Пришло понимание того, что хоть я что-то и знаю, но этих знаний и умений категорически не хватает для чего-то серьезного. Ко всему прочему наступил декабрь, оставалось чуть больше чем пол года до окончания вуза, именно тогда я впервые начал  всерьез задумываться о том, что будет дальше. Вариантов было несколько, но все они требовали денег.<span id="more-898"></span></p>
<p>Пораскинув мозгами я решил, что пришла пора продавать свои приложения. Ок. Только какие? :) Придумать идею для приложения оказалось труднее чем казалось, хотя бы потому, что я никогда не пользовался смартфоном на Android и не имел малейшего представления о том, что там есть и чего там нет. После изучения Маркета возникло желание скопировать какое-нибудь успешное приложение, и получать свою копеечку, но после не долгих размышлений это желание было заклеймено позором.</p>
<p>Размышления закончились тогда, когда я почему то вспомнил учебник по истории, с напечатанными на его обложке датами. Убедившись, что подобного еще нет я сел за написание приложения. За 3 или 4 дня оно было готово и опубликовано. Свой первый доллар полученный за написание кода я увидел уже на следующий вечер (точнее их было 5). Конечно же это было круто. В течение месяца я выпустил 2 или 3 обновления, после которых приложение приняло его нынешний вид (так же как и блог оно не обновлялось почти год).</p>
<p>Несмотря на всю примитивность приложения, на сегодняшний день его бесплатную версию установили более чем 50 тыс. раз (из которых больше половины активных). Платную версию установили почти 300 раз &#8211; не фонтан, но сертификат разработчика себя окупил :)</p>
<p>Следующим приложением оказался Rager. Идея для него была позаимствована с 4pda.ru. Не помню сколько времени заняла его реализация, но кажется я с ним долго не возился. Приложение было опубликовано, и почти сразу же получило несколько тысяч установок. Это было очень весело, ежедневно прибавлялось по 300-500 установок. Правда приложение было бесплатным и кроме повышения ЧСВ оно ничего мне не приносило.</p>
<p>А меж тем наступил февраль. 4 месяца до дедлайна. И хоть у меня уже и было 2 приложения, доход от них был меньше чем моя студенческая стипендия. Нужно было срочно что-то делать, притом результат должен был показать себя максимально быстро.</p>
<p>Имея плачевно маленький багаж знаний в области программирования, я начал искать работу программистом под Android. Оказалось, что найти такую работу весьма не просто, на тот момент была только 1 открытая вакансия, но она была в другом городе, причем на его окраине &#8211; дорога на работу в один конец занимала бы 2-2,5 часа.</p>
<p>Зато вакансий на разработчика под iOS было пруд пруди, и хоть они так же были в соседнем городе, но их геолокация была более щадящая. Не долго думая я откликнулся на одну из них (выбирал, если честно именно по принципу удаленности от меня), и стал ждать, попутно читая книжку по Objective C и пытаясь установить хакинтош. Оказалось, что хакинтош на мой ноутбук установить нельзя.</p>
<p>Вскоре мне пришел ответ, в котором предложили выполнить тестовое задание. Ничего кроме Java+Android я на тот момент не знал, поэтому мое тестовое задание на должность iOS разработчика было выполнено как Android приложение. На следующий вечер после получения задания я выслал свое решение и снова стал ждать. Ждать пришлось не долго, через несколько дней меня пригласили на собеседование. За ним последовало почти недельное ожидание и вот, в середине февраля я был принят на испытательный срок. Дальше было 4 месяца поездок в соседний город и обратно (1,5 часа в один конец).</p>
<p>Незаметно подкралась защита диплома, в написании которого я принимал участие лишь в качестве чертежного инструмента и консультанта по оформлению (спасибо одногрупнице). Я благополучно получил свой диплом инженера-механика, переехал с девушкой в соседний город, и поступил в аспирантуру по специальности &#8220;Отечественная история&#8221; (мой научный руководитель оказалась без лишних предрассудков).</p>
<p>После этого опять пару месяцев затишья, и я втянулся в авантюру по участию  конкурсе от ВКонтакте на лучший месседжер для Windows Phone 7 (предыдущие конкурсы я пропустил: iOS &#8211; у меня тогда просто не было знаний, и все мои силы были направлены на то, чтобы преуспеть на работе, Android &#8211; был занят поступлением в аспирантуру, Blackberry &#8211; о нем я узнал только после его окончания).</p>
<p>Разумеется условия как всегда были веселыми: никаких знаний о платформе, знание Java вместо C#, и отсутствие девайса. Ок. Быстро нашел подержанную Nokia Lumia 710, купил сертификат разработчика (без него нельзя тестировать приложение не девайсе), почитал пару книжек и понеслась. Разработка шла весело, особенно, потому, что в это время я писал новый проект под Android (да, к этому времени я уже числился как iOS/Android &#8211; разработчик). Все 40 с небольшим вечеров (и неделя отпуска) были отданы проекту. Последние два дня выпали на подготовку к свадьбе друга, на которой я, о несчастье, был дружком. Так что из 48 часов проспал я всего 3. И на свадьбу пошел под энергетиками. Это было очень очень круто, советую.</p>
<p>К сожалению результаты конкурса были весьма печальными для меня, хотя приложение было почти законченным, времени на тестирование совсем не осталось и я погорел на багах, которые не смог выявить при личном тестировании. К тому же я сильно просел по деньгам и попал в финансовую яму, из которой удалось выбраться лишь в середине прошлого месяца. Но несомненным плюсом оказалось то, что освоить новую платформу за полтора месяца, работая с ней по вечерам вполне реально. Жаль лишь, что приложение я не стал публиковать, и ВК порезали доступ к API. За окном был сентябрь.</p>
<p>Наступили спокойные деньки. Я начал работу над диссертацией. Проекты писались, сдавались &#8211; иногда даже в сроки. Я знакомился с новыми, интересными людьми, читал разные книжки (перечитывая &#8220;Совершенный код&#8221; долго удивлялся как много осталось в голове, несмотря на темпы чтения).</p>
<p>Но  конец сентября принес свои сюрпризы, из компании уходило два разработчика, и дыры надо было как то затыкать. Новые кадры не спешили, поэтому затыкали дыры пришлось своими телами, ведь как говорится &#8211; спасение утопающих, дело рук самих утопающих. Напрягшись, мы выгребли из водоворота в районе ноября. К этому моменту у нас появился новый падаван, обучение которого легло на меня. К счастью кадр попался смышленый.</p>
<p>С середины ноября, я неожиданно для себя, оказался ведущим программистом. Посмотрим, что из этого выйдет.</p>
<p>To be continued&#8230;</p>
<p>P.S.: Счетчик посещений от li.ru показывает, что кто-то до сих пор заходит на блог из закладок, забавно.</p>
]]></content:encoded>
			<wfw:commentRss>http://wert1go.ru/a-year-later/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>RageR &#8211; читалка новых русскоязычных rage комиксов</title>
		<link>http://wert1go.ru/rager-chitalka-novyx-russkoyazychnyx-rage-komiksov</link>
		<comments>http://wert1go.ru/rager-chitalka-novyx-russkoyazychnyx-rage-komiksov#comments</comments>
		<pubDate>Sun, 08 Jan 2012 10:17:30 +0000</pubDate>
		<dc:creator>Wert1go</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Проекты]]></category>
		<category><![CDATA[RageR]]></category>

		<guid isPermaLink="false">http://wert1go.ru/?p=884</guid>
		<description><![CDATA[Как оказалось, в последнее время в интернетах популярны rage комиксы. В Маркете имеется целая плеяда приложений для чтения оных комиксов, но все они предлагаю только англоязычные комиксы. Вызов был принят. RageR &#8211; читалка новых русскоязычных rage комиксов. Простое? легкое и полностью бесплатное приложение, с помощью которого можно читать самые свежие комиксы с популярных отечественных ресурсов (пока [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignright size-full wp-image-885" title="RageR" src="http://wert1go.ru/wp-content/uploads/2012/01/250.png" alt="RageR" width="250" height="250" />Как оказалось, в последнее время в интернетах популярны <a href="http://lurkmore.to/Rage_Comics">rage комиксы</a>. В Маркете имеется целая плеяда приложений для чтения оных комиксов, но все они предлагаю только англоязычные комиксы. Вызов был принят.</p>
<p style="text-align: justify;">RageR &#8211; читалка новых русскоязычных rage комиксов.</p>
<p style="text-align: justify;">Простое? легкое и полностью бесплатное приложение, с помощью которого можно читать самые свежие комиксы с популярных отечественных ресурсов (пока comicsbook.ru и troll-face.ru). Приложение получает свежие комиксы в течение двух часов. Есть возможность добавлять комиксы в избранное.</p>
<p style="text-align: justify;">Все комиксы просматриваются в режиме он-лайн, так что наличие интернета обязательно.</p>
<p style="text-align: justify;">Приложение на маркете:</p>
<p style="text-align: justify;"><a href="https://market.android.com/details?id=ru.wert1go.rager">RageR</a></p>
<p style="text-align: justify;"><span id="more-884"></span>Ключевые слова: <strong>rage комиксы</strong>, <strong>фуу комиксы</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://wert1go.ru/rager-chitalka-novyx-russkoyazychnyx-rage-komiksov/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Историк v1.3</title>
		<link>http://wert1go.ru/istorik-v1-3</link>
		<comments>http://wert1go.ru/istorik-v1-3#comments</comments>
		<pubDate>Mon, 02 Jan 2012 14:16:51 +0000</pubDate>
		<dc:creator>Wert1go</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Проекты]]></category>
		<category><![CDATA[Историк]]></category>

		<guid isPermaLink="false">http://wert1go.ru/?p=875</guid>
		<description><![CDATA[Новая версия Историка вышла еще до нового года (1.2), но я временил с публикацией изменений, и, как оказалось, не зря &#8211; по невнимательности упустил один баг, который заставляет приложение падать. Поэтому приложение пришлось вновь обновить, без особых нововведений, но уж лучше так, чем с багом. Нововведения за версии 1.2 и 1.3: - были добавлены новые [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignright" title="Историк v1.3 - история России на Android" src="http://wert1go.ru/wp-content/uploads/2011/12/250.jpg" alt="" width="250" height="250" />Новая версия Историка вышла еще до нового года (1.2), но я временил с публикацией изменений, и, как оказалось, не зря &#8211; по невнимательности упустил один баг, который заставляет приложение падать. Поэтому приложение пришлось вновь обновить, без особых нововведений, но уж лучше так, чем с багом. Нововведения за версии 1.2 и 1.3:<br />
- были добавлены новые тематические тесты, темы следующие:</p>
<ul style="text-align: justify;">
<li>Древнерусское государство</li>
<li>Русские земли в XII–XIII вв</li>
<li>Образование единого Российского государства в XIV–XV вв</li>
<li>Россия в XVI веке</li>
<li>Россия в XVII веке</li>
<li>Российская империя в XVIII веке</li>
<li>Россия в XIX веке</li>
<li>Россия в начале XX века</li>
<li>СССР в 1917–1930-е годы</li>
<li>Великая Отечественная война</li>
<li>СССР в 1945–1964гг</li>
<li>СССР в 1964–1984гг</li>
<li>СССР в 1985–1991гг</li>
<li>Россия в 1990-е годы XX в</li>
</ul>
<div style="text-align: justify;">- обновлен модуль тестирования в целом, теперь результаты теста можно просматривать, а удачно пройденные тесты запоминаются</div>
<div style="text-align: justify;">- косметические изменения в модуле исторических личностей</div>
<div style="text-align: justify;">- исправлены ошибки приводившие к падению приложения</div>
<p style="text-align: justify;">Приложение выпущено в двух версиях:</p>
<p style="text-align: justify;"><a href="https://market.android.com/details?id=ru.wert1go.historianfree">Историк Free (с рекламой)</a></p>
<p style="text-align: justify;"><a href="https://market.android.com/details?id=ru.wert1go.historian">Историк (без рекламы, но за 30р)</a></p>
<div style="text-align: justify;">Ключевые слова: <strong>история России на Android</strong>, <strong>история России на андроид</strong></div>
]]></content:encoded>
			<wfw:commentRss>http://wert1go.ru/istorik-v1-3/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>AndroidExplore, выпуск 1</title>
		<link>http://wert1go.ru/androidexplore-vypusk-1</link>
		<comments>http://wert1go.ru/androidexplore-vypusk-1#comments</comments>
		<pubDate>Sun, 25 Dec 2011 15:47:54 +0000</pubDate>
		<dc:creator>Wert1go</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[saxparser]]></category>

		<guid isPermaLink="false">http://wert1go.ru/?p=869</guid>
		<description><![CDATA[Пока готовил новую версию Историка, пришлось столкнуться и исследовать несколько особенностей Android, дабы столкновения с ними в будущем проходили менее болезненно решил фиксировать самое интересное (дабы вновь не рыскать по stackoverflow.com, благодаря которому решается подавляющее большинство проблем) 1.  getStringArray(),  reference table overflow Если вы используете означенный метод для работы с большими массивами строк и работаете [...]]]></description>
			<content:encoded><![CDATA[<p>Пока готовил новую версию Историка, пришлось столкнуться и исследовать несколько особенностей Android, дабы столкновения с ними в будущем проходили менее болезненно решил фиксировать самое интересное (дабы вновь не рыскать по stackoverflow.com, благодаря которому решается подавляющее большинство проблем)</p>
<h3>1.  getStringArray(),  reference table overflow</h3>
<p>Если вы используете означенный метод для работы с большими массивами строк и работаете с версиями ниже Android 2.3.3, то добро пожаловать в клуб начинающих парсеров.</p>
<p>getStringArray() не прибирает за собой как следовало бы, из-за чего происходит переполнение таблицы ссылок (в ней максимум 512 элементов), ну а из-за этого приложение банально падает.</p>
<p>Выходы:</p>
<p>а) перевод приложения на версии от 2.3.3</p>
<p>б) использование парсера</p>
<p>Выход а &#8211; не кошерный, поэтому идем и учимся использовать парсер. Мне подошел SAX parser:</p>
<ul>
<li><a href="http://www.quizful.net/post/sax-parser-java">пример реализации на java</a></li>
<li><a href="http://stackoverflow.com/questions/3522181/should-i-be-using-something-other-than-getresource-getstringarray-to-populat">пример непосредственно для Android</a></li>
</ul>
<p>Парсер однако не идеален, бывает так, что без причины бьет строки &#8211; для борьбы с этим используете методы startElement() и endElement(). И да, работает он медленнее встроенных функций.</p>
<h3>2. Форматирование текста в xml файлах ресурсов</h3>
<p><span id="more-869"></span><br />
Наверняка, однажды захочется выводить в TextView не голый текст, а что-то, хоть слегка отформатированное, ну  а для этого нет ничего лучше html, проблема лишь в том, что парсинг xml родными функция не дает должного результата.</p>
<p>А все потому, что все теги игнорируется, несмотря на то, что мы пытаемся их отобразить используя Html.fromHtml(), без паники несколько символов исправят положение:</p>
<p>&lt;string name=&#8221;about&#8221;&gt;&lt;![CDATA[<br />
&lt;p&gt;Благодарю за установку приложения Историк.&lt;/p&gt;<br />
&lt;p&gt;Историк - это интерактивный справочник по истории России. Цель существования приложения - предоставить<br />
удобный интерфейс для работы с массивом информации по истории нашей страны.&lt;/p&gt;<br />
&lt;p&gt;Если приложение вам понравилось, оставьте свою оценку на Android Market.&lt;/p&gt;]]&gt;<br />
&lt;/string&gt;</p>
<p>Чтобы получить и вывести отформатированный текст просто:</p>
<p>Spanned sp = Html.fromHtml(getResources().getString(R.string.about));</p>
<p>text.setText(sp);</p>
<p>Где text &#8211; экземпляр TextView.</p>
<h3>3. Главный экран? Дайте два</h3>
<p>Это повторялось уже не раз и не два, и даже не сотню, но мне удалось про это забыть, поэтому:</p>
<p>Нужно постоянно помнить о возможной смене ориентации &#8211; скорее всего приложение изменится так, что при должной НЕ подготовке вызовет facepalm у уставшего разработчика.</p>
<p>Выход: думать заранее об смене ориентации и готовить макеты сразу для портретного и ландшафтного вида. Оба должны иметь одинаковое имя, но один из них будет главным и скорее всего будет храниться в основной папке &#8211; layout, а второй будет лежать в папке layout-land или layout-port в зависимости от обстоятельств.</p>
<h3>4. Сохранение данных или снова о смене ориентации экрана</h3>
<p>При смене ориентации экрана Activity убивается, и метод onCreate вызывает еще раз (первый раз был при запуске Activity). Если вы не позаботитесь об сохранении данных, которыми оперирует приложение, то получите пустой экран (в зависимости от роли потерянных данных). Пример: <a href="http://wert1go.ru/pishem-prilozhenie-dlya-android">приложение решения квадратных уравнений</a>. Если вы осилили мануал, и получили приложение, то уже могли заметить, что при смене ориентации экрана все данных пропадают.</p>
<p>Выход:</p>
<p>1. Использование метода onSaveInstanceState(), <a href="http://stackoverflow.com/questions/4096169/onsaveinstancestate-and-onrestoreinstancestate">читаем топовый ответ</a>.</p>
<p>2. Использование SharedPreferences, <a href="http://stackoverflow.com/questions/4861379/android-sharedpreferences">опять читаем топовый ответ</a>.</p>
<p>Что именно использовать зависит от ваших потребностей. Первый способ позволяет хранить данные в пределах Activity, второй в пределах всего приложения.</p>
<h3>5. Загрузка https страниц</h3>
<p>В работе с WebView я продвинулся не намного дальше, туториала от Google, но уже столкнулся с тем, что загрузить Маркет с помощью этого примера не получается.</p>
<p>Выход:</p>
<p>Добавить в класс Web-клиента этот метод:<br />
@Override</p>
<p>public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {</p>
<p>handler.proceed(); // Ignore SSL certificate errors</p>
<p>}</p>
]]></content:encoded>
			<wfw:commentRss>http://wert1go.ru/androidexplore-vypusk-1/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Историк v1.1</title>
		<link>http://wert1go.ru/istorik-v1-1</link>
		<comments>http://wert1go.ru/istorik-v1-1#comments</comments>
		<pubDate>Sun, 25 Dec 2011 14:56:19 +0000</pubDate>
		<dc:creator>Wert1go</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Проекты]]></category>
		<category><![CDATA[Историк]]></category>

		<guid isPermaLink="false">http://wert1go.ru/?p=866</guid>
		<description><![CDATA[Вчера обновил приложение до версии 1.1, теперь Историк стал умнее: - расширена база дат и событий, понятий и определений - добавлен раздел о исторических личностях - добавлен демо-вариант ЕГЭ по истории за 2012 год Так же были сделаны кое-какие косметические изменения: - главный экран программы теперь набор прямоугольников (понравился UI с WP7) - новая клевая [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-867" title="Историк 1.1 - история России на Android" src="http://wert1go.ru/wp-content/uploads/2011/12/250.jpg" alt="Историк 1.1 - история России на Android" width="250" height="250" />Вчера обновил приложение до версии 1.1, теперь Историк стал умнее:</p>
<p>- расширена база дат и событий, понятий и определений</p>
<p>- добавлен раздел о исторических личностях</p>
<p>- добавлен демо-вариант ЕГЭ по истории за 2012 год</p>
<p>Так же были сделаны кое-какие косметические изменения:</p>
<p>- главный экран программы теперь набор прямоугольников (понравился UI с WP7)</p>
<p>- новая клевая иконка (см. справа)</p>
<p>- описание приложения и последних изменений теперь можно прочитать в самом приложении</p>
<p>В планах: расширение контента, кое-какие изменения в подаче материала, добавление светлой темы.</p>
<p style="text-align: justify;">Приложение выпущено в двух версиях:</p>
<p style="text-align: justify;"><a href="https://market.android.com/details?id=ru.wert1go.historianfree">Историк Free (с рекламой)</a></p>
<p style="text-align: justify;"><a href="https://market.android.com/details?id=ru.wert1go.historian">Историк (без рекламы, но за 30р)</a></p>
<p>Ключевые слова: <strong>история России на Android</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://wert1go.ru/istorik-v1-1/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Историк &#8211; История России в кармане</title>
		<link>http://wert1go.ru/istorik-istoriya-rossii-v-karmane</link>
		<comments>http://wert1go.ru/istorik-istoriya-rossii-v-karmane#comments</comments>
		<pubDate>Sat, 17 Dec 2011 07:52:18 +0000</pubDate>
		<dc:creator>Wert1go</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Проекты]]></category>
		<category><![CDATA[Историк]]></category>

		<guid isPermaLink="false">http://wert1go.ru/?p=862</guid>
		<description><![CDATA[Выложил в Маркет свое первое приложение имя которому Историк v1.0. Приложение простое, в нем не используются какие-либо графические или технологические изыски, но тем не менее, на мой взгляд оно весьма полезно (особенно когда нет доступа к интернету). Приложение предлагает следующий функционал основанный на истории России: - хронологическая таблица дат и событий - основные понятия и [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignright size-medium wp-image-863" title="512" src="http://wert1go.ru/wp-content/uploads/2011/12/512-300x300.png" alt="" width="300" height="300" />Выложил в Маркет свое первое приложение имя которому <strong>Историк v1.0</strong>.</p>
<p style="text-align: justify;">Приложение простое, в нем не используются какие-либо графические или технологические изыски, но тем не менее, на мой взгляд оно весьма полезно (особенно когда нет доступа к интернету).</p>
<p style="text-align: justify;">Приложение предлагает следующий функционал основанный на истории России:</p>
<p style="text-align: justify;">- хронологическая таблица дат и событий</p>
<p style="text-align: justify;">- основные понятия и определения</p>
<p style="text-align: justify;">- тесты для проверки знаний</p>
<p style="text-align: justify;">Модуль дат и событие сортируется по мере ввода данных, аналогично работает и модуль понятий и определений. Тесты для проверки знаний (5 вариантов) представляют из себя наборы по 20 вопросов, на каждый из которых имеется по 4 ответа.</p>
<p style="text-align: justify;">Кому и зачем: школьникам и студентам, оставшимся без интернета на зачете/экзамене/контрольной.</p>
<p style="text-align: justify;">Приложение выпущено в двух версиях:</p>
<p style="text-align: justify;"><a href="https://market.android.com/details?id=ru.wert1go.historianfree">Историк Free (с рекламой)</a></p>
<p style="text-align: justify;"><a href="https://market.android.com/details?id=ru.wert1go.historian">Историк (без рекламы, но за 30р)</a></p>
<p style="text-align: justify;">Вся информация для приложения была взята из открытых источников, изображение иконки и промо - Bernhard Karl von Koehne (1883, взято из Википедии).</p>
]]></content:encoded>
			<wfw:commentRss>http://wert1go.ru/istorik-istoriya-rossii-v-karmane/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Регистрация разработчика в Android Market</title>
		<link>http://wert1go.ru/registraciya-razrabotchika-v-android-market</link>
		<comments>http://wert1go.ru/registraciya-razrabotchika-v-android-market#comments</comments>
		<pubDate>Thu, 15 Dec 2011 10:59:10 +0000</pubDate>
		<dc:creator>Wert1go</dc:creator>
				<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://wert1go.ru/?p=856</guid>
		<description><![CDATA[Зарегистрировался час назад, и решил поделиться полученным опытом. В идеале регистрация в Android Market проходит по следующему алгоритму:  Идем сюда, и начинаем вводить свои данные. Оплачиваем взнос в 25 $ (С использованием кредитки) Регистрируем аккаунт продавца в Google Checkout Публикуем приложение Профит И конечно же есть несколько веских &#8220;НО&#8221;, которые способны попортить нервы и потратить [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Зарегистрировался час назад, и решил поделиться полученным опытом.</p>
<p style="text-align: justify;">В идеале регистрация в Android Market проходит по следующему алгоритму:</p>
<ol style="text-align: justify;">
<li> <a href="https://market.android.com/publish/">Идем сюда</a>, и начинаем вводить свои данные.</li>
<li>Оплачиваем взнос в 25 $ (С использованием кредитки)</li>
<li>Регистрируем аккаунт продавца в Google Checkout</li>
<li>Публикуем приложение</li>
<li>Профит</li>
</ol>
<div style="text-align: justify;">И конечно же есть несколько веских &#8220;НО&#8221;, которые способны попортить нервы и потратить время &#8211; они сосредоточены в пунктах 2 и 3.</div>
<h3 style="text-align: justify;">Оплата взноса</h3>
<p>Погуглив немного становится ясно, что людям без пластиковых карт придется таки топать в банк и выписывать себе карточку. Но это впечатление ложное, как всегда есть альтернатива, поэтому вот оба пути:</p>
<div style="text-align: justify;"><strong>Путь с пластиковой картой</strong></div>
<div style="text-align: justify;">Завести пластиковую карту, если нет (в сетях рекомендуют Visa Classic USD + Приват банк). Затем заказать на сайте банка карточку Visa Classic Internet (USD) пополнить ее баланс одним из доступных способов и оплатить. Учтите, что на карте должно быть <a href="http://prodroid.com.ua/?p=1">больше 25$</a>.<span id="more-856"></span></div>
<div style="text-align: justify;"><strong>Путь с виртуальной картой</strong></div>
<div style="text-align: justify;">Если нет желания или возможности последовать по первому пути, то есть и другой путь. О его существовании мне подсказал клиент Webmoney предложив купить карты MasterCard и Visa Classic для интернета. Это виртуальные карты, с определенным номиналом и кратким сроком жизни. Но самое главное это то, что они предоставляют необходимые для регистрации данные:</div>
<div style="text-align: justify;">
<ul>
<li>номер карты</li>
<li>CVV код</li>
<li>дату истечения срока действия</li>
</ul>
<div>Купить такую карту можно <a href="http://www.plati.ru/asp/list_pin.asp?id_f=11354">здесь</a>. Номинал карты может быть производным, но помните про то, что он должен быть больше 25,35 $.</div>
<div>Если вы пойдете этим путем, то часть данных которые должны браться с карты вводить придется самим:</div>
<div>
<ul>
<li>Имя Фамилия</li>
<li>Почтовый индекс</li>
<li>Адрес</li>
</ul>
<div>Советую указывать реальные, мало ли что. По поводу того, что карты реально не существует не волнуйтесь &#8211; Google сразу прикрепляет вашу карту к аккаунту, дабы вы могли оплачивать другие покупки, но вы можете в любой момент удалить любую из карт и указать новую.</div>
</div>
</div>
<h3 style="text-align: justify;">Регистрация аккаунта продавца в Google Checkout</h3>
<div style="text-align: justify;">Здесь мне повезло &#8211; регистрация завершилась за несколько десятков секунд (да, я не читал соглашение). Но, дело в том, что у меня уже был аккаунт в Google Adsense и Google автоматически связал мои аккаунты в единой целое.</div>
<div style="text-align: justify;">Для тех же у кого аккаунта в Google Adsense еще нет есть простой рецепт:</div>
<div>
<ol style="text-align: justify;">
<li>Создаем блог на <a href="http://www.blogger.com/">Blogger.com</a></li>
<li>Приводим его в порядок (любой шаблон, свое название, какой-нибудь пост и блок AdSense в сайдбаре &#8211; все это просто и понятно)</li>
<li>Регистрируемся в Google Adsense, в качестве сайта указываем только что созданный блог</li>
<li>Ждем одобрения</li>
</ol>
<div style="text-align: justify;">Вывод заработанных на продаже приложений денег будет происходить через Google Adsense, так что в настройках нужно будет запросить подтверждение аккаунта &#8211; вам вышлют письмо с пин-кодом. После этого можно будет настроить способ выплаты:</div>
<div style="text-align: justify;">
<ul>
<li>Чек</li>
<li>Платеж через систему <a href="https://pps.rapida.ru/?aID=301&amp;ggg=1&amp;ctime=3">Rapida</a></li>
</ul>
<div>Я работаю со вторым вариантом и получаю деньги на webmoney (у сервиса уйма настроек и шаблонов платежей, в т.ч. можно получать деньги почтовыми переводами или на пластиковую карту). Минимальный порог выплат 100 y.e.</div>
</div>
<div style="text-align: justify;">Вроде все. Вопросы в комментарии.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://wert1go.ru/registraciya-razrabotchika-v-android-market/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Компиляция и установка apk файла</title>
		<link>http://wert1go.ru/kompilyaciya-i-ustanovka-apk-fajla</link>
		<comments>http://wert1go.ru/kompilyaciya-i-ustanovka-apk-fajla#comments</comments>
		<pubDate>Fri, 25 Nov 2011 16:23:41 +0000</pubDate>
		<dc:creator>Wert1go</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[eclipse]]></category>

		<guid isPermaLink="false">http://wert1go.ru/?p=831</guid>
		<description><![CDATA[В прошлый раз мы написали простую программу. Она спокойно запускается и работает на эмуляторе, но вот поделиться ей с кем-нибудь не получится – максимум ее можно будет установить на свой телефон при помощи Eclipse. Дабы разобраться с этой не справедливостью мы научимся компилировать программы для Android в apk файлы, а заодно научимся их инсталлировать на [...]]]></description>
			<content:encoded><![CDATA[<p>В прошлый раз <a href="http://wert1go.ru/pishem-prilozhenie-dlya-android">мы написали простую программу</a>. Она спокойно запускается и работает на эмуляторе, но вот поделиться ей с кем-нибудь не получится – максимум ее можно будет установить на свой телефон при помощи Eclipse. Дабы разобраться с этой не справедливостью мы научимся компилировать программы для Android в apk файлы, а заодно научимся их инсталлировать на эмуляторе без помощи Eclipse.</p>
<h3>Компиляция программы</h3>
<p>Eclipse берет практически все заботы по компиляции программы на себя – разработчику остается лишь внимательно заполнять требуемые поля.</p>
<ol>
<li>Переходим: File -&gt; Export…</li>
<li>Выбираем Android -&gt; Export Android Aplication, жмем Next</li>
<li>Выбираем проект для компиляции, жмем Next</li>
<li>Создаем (или используем старый) файл для хранения ключей, жмем Next</li>
<li>Заполняем необходимые данные, жмем Next</li>
<li>Выбираем папку, куда будет сохранен apk файл и давим Finish</li>
</ol>
<p><a href="http://wert1go.ru/wp-content/uploads/2011/11/equation.apk">apk</a> написанной в прошлый раз программы.</p>
<h3>Установка apk файла на эмулятор</h3>
<p>После того, как вы заполучили apk файл его можно устанавливать и на телефон и на эмулятор. С установкой телефон у их владельцев думаю проблем не будет, а вот с установкой apk на эмулятор разберемся.<span id="more-831"></span></p>
<p>Первым делом нам нужно узнать где хранится файл adb.exe. В моем случае (я не изменял настроек установки ADT) файл хранится по адресу:</p>
<blockquote><p><strong>C:\Program Files\Android\platform-tools</strong></p></blockquote>
<p>Копируем в эту папку apk файл, который хотим установить.</p>
<p>Теперь нужно запустить командную строку, напоминаю как это делается:</p>
<ol>
<li>Пуск -&gt; Выполнить</li>
<li>Ввести cmd и нажать Enter</li>
</ol>
<p>Появится командная строка. По умолчанию она уже готова работать с какой-нибудь папкой. Нам нужна не какая-нибудь, а вполне конкретная папка, поэтому переходим в нее с помощью команды &#8220;cd&#8221;:</p>
<blockquote><p><strong>cd C:\Program files\Android\platform-tools</strong></p></blockquote>
<p>Затем вводим команду:</p>
<blockquote><p><strong>adb </strong><strong>install *.</strong><strong>apk</strong></p></blockquote>
<p>За место * вводится имя файла. Кстати аналогичным способом можно и удалять программы с эмулятора, нужно лишь, слегка, изменить команду:</p>
<blockquote><p><strong>adb </strong><strong>uninstall *.</strong><strong>apk</strong></p></blockquote>
<p>И, конечно же, для установки и удаления программ необходимо, чтобы эмулятор был включен.</p>
]]></content:encoded>
			<wfw:commentRss>http://wert1go.ru/kompilyaciya-i-ustanovka-apk-fajla/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
