<?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>olex.biz &#187; android</title>
	<atom:link href="http://olex.biz/category/blog/software/android/feed/" rel="self" type="application/rss+xml" />
	<link>http://olex.biz</link>
	<description>Сайт студента факультета информатики и просто хорошего человека</description>
	<lastBuildDate>Tue, 07 Feb 2012 14:15:59 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Цитатник &#8211; мое приложение для Android</title>
		<link>http://olex.biz/android/quoter/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=quoter</link>
		<comments>http://olex.biz/android/quoter/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 00:00:24 +0000</pubDate>
		<dc:creator>Olexandr Savchuk</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[код]]></category>
		<category><![CDATA[юмор]]></category>

		<guid isPermaLink="false">http://olex.biz/?p=202</guid>
		<description><![CDATA[Android Market: Quoter Смешные цитаты со множества сайтов. Идеальное времяпровождение в очередях, транспорте и т.д. - Возможность выбора любимых цитатников - Сохранение страниц для чтения оффлайн - Отправка цитат через СМС, электропочту, Facebook и т.д. Рекламу в приложении можно отключить в настройках. Но если вам нравится мое приложение и вы хотели бы поддержать меня как [...]]]></description>
			<content:encoded><![CDATA[<p>
<div class="pie-gallery alignGalleryLeft">
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh3.ggpht.com/-dITD9nIhKhY/TzCDPvWcW_I/AAAAAAAACzw/CA4kqloFSJs/1.jpg?imgmax=800" rel="lightbox[2012-1-2-2-53-55]"><img src="http://lh3.ggpht.com/-dITD9nIhKhY/TzCDPvWcW_I/AAAAAAAACzw/CA4kqloFSJs/1.jpg?imgmax=144" alt="1.jpg" width="86" height="144" class="pie-img"/></a></p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh4.ggpht.com/-1hdIlABv_Mg/TzCDQfD6iqI/AAAAAAAACz4/gjcOlThmHmQ/2.jpg?imgmax=800" rel="lightbox[2012-1-2-2-53-55]"><img src="http://lh4.ggpht.com/-1hdIlABv_Mg/TzCDQfD6iqI/AAAAAAAACz4/gjcOlThmHmQ/2.jpg?imgmax=144" alt="2.jpg" width="86" height="144" class="pie-img"/></a></p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh5.ggpht.com/--dPWhxXMRWE/TzCDQ_dJaEI/AAAAAAAAC0E/z4ahSJdo4xI/3.jpg?imgmax=800" rel="lightbox[2012-1-2-2-53-55]"><img src="http://lh5.ggpht.com/--dPWhxXMRWE/TzCDQ_dJaEI/AAAAAAAAC0E/z4ahSJdo4xI/3.jpg?imgmax=144" alt="3.jpg" width="86" height="144" class="pie-img"/></a></p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh6.ggpht.com/-Z_1PEw-6ATA/TzCDRnhj4yI/AAAAAAAAC0M/Wen8lpx4T64/4.jpg?imgmax=800" rel="lightbox[2012-1-2-2-53-55]"><img src="http://lh6.ggpht.com/-Z_1PEw-6ATA/TzCDRnhj4yI/AAAAAAAAC0M/Wen8lpx4T64/4.jpg?imgmax=144" alt="4.jpg" width="86" height="144" class="pie-img"/></a></p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh5.ggpht.com/-zXBUt6CO_8M/TzCDSp-OguI/AAAAAAAAC0Q/uNBAb3olDLs/6.jpg?imgmax=800" rel="lightbox[2012-1-2-2-53-55]"><img src="http://lh5.ggpht.com/-zXBUt6CO_8M/TzCDSp-OguI/AAAAAAAAC0Q/uNBAb3olDLs/6.jpg?imgmax=144" alt="6.jpg" width="86" height="144" class="pie-img"/></a></p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh4.ggpht.com/-Nxv8AxWIj34/TzCDSJ-Ts7I/AAAAAAAAC0U/Qa67up7_KUQ/5.jpg?imgmax=800" rel="lightbox[2012-1-2-2-53-55]"><img src="http://lh4.ggpht.com/-Nxv8AxWIj34/TzCDSJ-Ts7I/AAAAAAAAC0U/Qa67up7_KUQ/5.jpg?imgmax=144" alt="5.jpg" width="86" height="144" class="pie-img"/></a></p>
</div>
</div>
<p><a href="https://market.android.com/details?id=biz.olex.android.quoter">Android Market: Quoter</a></p>
<p>Смешные цитаты со множества сайтов. Идеальное времяпровождение в очередях, транспорте и т.д. </p>
<p>- Возможность выбора любимых цитатников<br />
- Сохранение страниц для чтения оффлайн<br />
- Отправка цитат через СМС, электропочту, Facebook и т.д.</p>
<p>Рекламу в приложении можно отключить в настройках. Но если вам нравится мое приложение и вы хотели бы поддержать меня как разработчика, пожалуйста оставьте ее включенной. Спасибо <img src='http://olex.biz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Любые комментарии и предложения с радостью принимаются здесь или по электропочте.</p>
<p>Цитатники на русском и украинском:<br />
- bash.org.ru: последние, случайные, бездна, лучшее бездны, с поддержкой страниц!<br />
- ibash.org.ru<br />
- ithappens.ru<br />
- zadolba.li<br />
- bash.bynets.org (бывший bash.org.by)<br />
- ukrbash.org<br />
- killmepls.ru<br />
- nefart.ru<br />
- uebalby.com</p>
<p><span id="more-202"></span></p>
<p>Цитатники на английском:<br />
- bash.org: latest, random, random >0, top100<br />
- qdb.us<br />
- fmylife.com</p>
<p>Цитатники на немецком:<br />
- german-bash.org: latest, random<br />
- ibash.de<br />
- swissbash.ch<br />
- abash.at<br />
- SMSvonGesternNacht<br />
- school-bash.org</p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Folex.biz%2Fandroid%2Fquoter%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://olex.biz/android/quoter/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://olex.biz/android/quoter/"  data-text="Цитатник &#8211; мое приложение для Android" data-count="horizontal" data-via="olex"></a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://olex.biz/android/quoter/feed/langswitch_lang/ru/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Android: прокрутка ListView клавишами громкости</title>
		<link>http://olex.biz/android/scroll-listview-with-volume-keys/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=scroll-listview-with-volume-keys</link>
		<comments>http://olex.biz/android/scroll-listview-with-volume-keys/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 23:47:06 +0000</pubDate>
		<dc:creator>Olexandr Savchuk</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[код]]></category>

		<guid isPermaLink="false">http://olex.biz/?p=255</guid>
		<description><![CDATA[Basically, what you need to do is to override the <code>dispatchKeyEvent()</code> method in your Activity, and intercept key presses for the volume keys, leaving the other keys untouched. This is how I did it, fairly straightforward...]]></description>
			<content:encoded><![CDATA[<p>Прокрутка списка кнопками громкости в приложениях на Андроиде нa самом деле не является чем-то сложным. Не зная этого, вчера я потратил какое-то время в поисках хорошего руководства на эту тему. Написав код и опубликовав <a href="http://olex.biz/android/quoter">Quoter</a> в версии 1.0, я решил сам написать небольшую заметку об этом.</p>
<p>Итак, что нам нужно сделать, это переписать метод <code>dispatchKeyEvent()</code> в нашей Activity, и таким образом перехватить нажатия кнопок громкости.</p>
<pre name="code" class="java">@Override
public boolean dispatchKeyEvent(KeyEvent event) {
	if (event.getAction() == KeyEvent.ACTION_DOWN) {
		switch (event.getKeyCode()) {
		case KeyEvent.KEYCODE_VOLUME_UP:
			scrollToPrevious();
			return true;
		case KeyEvent.KEYCODE_VOLUME_DOWN:
			scrollToNext();
			return true;
		}
	}
	if (event.getAction() == KeyEvent.ACTION_UP
		&#038;&#038; (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP
			|| event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN)) {
		return true;
	}
	return super.dispatchKeyEvent(event);
}</pre>
<p>Наш код выполняется только на событии нажатия клавиш (<code>ACTION_DOWN</code>). Событие <code>ACTION_UP</code> перехватывается для того, чтобы предотвратить системный звук нажатия клавиши. Также проверяется <code>event.getKeyCode()</code>, и если нажата одна из нужных клавиш, вызываются соответствующие функции. В других случаях (другие события или клавиши) событие передается стандартному обработчику.</p>
<p>Теперь остались только собственно функции прокрутки <code>ListView</code>. Проблема с ними вот в чем. Можно прокрутить список в любую точку с помощью метода <code>scrollTo()</code>, но нам нужно перейти не к координатам, а к конкретному элементу списка &#8211; Quoter есть приложение для чтения, и читатель хочет перейти к следующей цитате. Вот что мы для этого можем сделать:</p>
<pre name="code" class="java">private void scrollToNext() {
	int currentPosition = getListView().getFirstVisiblePosition();
	if (currentPosition == getListView().getCount() - 1)
		return;
	getListView().setSelection(currentPosition + 1);
	getListView().clearFocus();
}

private void scrollToPrevious() {
	int currentPosition = getListView().getFirstVisiblePosition();
	if (currentPosition == 0)
		return;
	getListView().setSelection(currentPosition - 1);
	getListView().clearFocus();
}</pre>
<p>Вначале определяем позицию в списке первого видимого на экране элемента. Если это уже последний элемент в нужном направлении, ничего не делаем. В другом случае выставляем выбранный элемент списка на следующую позицию, при этом список прокручивается куда надо автоматически (как при навигации стрелками на клавиатуре). Единственная оставшаяся проблема: при выделении элемента списка он подсвечивается, что мешает читать. Снимаем выделение, убрав фокус со списка. Готово.</p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Folex.biz%2Fandroid%2Fscroll-listview-with-volume-keys%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://olex.biz/android/scroll-listview-with-volume-keys/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://olex.biz/android/scroll-listview-with-volume-keys/"  data-text="Android: прокрутка ListView клавишами громкости" data-count="horizontal" data-via="olex"></a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://olex.biz/android/scroll-listview-with-volume-keys/feed/langswitch_lang/ru/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Android: меню студенческих столовых</title>
		<link>http://olex.biz/blog/android-mensa/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=android-mensa</link>
		<comments>http://olex.biz/blog/android-mensa/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 21:34:30 +0000</pubDate>
		<dc:creator>Olexandr Savchuk</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[Блог]]></category>
		<category><![CDATA[Софт]]></category>
		<category><![CDATA[код]]></category>

		<guid isPermaLink="false">http://olex.biz/?p=149</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>
<div class="pie-gallery alignGalleryLeft">
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh6.ggpht.com/_fCjhR7xUM2U/Su38nCrEQDI/AAAAAAAABgM/s25WYAzN0UA/mensa-screen1.jpg?imgmax=800" rel="lightbox[2009-10-0-22-33-7]"><img src="http://lh6.ggpht.com/_fCjhR7xUM2U/Su38nCrEQDI/AAAAAAAABgM/s25WYAzN0UA/mensa-screen1.jpg?imgmax=144" alt="mensa-screen1.jpg" width="95" height="144" class="pie-img"/></a></p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh3.ggpht.com/_fCjhR7xUM2U/Su38nencqNI/AAAAAAAABgQ/v2cwtCOsvPY/screen2.jpg?imgmax=800" rel="lightbox[2009-10-0-22-33-7]"><img src="http://lh3.ggpht.com/_fCjhR7xUM2U/Su38nencqNI/AAAAAAAABgQ/v2cwtCOsvPY/screen2.jpg?imgmax=144" alt="screen2.jpg" width="96" height="144" class="pie-img"/></a></p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh5.ggpht.com/_fCjhR7xUM2U/Su38nceeb5I/AAAAAAAABgU/eFUODEy6RZo/screen3.jpg?imgmax=800" rel="lightbox[2009-10-0-22-33-7]"><img src="http://lh5.ggpht.com/_fCjhR7xUM2U/Su38nceeb5I/AAAAAAAABgU/eFUODEy6RZo/screen3.jpg?imgmax=144" alt="screen3.jpg" width="96" height="144" class="pie-img"/></a></p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh3.ggpht.com/_fCjhR7xUM2U/Su38nke_1UI/AAAAAAAABgY/CYEVKBEMmhw/screen5.jpg?imgmax=800" rel="lightbox[2009-10-0-22-33-7]"><img src="http://lh3.ggpht.com/_fCjhR7xUM2U/Su38nke_1UI/AAAAAAAABgY/CYEVKBEMmhw/screen5.jpg?imgmax=144" alt="screen5.jpg" width="95" height="144" class="pie-img"/></a></p>
</div>
<div class="pie-item" style="margin:3px 3px 0px 0px;">
<p class="pie-img-wrapper"><a href="http://lh5.ggpht.com/_fCjhR7xUM2U/Su3-gUemWhI/AAAAAAAABgc/GrtPEhZGH-w/screen1.jpg?imgmax=800" rel="lightbox[2009-10-0-22-33-7]"><img src="http://lh5.ggpht.com/_fCjhR7xUM2U/Su3-gUemWhI/AAAAAAAABgc/GrtPEhZGH-w/screen1.jpg?imgmax=144" alt="screen1.jpg" width="96" height="144" class="pie-img"/></a></p>
</div>
</div>
<p><!--<br />
--></p>
<p><img src="http://stuff.olex.biz/mensa-qr.png" alt="QR Code: Mensen Darmstadt" /></p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Folex.biz%2Fblog%2Fandroid-mensa%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://olex.biz/blog/android-mensa/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://olex.biz/blog/android-mensa/"  data-text="Android: меню студенческих столовых" data-count="horizontal" data-via="olex"></a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://olex.biz/blog/android-mensa/feed/langswitch_lang/ru/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

