<?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>ばいんのブログ</title>
	<atom:link href="http://blog.flaxia.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.flaxia.net</link>
	<description>ウソじゃないよ，ジョークという名のユーモアだよ</description>
	<lastBuildDate>Tue, 31 Jan 2012 18:17:52 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>byobuのバックエンドをtmuxからscreenに変える方法</title>
		<link>http://blog.flaxia.net/2012/02/01/byobu%e3%81%ae%e3%83%90%e3%83%83%e3%82%af%e3%82%a8%e3%83%b3%e3%83%89%e3%82%92tmux%e3%81%8b%e3%82%89screen%e3%81%ab%e5%a4%89%e3%81%88%e3%82%8b%e6%96%b9%e6%b3%95/</link>
		<comments>http://blog.flaxia.net/2012/02/01/byobu%e3%81%ae%e3%83%90%e3%83%83%e3%82%af%e3%82%a8%e3%83%b3%e3%83%89%e3%82%92tmux%e3%81%8b%e3%82%89screen%e3%81%ab%e5%a4%89%e3%81%88%e3%82%8b%e6%96%b9%e6%b3%95/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 18:17:52 +0000</pubDate>
		<dc:creator>ばいん</dc:creator>
				<category><![CDATA[開発環境]]></category>
		<category><![CDATA[byobu]]></category>

		<guid isPermaLink="false">http://blog.flaxia.net/?p=144</guid>
		<description><![CDATA[byobuのバックエンドのデフォルトはずっとscreenだったと思うのですが，Debian wheezyでbyobuを起動してみたところ，バックエンドがtmuxに設定されていました． tmuxベースの方がスッキリしている [...]]]></description>
			<content:encoded><![CDATA[<p>byobuのバックエンドのデフォルトはずっとscreenだったと思うのですが，Debian wheezyでbyobuを起動してみたところ，バックエンドがtmuxに設定されていました．</p>
<p>tmuxベースの方がスッキリしているのは良いのですが，エスケープキーの設定が反映されなかったのでtmuxからscreenにバックエンドの変更を行いました．</p>
<p>~/.byobu/backendに</p>
<p style="padding-left: 30px;">BYOBU_BACKEND=tmux</p>
<p>と書かれているので，これを</p>
<p style="padding-left: 30px;">BYOBU_BACKEND=screen</p>
<p>に書き換えます．</p>
<p>以上です．</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flaxia.net/2012/02/01/byobu%e3%81%ae%e3%83%90%e3%83%83%e3%82%af%e3%82%a8%e3%83%b3%e3%83%89%e3%82%92tmux%e3%81%8b%e3%82%89screen%e3%81%ab%e5%a4%89%e3%81%88%e3%82%8b%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian wheezyでAndroidの実機を認識させる方法</title>
		<link>http://blog.flaxia.net/2012/01/23/debian-wheezy%e3%81%a7android%e3%81%ae%e5%ae%9f%e6%a9%9f%e3%82%92%e8%aa%8d%e8%ad%98%e3%81%95%e3%81%9b%e3%82%8b%e6%96%b9%e6%b3%95/</link>
		<comments>http://blog.flaxia.net/2012/01/23/debian-wheezy%e3%81%a7android%e3%81%ae%e5%ae%9f%e6%a9%9f%e3%82%92%e8%aa%8d%e8%ad%98%e3%81%95%e3%81%9b%e3%82%8b%e6%96%b9%e6%b3%95/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 14:59:57 +0000</pubDate>
		<dc:creator>ばいん</dc:creator>
				<category><![CDATA[開発環境]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Debian]]></category>

		<guid isPermaLink="false">http://blog.flaxia.net/?p=141</guid>
		<description><![CDATA[/lib/udev/rules.d/91-permissions.rules の # usbfs-like devices SUBSYSTEM==&#8221;usb&#8221;, ENV{DEVTYPE}==&#82 [...]]]></description>
			<content:encoded><![CDATA[<p>/lib/udev/rules.d/91-permissions.rules の</p>
<div style="padding-left: 30px;"># usbfs-like devices<br />
SUBSYSTEM==&#8221;usb&#8221;, ENV{DEVTYPE}==&#8221;usb_device&#8221;, \<br />
MODE=&#8221;0664&#8243;</div>
<p>を</p>
<div style="padding-left: 30px;"># usbfs-like devices<br />
SUBSYSTEM==&#8221;usb&#8221;, ENV{DEVTYPE}==&#8221;usb_device&#8221;, \<br />
MODE=&#8221;0666&#8243;</div>
<p>に変更</p>
<div>/etc/udev/rules.d/99-android.rules に</div>
<div>
<pre style="padding-left: 30px;">SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="0502", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="0B05", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="413C", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="0489", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="091E", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="18D1", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="109B", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="0BB4", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="12D1", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="24E3", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="2116", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="0482", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="17EF", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="1004", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="22B8", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="0409", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="2080", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="0955", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="2257", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="10A9", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="1D4D", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="0471", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="04DA", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="05C6", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="1F53", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="04E8", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="04DD", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="0FCE", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="2340", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="0930", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="19D2", MODE="0666"</pre>
</div>
<div>こちらを参考にしました．</div>
<div><a href="http://unforgivendevelopment.com/2011/05/20/udev-headaches-on-debian-testing-wheezy/">http://unforgivendevelopment.com/2011/05/20/udev-headaches-on-debian-testing-wheezy/</a></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.flaxia.net/2012/01/23/debian-wheezy%e3%81%a7android%e3%81%ae%e5%ae%9f%e6%a9%9f%e3%82%92%e8%aa%8d%e8%ad%98%e3%81%95%e3%81%9b%e3%82%8b%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu11.10，Eclipse3.7でAndroidプラグインをインストールする方法</title>
		<link>http://blog.flaxia.net/2011/11/03/ubuntu11-10%ef%bc%8ceclipse3-7%e3%81%a7android%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/</link>
		<comments>http://blog.flaxia.net/2011/11/03/ubuntu11-10%ef%bc%8ceclipse3-7%e3%81%a7android%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 06:41:37 +0000</pubDate>
		<dc:creator>ばいん</dc:creator>
				<category><![CDATA[開発環境]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://blog.flaxia.net/?p=132</guid>
		<description><![CDATA[Cannot complete the install because one or more required items could not be found. Software being installed: A [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.flaxia.net/wp-content/uploads/2011/11/Screenshot-2011-11-03-152913.png"><img class="alignnone size-medium wp-image-133" title="Screenshot-2011-11-03 15:29:13" src="http://blog.flaxia.net/wp-content/uploads/2011/11/Screenshot-2011-11-03-152913-300x168.png" alt="" width="300" height="168" /></a></p>
<pre>Cannot complete the install because one or more required items could not be found.
Software being installed: Android Development Tools 15.0.0.v201110251216-213216 (com.android.ide.eclipse.adt.feature.group 15.0.0.v201110251216-213216)
Missing requirement: Android Development Tools 15.0.0.v201110251216-213216 (com.android.ide.eclipse.adt.feature.group 15.0.0.v201110251216-213216) requires 'org.eclipse.wst.sse.core 0.0.0' but it could not be found</pre>
<p>apt-get install eclipseとEclipseをインストールすると，このようなメッセージが表示され，ADTをインストールできないと思います．<br />
ここからインストールする方法です．<br />
僕はこうしたらできた，という方法なのでもっと良い方法があるかもしれませんし，間違っているかもしれません．<br />
<span id="more-132"></span><br />
方法は簡単で，「https://dl-ssl.google.com/android/eclipse/」を追加したように，「http://download.eclipse.org/releases/indigo/」を追加するだけです．<br />
<a href="http://blog.flaxia.net/wp-content/uploads/2011/11/Screenshot-2011-11-03-153643.png"><img class="alignnone size-medium wp-image-134" title="Screenshot-2011-11-03 15:36:43" src="http://blog.flaxia.net/wp-content/uploads/2011/11/Screenshot-2011-11-03-153643-300x116.png" alt="" width="300" height="116" /></a><br />
これでもう一度Androidプラグインの追加を試みると，インストールすることができました．\</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flaxia.net/2011/11/03/ubuntu11-10%ef%bc%8ceclipse3-7%e3%81%a7android%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>sbtでライブラリを有効にする方法</title>
		<link>http://blog.flaxia.net/2011/09/17/sbt%e3%81%a7%e3%83%a9%e3%82%a4%e3%83%96%e3%83%a9%e3%83%aa%e3%82%92%e6%9c%89%e5%8a%b9%e3%81%ab%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/</link>
		<comments>http://blog.flaxia.net/2011/09/17/sbt%e3%81%a7%e3%83%a9%e3%82%a4%e3%83%96%e3%83%a9%e3%83%aa%e3%82%92%e6%9c%89%e5%8a%b9%e3%81%ab%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/#comments</comments>
		<pubDate>Sat, 17 Sep 2011 06:46:03 +0000</pubDate>
		<dc:creator>ばいん</dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[開発環境]]></category>
		<category><![CDATA[sbt]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://blog.flaxia.net/?p=127</guid>
		<description><![CDATA[sbtは0.10を使用しています． build.sbtに以下を書きます． libraryDependencies ++= Seq( "net.databinder" %% "dispatch-http" % "0.8.5 [...]]]></description>
			<content:encoded><![CDATA[<pre>sbtは0.10を使用しています．</pre>
<pre>build.sbtに以下を書きます．</pre>
<pre style="padding-left: 30px;">libraryDependencies ++= Seq(
  "net.databinder" %% "dispatch-http" % "0.8.5",
  "net.databinder" %% "dispatch-oauth" % "0.8.5"
)</pre>
<pre>0.8.5はdispatch-httpや，dispatch-oauthのバージョンを表しています．</pre>
<pre>今回，例として使用したDispatchは<a href="http://dispatch.databinder.net/Dispatch.html">こちら</a>．</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.flaxia.net/2011/09/17/sbt%e3%81%a7%e3%83%a9%e3%82%a4%e3%83%96%e3%83%a9%e3%83%aa%e3%82%92%e6%9c%89%e5%8a%b9%e3%81%ab%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntuでnpmのインストールを行う</title>
		<link>http://blog.flaxia.net/2011/08/07/ubuntu%e3%81%a7npm%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%82%92%e8%a1%8c%e3%81%86/</link>
		<comments>http://blog.flaxia.net/2011/08/07/ubuntu%e3%81%a7npm%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%82%92%e8%a1%8c%e3%81%86/#comments</comments>
		<pubDate>Sat, 06 Aug 2011 18:01:12 +0000</pubDate>
		<dc:creator>ばいん</dc:creator>
				<category><![CDATA[開発環境]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://blog.flaxia.net/?p=120</guid>
		<description><![CDATA[こちらの記事を参考に行いました． $ sudo apt-get update $ sudo apt-get install git-core curl build-essential openssl libssl-dev [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.giantflyingsaucer.com/blog/?p=2284">こちらの記事</a>を参考に行いました．</p>
<p style="padding-left: 30px;">$ sudo apt-get update<br />
$ sudo apt-get install git-core curl build-essential openssl libssl-dev<br />
$ git clone https://github.com/joyent/node.git &amp;&amp; cd node<br />
$ ./configure<br />
$ make<br />
$ sudo make install<br />
$ node -v<br />
$ cd<br />
$ curl http://npmjs.org/install.sh | sudo sh</p>
<p>記事の通り上記を実行すると</p>
<pre>  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  3927  100  3927    0     0   4348      0 --:--:-- --:--:-- --:--:-- 10121
fetching: http://registry.npmjs.org/npm/-/npm-1.0.22.tgz

node.js:63
    throw e;
    ^
Error: Cannot find module 'graceful-fs'
    at loadModule (node.js:275:15)
    at require (node.js:411:14)
    at Object.&lt;anonymous&gt; (/tmp/npm.5806/package/lib/utils/read-json.js:7:10)
    at Module._compile (node.js:462:23)
    at Module._loadScriptSync (node.js:469:10)
    at Module.loadSync (node.js:338:12)
    at loadModule (node.js:283:14)
    at require (node.js:411:14)
    at Object.&lt;anonymous&gt; (/tmp/npm.5806/package/bin/read-package-json.js:9:16)
    at Module._compile (node.js:462:23)
0.2.6
~~~中略

It failed</pre>
<p>このようにインストールに失敗したので，僕がインストールに成功した方法を残します．</p>
<p>エラー出力にある通り，<span class="Apple-style-span" style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px; white-space: pre;">graceful-fsが必要なようです．<br />
これはnodejsのv0.4.0以降に含まれるようです．しかし，今回は0.2.6を使用しています．<br />
</span>なので，これを0.4.0以降にすることにします．</p>
<p style="padding-left: 30px;">$ sudo apt-get update<br />
$ sudo apt-get install git-core curl build-essential openssl libssl-dev<br />
$ git clone https://github.com/joyent/node.git &amp;&amp; cd node<br />
$ git checkout v0.5.3<br />
$ ./configure<br />
$ make<br />
$ sudo make install<br />
$ node -v<br />
$ cd<br />
$ curl http://npmjs.org/install.sh | sudo sh</p>
<p>git checkoutで使用するnodejsのバージョンを変更します．<br />
もっと新しいバージョンが存在する場合はv0.5.3より新しいものにすると良いかもしれません．</p>
<p>これで無事，npmをインストールすることができます．</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flaxia.net/2011/08/07/ubuntu%e3%81%a7npm%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%82%92%e8%a1%8c%e3%81%86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Macでjarsignerの文字化け対策</title>
		<link>http://blog.flaxia.net/2011/08/05/mac%e3%81%a7jarsigner%e3%81%ae%e6%96%87%e5%ad%97%e5%8c%96%e3%81%91%e5%af%be%e7%ad%96/</link>
		<comments>http://blog.flaxia.net/2011/08/05/mac%e3%81%a7jarsigner%e3%81%ae%e6%96%87%e5%ad%97%e5%8c%96%e3%81%91%e5%af%be%e7%ad%96/#comments</comments>
		<pubDate>Fri, 05 Aug 2011 06:51:17 +0000</pubDate>
		<dc:creator>ばいん</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://blog.flaxia.net/?p=113</guid>
		<description><![CDATA[Macに含まれるJavaは標準ではShift-JISを出力するようです． そのためUTF-8のMacのターミナルで実行すると，このように日本語が文字化けします． $ jarsigner -verify HelloWorl [...]]]></description>
			<content:encoded><![CDATA[<p>Macに含まれるJavaは標準ではShift-JISを出力するようです．<br />
そのためUTF-8のMacのターミナルで実行すると，このように日本語が文字化けします．</p>
<pre>
$ jarsigner -verify HelloWorld.apk
jar �����؂���܂����
</pre>
<p>ターミナルの文字コードをShift-JISにすることでも文字化けを解消できますが，これをするとJava以外の部分が文字化けしてしまいます．<br />
Javaの実行時に文字コードを指定することにします．</p>
<pre>
$ jarsigner -J-Dfile.encoding=UTF-8 -verify HelloWorld.apk
jar が検証されました
</pre>
<p>毎回入力するのは面倒なのでこれをjarsignerにaliasすると良いと思います．</p>
<pre>
jarsigner -J-Dfile.encoding=UTF-8
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.flaxia.net/2011/08/05/mac%e3%81%a7jarsigner%e3%81%ae%e6%96%87%e5%ad%97%e5%8c%96%e3%81%91%e5%af%be%e7%ad%96/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ScrollViewを一番下まで自動でスクロールする方法</title>
		<link>http://blog.flaxia.net/2011/07/25/scrollview%e3%82%92%e4%b8%80%e7%95%aa%e4%b8%8b%e3%81%be%e3%81%a7%e8%87%aa%e5%8b%95%e3%81%a7%e3%82%b9%e3%82%af%e3%83%ad%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/</link>
		<comments>http://blog.flaxia.net/2011/07/25/scrollview%e3%82%92%e4%b8%80%e7%95%aa%e4%b8%8b%e3%81%be%e3%81%a7%e8%87%aa%e5%8b%95%e3%81%a7%e3%82%b9%e3%82%af%e3%83%ad%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/#comments</comments>
		<pubDate>Mon, 25 Jul 2011 01:47:40 +0000</pubDate>
		<dc:creator>ばいん</dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://blog.flaxia.net/?p=108</guid>
		<description><![CDATA[ScrollViewを一番下までスクロールするには，ScrollView内部のViewのサイズが変わってからスクロールさせる必要があります． ScrollViewにOnLayoutChangeListenerをセットする [...]]]></description>
			<content:encoded><![CDATA[<p>ScrollViewを一番下までスクロールするには，ScrollView内部のViewのサイズが変わってからスクロールさせる必要があります．<br />
ScrollViewにOnLayoutChangeListenerをセットすることでこれを行うことができます．<br />
以下のようにすることで，ScrollView内部のViewのサイズが変更されるたびに一番下までスクロールします．<br />
例えば，ScrollViewの中にTextViewをセットしていたのなら，TextViewに対してappendを実行した場合などにイベントが発生します．<br />
この場合，append→TextViewのサイズが変化→layoutChangeイベント発生→スクロールの順に処理が行われます．</p>
<pre>
final ScrollView scrollView = ((ScrollView) findViewById(R.id.logScroll));
scrollView.addOnLayoutChangeListener(new OnLayoutChangeListener() {
    @Override
    public void onLayoutChange(View v, int left, int top, int right, int bottom,
            int oldLeft, int oldTop, int oldRight, int oldBottom) {
        scrollView.scrollTo(0, bottom);
    }
});
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.flaxia.net/2011/07/25/scrollview%e3%82%92%e4%b8%80%e7%95%aa%e4%b8%8b%e3%81%be%e3%81%a7%e8%87%aa%e5%8b%95%e3%81%a7%e3%82%b9%e3%82%af%e3%83%ad%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>自宅サーバにGitリポジトリを作る</title>
		<link>http://blog.flaxia.net/2011/05/23/%e8%87%aa%e5%ae%85%e3%82%b5%e3%83%bc%e3%83%90%e3%81%abgit%e3%83%aa%e3%83%9d%e3%82%b8%e3%83%88%e3%83%aa%e3%82%92%e4%bd%9c%e3%82%8b/</link>
		<comments>http://blog.flaxia.net/2011/05/23/%e8%87%aa%e5%ae%85%e3%82%b5%e3%83%bc%e3%83%90%e3%81%abgit%e3%83%aa%e3%83%9d%e3%82%b8%e3%83%88%e3%83%aa%e3%82%92%e4%bd%9c%e3%82%8b/#comments</comments>
		<pubDate>Mon, 23 May 2011 10:27:27 +0000</pubDate>
		<dc:creator>ばいん</dc:creator>
				<category><![CDATA[開発環境]]></category>
		<category><![CDATA[Git]]></category>

		<guid isPermaLink="false">http://blog.flaxia.net/?p=39</guid>
		<description><![CDATA[サーバのOSはUbutnu 10.04です． リポジトリは /var/repos とします． ディレクトリを作ります． $ sudo mkdir /var/repos ディレクトリの所有者を変更します． $sudo ch [...]]]></description>
			<content:encoded><![CDATA[<p>サーバのOSはUbutnu 10.04です．<br />
リポジトリは</p>
<p style="padding-left: 30px;">/var/repos</p>
<p>とします．</p>
<p>ディレクトリを作ります．</p>
<p style="padding-left: 30px;">$ sudo mkdir /var/repos</p>
<p>ディレクトリの所有者を変更します．</p>
<p style="padding-left: 30px;">$sudo chown あなたのユーザ名:あなたのグループ名 /var/repos</p>
<p>必要なパッケージをインストールします．</p>
<p style="padding-left: 30px;">$ sudo apt-get install git-core git-daemon-run</p>
<p>一旦サーバを停止します．</p>
<p style="padding-left: 30px;">$ sudo sv stop git-daemon</p>
<p>サーバの開始します．</p>
<p style="padding-left: 30px;">$ sudo /usr/lib/git-core/git-daemon &#8211;export-all &#8211;enable=receive-pack &#8211;base-path=/var/repos &amp;</p>
<p>サーバにリポジトリを作ります．</p>
<p style="padding-left: 30px;">$ cd /var/repos<br />
$ git clone &#8211;bare Hoge.git<br />
$ touch Hoge.git/git-daemon-export-ok</p>
<p>クライアント</p>
<p style="padding-left: 30px;">$ git clone git://ドメイン名/Hoge.git</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flaxia.net/2011/05/23/%e8%87%aa%e5%ae%85%e3%82%b5%e3%83%bc%e3%83%90%e3%81%abgit%e3%83%aa%e3%83%9d%e3%82%b8%e3%83%88%e3%83%aa%e3%82%92%e4%bd%9c%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sony Ericsson &#8220;Create Now Tour 2011&#8243; in NAGOYAに参加しました</title>
		<link>http://blog.flaxia.net/2011/04/24/sony-ericsson-create-now-tour-2011-in-nagoya%e3%81%ab%e5%8f%82%e5%8a%a0%e3%81%97%e3%81%be%e3%81%97%e3%81%9f/</link>
		<comments>http://blog.flaxia.net/2011/04/24/sony-ericsson-create-now-tour-2011-in-nagoya%e3%81%ab%e5%8f%82%e5%8a%a0%e3%81%97%e3%81%be%e3%81%97%e3%81%9f/#comments</comments>
		<pubDate>Sun, 24 Apr 2011 00:57:59 +0000</pubDate>
		<dc:creator>ばいん</dc:creator>
				<category><![CDATA[勉強会]]></category>

		<guid isPermaLink="false">http://blog.flaxia.net/?p=35</guid>
		<description><![CDATA[Xperia arcのイベントに参加しました． と言っても，arcは既に発売済なうえに，イベントから既に一週間以上経過しちゃっていますが，参加したので軽く書きます． arcを触ってとにかくすごいと思ったのが動作速度． 僕 [...]]]></description>
			<content:encoded><![CDATA[<p>Xperia arcのイベントに参加しました．<br />
と言っても，arcは既に発売済なうえに，イベントから既に一週間以上経過しちゃっていますが，参加したので軽く書きます．</p>
<p>arcを触ってとにかくすごいと思ったのが動作速度．<br />
僕のCM7をインストールしてあるNexus Oneよりもヌルヌル動いていました．<br />
自作のアプリでJSONのパースをさせてみましたが，Nexus Oneよりも圧倒的に高速でした．<br />
新しい世代のCPUの力でしょうかね．</p>
<p>それと，Timescapeのプラグイン開発を可能としてくれたことに驚きました．<br />
<a href="http://developer.sonyericsson.com/wportal/devworld/technology/android/timescapeextensions/overview?cc=gb&amp;lc=en">http://developer.sonyericsson.com/wportal/devworld/technology/android/timescapeextensions/overview?cc=gb&amp;lc=en<br />
</a>プラグイン開発を少し試してみたところ，サンプルが付属していることもあり，それほど難しくはない感じでした．</p>
<p>逆に残念だったことは，電源ボタンが小さくなって押しにくかったことです．<br />
イヤホン端子は自分は使わないと思いますけど，できれば上についていて欲しかったです．</p>
<p>物理キーの配置が旧Xperiaと違うのはAndroid3.0のボタンの配置に合わせたからだそうです．<br />
Androidはボタンの配置がバラバラなので，他のメーカーも3.0の配置に合わせていってくれると嬉しいです．</p>
<p>arc欲しい．</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flaxia.net/2011/04/24/sony-ericsson-create-now-tour-2011-in-nagoya%e3%81%ab%e5%8f%82%e5%8a%a0%e3%81%97%e3%81%be%e3%81%97%e3%81%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Androidでディレクトリ選択プリファレンスを使う</title>
		<link>http://blog.flaxia.net/2011/03/27/android%e3%81%a7%e3%83%87%e3%82%a3%e3%83%ac%e3%82%af%e3%83%88%e3%83%aa%e9%81%b8%e6%8a%9e%e3%83%97%e3%83%aa%e3%83%95%e3%82%a1%e3%83%ac%e3%83%b3%e3%82%b9%e3%82%92%e4%bd%bf%e3%81%86/</link>
		<comments>http://blog.flaxia.net/2011/03/27/android%e3%81%a7%e3%83%87%e3%82%a3%e3%83%ac%e3%82%af%e3%83%88%e3%83%aa%e9%81%b8%e6%8a%9e%e3%83%97%e3%83%aa%e3%83%95%e3%82%a1%e3%83%ac%e3%83%b3%e3%82%b9%e3%82%92%e4%bd%bf%e3%81%86/#comments</comments>
		<pubDate>Sun, 27 Mar 2011 11:14:52 +0000</pubDate>
		<dc:creator>ばいん</dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://blog.flaxia.net/?p=28</guid>
		<description><![CDATA[理ろぐさんの記事を参考に作りました． http://relog.xii.jp/archives/2010/09/android_1.html DirectorySelectDialog.java package net. [...]]]></description>
			<content:encoded><![CDATA[<p>理ろぐさんの記事を参考に作りました． <a href="http://relog.xii.jp/archives/2010/09/android_1.html">http://relog.xii.jp/archives/2010/09/android_1.html</a></p>
<p><span id="more-28"></span><br />
DirectorySelectDialog.java</p>
<pre>
package net.flaxia.android.githubviewer;

import java.io.File;
import java.util.ArrayList;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;

public class DirectorySelectDialog extends Activity implements DialogInterface.OnClickListener {
    private Context mContext;
    private ArrayList&lt;File&gt; mDirectoryList;
    private onDirectoryListDialogListener mListenner;

    public DirectorySelectDialog(Context context) {
        mContext = context;
        mDirectoryList = new ArrayList&lt;File&gt;();
    }

    @Override
    public void onClick(DialogInterface dialog, int which) {
        if ((null != mDirectoryList) &amp;&amp; (null != mListenner)) {
            File file = mDirectoryList.get(which);
            show(file.getAbsolutePath(), file.getPath());
        }
    }

    public void show(final String path, String title) {
        try {
            File[] mDirectories = new File(path).listFiles();
            if (null == mDirectories &amp;&amp; null != mListenner) {
                mListenner.onClickFileList(null);
            } else {
                mDirectoryList.clear();
                ArrayList&lt;String&gt; viewList = new ArrayList&lt;String&gt;();
                for (File file : mDirectories) {
                    if (file.isDirectory()) {
                        viewList.add(file.getName() + &quot;/&quot;);
                        mDirectoryList.add(file);
                    }
                }

                // ダイアログ表示
                AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(mContext);
                alertDialogBuilder.setTitle(title);
                alertDialogBuilder.setItems(viewList.toArray(new String[0]), this);
                // 自身のContextではgetStringが失敗する
                alertDialogBuilder.setPositiveButton(mContext.getString(R.string.ok),
                        new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                System.out.println(path);
                                mListenner.onClickFileList(path);
                            }
                        });
                // 自身のContextではgetStringが失敗する
                alertDialogBuilder.setNegativeButton(mContext.getString(R.string.cancel),
                        new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                mListenner.onClickFileList(null);
                            }
                        });
                alertDialogBuilder.show();
            }
        } catch (SecurityException e) {
            e.printStackTrace();
        }
    }

    public void setOnFileListDialogListener(onDirectoryListDialogListener listener) {
        mListenner = listener;
    }

    public interface onDirectoryListDialogListener {
        public void onClickFileList(String path);
    }
}
</pre>
<p>DirectorySelectDialogPreference.java</p>
<pre>
package net.flaxia.android.githubviewer;

import java.io.File;

import net.flaxia.android.githubviewer.DirectorySelectDialog.onDirectoryListDialogListener;
import net.flaxia.android.githubviewer.util.Configuration;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Environment;
import android.preference.DialogPreference;
import android.util.AttributeSet;
import android.view.View;

public class DirectorySelectDialogPreference extends DialogPreference implements
        DirectorySelectDialog.onDirectoryListDialogListener {

    public DirectorySelectDialogPreference(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onBindView(View view) {
        SharedPreferences pref = getSharedPreferences();
        String summry = Configuration.DEFAULT_SAVE_PATH;
        if (null != pref) {
            summry = pref.getString(getKey(), summry);
        }
        setSummary(summry);
        super.onBindView(view);
    }

    @Override
    protected void onClick() {
        File externalStorage = Environment.getExternalStorageDirectory();
        DirectorySelectDialog dlg = new DirectorySelectDialog(getContext());
        dlg.setOnFileListDialogListener((onDirectoryListDialogListener) this);
        dlg.show(externalStorage.getAbsolutePath(), externalStorage.getPath());
    }

    @Override
    public void onClickFileList(String path) {
        if (null != path) {
            SharedPreferences.Editor editor = getEditor();
            editor.putString(getKey(), path);
            editor.commit();
            notifyChanged();
        }
    }
}
</pre>
<p>このように使います．</p>
<pre>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;PreferenceScreen xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;&gt;
    &lt;net.flaxia.android.githubviewer.DirectorySelectDialogPreference
        android:key=&quot;saveDir&quot; android:title=&quot;@string/directory_location_to_store&quot; /&gt;
&lt;/PreferenceScreen&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.flaxia.net/2011/03/27/android%e3%81%a7%e3%83%87%e3%82%a3%e3%83%ac%e3%82%af%e3%83%88%e3%83%aa%e9%81%b8%e6%8a%9e%e3%83%97%e3%83%aa%e3%83%95%e3%82%a1%e3%83%ac%e3%83%b3%e3%82%b9%e3%82%92%e4%bd%bf%e3%81%86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

