<?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>Diary of Macsan</title>
	<atom:link href="http://blog.matsukubo.jp/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.matsukubo.jp</link>
	<description></description>
	<lastBuildDate>Sun, 15 Apr 2012 13:05:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Subversionのメモ</title>
		<link>http://blog.matsukubo.jp/2012/04/15/subversion%e3%81%ae%e3%83%a1%e3%83%a2/</link>
		<comments>http://blog.matsukubo.jp/2012/04/15/subversion%e3%81%ae%e3%83%a1%e3%83%a2/#comments</comments>
		<pubDate>Sun, 15 Apr 2012 12:53:35 +0000</pubDate>
		<dc:creator>Y.Matsukubo</dc:creator>
				<category><![CDATA[メモ]]></category>

		<guid isPermaLink="false">http://blog.matsukubo.jp/?p=339</guid>
		<description><![CDATA[個人的なメモです # mkdir /path/to/repository # svnadmin create /path/to/repository # chown group:user /path/to/reposit &#8230;<p><a href="http://blog.matsukubo.jp/2012/04/15/subversion%e3%81%ae%e3%83%a1%e3%83%a2/" class="more-link"><span>Continue Reading &#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>個人的なメモです</p>
<pre class="brush: bash; gutter: true"># mkdir /path/to/repository
# svnadmin create /path/to/repository
# chown group:user /path/to/repository
# svn mkdir file:///path/to/repository/trunk -m &quot;make trunk&quot;
# svn mkdir file:///path/to/repository/tags -m &quot;make tags&quot;
# svn mkdir file:///path/to/repository/branches -m &quot;make branches&quot;
# chown -R group:user /path/to/repository/*
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.matsukubo.jp/2012/04/15/subversion%e3%81%ae%e3%83%a1%e3%83%a2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android × Arduino Uno R3 接続成功</title>
		<link>http://blog.matsukubo.jp/2012/04/15/android-%c3%97-arduino-uno-r3-%e6%8e%a5%e7%b6%9a%e6%88%90%e5%8a%9f/</link>
		<comments>http://blog.matsukubo.jp/2012/04/15/android-%c3%97-arduino-uno-r3-%e6%8e%a5%e7%b6%9a%e6%88%90%e5%8a%9f/#comments</comments>
		<pubDate>Sun, 15 Apr 2012 03:37:25 +0000</pubDate>
		<dc:creator>Y.Matsukubo</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Arduino]]></category>

		<guid isPermaLink="false">http://blog.matsukubo.jp/?p=312</guid>
		<description><![CDATA[前回は　コンパイル成功したが、DemoKit起動せず　という残念な結果で終わってしまったのだが、 その原因は…USB Host Shieldにピンヘッダを半田付していなかったから。というバカらしい原因でした。。。 という &#8230;<p><a href="http://blog.matsukubo.jp/2012/04/15/android-%c3%97-arduino-uno-r3-%e6%8e%a5%e7%b6%9a%e6%88%90%e5%8a%9f/" class="more-link"><span>Continue Reading &#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p><a title="Android × Arduino Uno R3" href="http://blog.matsukubo.jp/2012/04/06/android-%c3%97-arduino/">前回</a>は　コンパイル成功したが、DemoKit起動せず　という残念な結果で終わってしまったのだが、<br />
その原因は…<strong><span style="color: #ff0000;">USB Host Shieldにピンヘッダを半田付していなかったから。</span></strong>というバカらしい原因でした。。。</p>
<p>ということで、<br />
Arduino Uno R3 (Arduino 1.0) + USB Host Shield でAndroidへの接続成功時の情報をまとめておきます。<br />
前回とは若干違います。<span id="more-312"></span></p>
<h4>Arduino Softwareの準備</h4>
<p>・Arduino 1.0 日本語版<br />
<a href="http://code.google.com/p/arduino-i18n/downloads/list"> http://code.google.com/p/arduino-i18n/downloads/list</a><br />
・Arduino bundle ADK<br />
<a href="http://labs.arduino.cc/uploads/ADK/GettingStarted/arduino_bundle_ADK.zip"> http://labs.arduino.cc/uploads/ADK/GettingStarted/arduino_bundle_ADK.zip</a><br />
・USB Host Library<br />
<a href="http://code.google.com/p/microbridge/downloads/detail?name=usb_host_patched.zip&amp;can=2&amp;q="> http://code.google.com/p/microbridge/downloads/detail?name=usb_host_patched.zip&amp;can=2&amp;q= </a></p>
<p>Arduino 1.0をインストール後、&lt;Arduinoインストールディレクトリ&gt;/librariesに、Arduino bundle ADKのlibraries/AndroidAccessoryをコピー。<br />
USB Host Libraryを&lt;Arduinoインストールディレクトリ&gt;/librariesにコピー。</p>
<p>以下、librariesのソースを修正<br />
■USB_Host_Shield/Max3421e.hの修正</p>
<pre class="brush: c; gutter: true">//38行目
#include &quot;WProgram.h&quot;
↓
#include &quot;Arduino.h&quot;</pre>
<p>■USB_Host_Shield/Max3421e.cppの修正</p>
<pre class="brush: c; gutter: true">//75行目
#define INT PB1
↓
#define INT PORTB1

//79行目
#define RST PD7
↓
#define RST PORTD7</pre>
<p>参考：<a href="http://marioboehmer.blogspot.jp/2011/05/android-adk-with-standard-arduino-uno.html">http://marioboehmer.blogspot.jp/2011/05/android-adk-with-standard-arduino-uno.html</a></p>
<p>■USB_Host_Shield/Max_LCD.cppの修正</p>
<pre class="brush: c; gutter: true">//38行目
#include &quot;WProgram.h&quot;
↓
#include &quot;Arduino.h&quot;

//257行目
inline void Max_LCD::write(uint8_t value) {
↓
size_t Max_LCD::write(uint8_t value) {</pre>
<p>■USB_Host_Shield/Max_LCD.hの修正</p>
<pre class="brush: c; gutter: true">//101行目
virtual void write(uint8_t);
↓
size_t write(uint8_t);</pre>
<p>■AndroidAccessory/AndroidAccessory.hの修正</p>
<pre class="brush: c; gutter: true">//71行目
void write(uint8_t b);
↓
size_t write(uint8_t b);</pre>
<p>■AndroidAccessory/AndroidAccessory.cppの修正</p>
<pre class="brush: c; gutter: true">//280行目
void AndroidAccessory::write(uint8_t b)
↓
size_t AndroidAccessory::write(uint8_t b)</pre>
<h4>USB Host Shieldの改造</h4>
<p>・ピンヘッダを半田付。<br />
・USBで電源を供給する場合、このままだと電源供給が不安定になる場合があるので、下記のように回路を一部改造。<br />
<a href="http://blog.matsukubo.jp/wp-content/uploads/2012/04/DSC_0046.jpg" rel="lightbox[312]" title="Arduino接続"><img class="aligncenter size-medium wp-image-329" title="Arduino接続" src="http://blog.matsukubo.jp/wp-content/uploads/2012/04/DSC_0046-300x225.jpg" alt="" width="300" height="225" /></a></p>
<h4>Android Demo Kitのダウンロード</h4>
<p>Android端末で下記をダウンロード・インストール。<br />
<a href="https://play.google.com/store/apps/details?id=com.diyphonegadgets.DemoKit">Standard Android ADK Demo Kit</a></p>
<h4>コンパイル・転送</h4>
<p><a href="http://side2.jp/2011/05/try-adk-part3/">http://side2.jp/2011/05/try-adk-part3/</a>　の &#8220;修正版 demokit.pde のダウンロード&#8221;からスケッチをダウンロード。<br />
このスケッチをコンパイルして、Arduinoに転送すれば完了です。<br />
AndroidをUSB Host Shieldに接続すれば、DemoKitが起動するはず。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.matsukubo.jp/2012/04/15/android-%c3%97-arduino-uno-r3-%e6%8e%a5%e7%b6%9a%e6%88%90%e5%8a%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android × Arduino Uno R3</title>
		<link>http://blog.matsukubo.jp/2012/04/06/android-%c3%97-arduino/</link>
		<comments>http://blog.matsukubo.jp/2012/04/06/android-%c3%97-arduino/#comments</comments>
		<pubDate>Fri, 06 Apr 2012 07:40:57 +0000</pubDate>
		<dc:creator>Y.Matsukubo</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Arduino]]></category>

		<guid isPermaLink="false">http://blog.matsukubo.jp/?p=242</guid>
		<description><![CDATA[Arduino Uno R3 + USB Host Shield と Android をUSB接続してStandard Android ADK Demo Kitを動かそうとしているのだが、どうも上手くいかない… こちらの &#8230;<p><a href="http://blog.matsukubo.jp/2012/04/06/android-%c3%97-arduino/" class="more-link"><span>Continue Reading &#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>Arduino Uno R3 + USB Host Shield と Android をUSB接続して<a href="https://play.google.com/store/apps/details?id=com.diyphonegadgets.DemoKit">Standard Android ADK Demo Kit</a>を動かそうとしているのだが、どうも上手くいかない…</p>
<p><a href="https://sites.google.com/a/gclue.jp/android-docs-2009/arduino-unodeadkwo-zi-zuo#TOC-1">こちらの記事</a>を参考にするも、コンパイル時にエラーが出てしまうので、<br />
下記手順でコンパイルしてみた。</p>
<h4>Arduino Softwareのインストールとドライバのインストール</h4>
<p>まずは<a href="http://arduino.cc/en/Main/Software">Arduino Software</a>からダウンロード。<br />
と思ったけど日本語バージョンがあったので、<a href="http://code.google.com/p/arduino-i18n/downloads/list">こちからダウンロード</a>！</p>
<p>PCとArduinoを接続。<br />
ドライバのインストール。<br />
ドライバの場所はarduinoをインストールしたフォルダ下のdriversフォルダを指定。<br />
<a href="http://blog.matsukubo.jp/wp-content/uploads/2012/04/DSC_0045.jpg" rel="lightbox[242]" title="DSC_0045"><img class="alignleft size-medium wp-image-293" title="DSC_0045" src="http://blog.matsukubo.jp/wp-content/uploads/2012/04/DSC_0045-225x300.jpg" alt="" width="225" height="300" /></a><a href="http://blog.matsukubo.jp/wp-content/uploads/2012/04/DSC_0044.jpg" rel="lightbox[242]" title="DSC_0044"><img class="alignleft size-medium wp-image-294" title="DSC_0044" src="http://blog.matsukubo.jp/wp-content/uploads/2012/04/DSC_0044-300x225.jpg" alt="" width="300" height="225" /></a><br />
<br clear="all" /><br />
接続すると、Arduino / USB Host Shieldに搭載されているLEDがペカーっと光る。<span id="more-242"></span></p>
<h4>ライブラリの追加と修正</h4>
<p>まずはライブラリのダウンロード<br />
1.Arduino Bundle<br />
<a href="http://labs.arduino.cc/uploads/ADK/GettingStarted/arduino_bundle_ADK.zip" target="_blank">http://labs.arduino.cc/uploads/ADK/GettingStarted/arduino_bundle_ADK.zip</a><br />
2.CapSense<br />
<a href="http://www.arduino.cc/playground/Main/CapSense">http://www.arduino.cc/playground/Main/CapSense</a> CapSense04をダウンロード<br />
3.USB HostShield<br />
<a href="https://github.com/felis/USB_Host_Shield">https://github.com/felis/USB_Host_Shield</a></p>
<p>1.Arduino BundleからAndroidAccessoryとUSB_Host_Shieldをaruduinoのインストールフォルダ下のlibrariesにコピー。<br />
2.CapSenseもlibrariesにコピー。<br />
3.のUSB HostShieldをlibraries/USB_Host_Shieldに上書き。</p>
<p>ここからはソースの修正<br />
AndroidAccessory.hの修正(71行目付近)</p>
<pre class="brush: c; gutter: true">void write(uint8_t b);
↓
size_t write(uint8_t b);</pre>
<p>AndroidAccessory.cppの修正(280行目付近)</p>
<pre class="brush: c; gutter: true">void AndroidAccessory::write(uint8_t b)
↓
size_t AndroidAccessory::write(uint8_t b)</pre>
<p>Max_LCD.h(73行目付近)</p>
<pre class="brush: c; gutter: true">virtual void write(uint8_t);
↓
size_t write(uint8_t);</pre>
<p>Max_LCD.cpp(10 / 229行目付近)</p>
<pre class="brush: c; gutter: true">#include &quot;WProgram.h&quot;
↓
#include &quot;Arduino.h&quot;

inline void Max_LCD::write(uint8_t value) {
↓
inline size_t Max_LCD::write(uint8_t value) {</pre>
<p>Max3421e.h(9行目付近)</p>
<pre class="brush: c; gutter: true">#include &quot;WProgram.h&quot;
↓
#include &quot;Arduino.h&quot;</pre>
<p>これでコンパイルエラーが出なくなる。<br />
けど、 DemoKitは動いてくれいない…<br />
うーん、何がダメなんだろう？</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.matsukubo.jp/2012/04/06/android-%c3%97-arduino/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CyclingTracker 2 / GPXViewer　ベータ版リリース</title>
		<link>http://blog.matsukubo.jp/2012/04/02/cyclingtracker-2-gpxviewer/</link>
		<comments>http://blog.matsukubo.jp/2012/04/02/cyclingtracker-2-gpxviewer/#comments</comments>
		<pubDate>Mon, 02 Apr 2012 11:51:26 +0000</pubDate>
		<dc:creator>Y.Matsukubo</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[CyclingTracker2]]></category>
		<category><![CDATA[GPXViewer]]></category>

		<guid isPermaLink="false">http://blog.matsukubo.jp/?p=200</guid>
		<description><![CDATA[Cycling Tracker 2を公開しました。 旧作は習作アプリという事もあり、どこかで開発を終了するつもりだったのですが、予想以上の好評を頂き、Cycling Tracker 2 + GPX Viewerという続編 &#8230;<p><a href="http://blog.matsukubo.jp/2012/04/02/cyclingtracker-2-gpxviewer/" class="more-link"><span>Continue Reading &#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.matsukubo.jp/android-apps/gpx-viewer/"><img class="alignright size-thumbnail wp-image-220" title="GPX Viewer" src="http://blog.matsukubo.jp/wp-content/uploads/2012/04/ic_launcher1-150x150.png" alt="" width="150" height="150" /></a><a href="http://blog.matsukubo.jp/android-apps/cycling-tracker-2/"><img class="alignright size-thumbnail wp-image-205" title="Cycling Tracker 2" src="http://blog.matsukubo.jp/wp-content/uploads/2012/04/ic_launcher-150x150.png" alt="" width="150" height="150" /></a>Cycling Tracker 2を公開しました。</p>
<p>旧作は習作アプリという事もあり、どこかで開発を終了するつもりだったのですが、予想以上の好評を頂き、<a title="Cycling Tracker 2" href="http://blog.matsukubo.jp/android-apps/cycling-tracker-2/">Cycling Tracker 2</a> + <a title="GPX Viewer" href="http://blog.matsukubo.jp/android-apps/gpx-viewer/">GPX Viewer</a>という続編をリリースする事となりました。</p>
<p>ご利用されているユーザーの皆様、本当にありがとうございますm(_ _)m<br />
そして今後とも<a title="Cycling Tracker 2" href="http://blog.matsukubo.jp/android-apps/cycling-tracker-2/">Cycling Tracker 2</a> + <a title="GPX Viewer" href="http://blog.matsukubo.jp/android-apps/gpx-viewer/">GPX Viewer</a>を宜しくお願いします。</p>
<p>詳細は後日作成予定のページにて…</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.matsukubo.jp/2012/04/02/cyclingtracker-2-gpxviewer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ArrayListでメモリリーク</title>
		<link>http://blog.matsukubo.jp/2012/03/22/arraylist%e3%81%a7%e3%83%a1%e3%83%a2%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%af/</link>
		<comments>http://blog.matsukubo.jp/2012/03/22/arraylist%e3%81%a7%e3%83%a1%e3%83%a2%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%af/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 14:32:43 +0000</pubDate>
		<dc:creator>Y.Matsukubo</dc:creator>
				<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://blog.matsukubo.jp/?p=190</guid>
		<description><![CDATA[ログを配列にどんどん溜めるのにArrayListを使って下記のようにListを作り、 処理をしていたらメモリリークが発生してしまった。 List hoge = new ArrayList(); hoge.add(&#038;quo &#8230;<p><a href="http://blog.matsukubo.jp/2012/03/22/arraylist%e3%81%a7%e3%83%a1%e3%83%a2%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%af/" class="more-link"><span>Continue Reading &#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>ログを配列にどんどん溜めるのにArrayListを使って下記のようにListを作り、<br />
処理をしていたらメモリリークが発生してしまった。</p>
<pre class="brush: java; gutter: true">List hoge = new ArrayList();
hoge.add(&quot;処理ログ&quot;);
hoge.add(&quot;処理ログ&quot;);
hoge.add(&quot;処理ログ&quot;);
・・・</pre>
<p>そりゃ無制限にaddしたらダメか。<br />
という事で、一定のサイズになったらremoveしてたのだが、どうもremoveだけじゃメモリは解放されないらしい。</p>
<p>最終的に<br />
一定のサイズになったらremoveしつつ、<br />
配列生成時にサイズまで宣言したらメモリリークは発生しなくなりました。</p>
<pre class="brush: java; gutter: true">List hoge = new ArrayList(50);
hoge.add(&quot;処理ログ&quot;);
hoge.add(&quot;処理ログ&quot;);
hoge.add(&quot;処理ログ&quot;);
・・・</pre>
<p>単純だけどハマった。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.matsukubo.jp/2012/03/22/arraylist%e3%81%a7%e3%83%a1%e3%83%a2%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%af/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sakura InternetのレンタルサーバーでImacigkを使う方法</title>
		<link>http://blog.matsukubo.jp/2012/03/19/sakura-internet%e3%81%ae%e3%83%ac%e3%83%b3%e3%82%bf%e3%83%ab%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e3%81%a7imacigk%e3%82%92%e4%bd%bf%e3%81%86%e6%96%b9%e6%b3%95/</link>
		<comments>http://blog.matsukubo.jp/2012/03/19/sakura-internet%e3%81%ae%e3%83%ac%e3%83%b3%e3%82%bf%e3%83%ab%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e3%81%a7imacigk%e3%82%92%e4%bd%bf%e3%81%86%e6%96%b9%e6%b3%95/#comments</comments>
		<pubDate>Mon, 19 Mar 2012 11:42:25 +0000</pubDate>
		<dc:creator>Y.Matsukubo</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.matsukubo.jp/?p=194</guid>
		<description><![CDATA[ImageMagickはインストールされているので、 サーバコントロールパネルの「PHP言語に関する設定」>「PHP設定の編集」で extension=imagick.so を追加すればOK。 これでnew Imagic &#8230;<p><a href="http://blog.matsukubo.jp/2012/03/19/sakura-internet%e3%81%ae%e3%83%ac%e3%83%b3%e3%82%bf%e3%83%ab%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e3%81%a7imacigk%e3%82%92%e4%bd%bf%e3%81%86%e6%96%b9%e6%b3%95/" class="more-link"><span>Continue Reading &#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>ImageMagickはインストールされているので、<br />
サーバコントロールパネルの「PHP言語に関する設定」>「PHP設定の編集」で<br />
extension=imagick.so<br />
を追加すればOK。</p>
<p>これでnew Imagick();できるよ。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.matsukubo.jp/2012/03/19/sakura-internet%e3%81%ae%e3%83%ac%e3%83%b3%e3%82%bf%e3%83%ab%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e3%81%a7imacigk%e3%82%92%e4%bd%bf%e3%81%86%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GuitarScales ver1.5</title>
		<link>http://blog.matsukubo.jp/2012/03/06/guitarscales-ver1-5/</link>
		<comments>http://blog.matsukubo.jp/2012/03/06/guitarscales-ver1-5/#comments</comments>
		<pubDate>Tue, 06 Mar 2012 13:03:15 +0000</pubDate>
		<dc:creator>Y.Matsukubo</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[GuitarScales]]></category>

		<guid isPermaLink="false">http://blog.matsukubo.jp/?p=183</guid>
		<description><![CDATA[音色を変更できるようにしました。 127の音色から選択できます。 動的にmidiフィアル作成、android.media.MediaPlayerで再生。という方法で実装してます。 マーケットはコチラ]]></description>
			<content:encoded><![CDATA[<p>音色を変更できるようにしました。<br />
127の音色から選択できます。</p>
<p>動的にmidiフィアル作成、android.media.MediaPlayerで再生。という方法で実装してます。</p>
<p><a href="https://market.android.com/details?id=guitar.matsukubo.jp" target="_blank">マーケットはコチラ</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.matsukubo.jp/2012/03/06/guitarscales-ver1-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LocationListenerのonStatusChangedは効かない？</title>
		<link>http://blog.matsukubo.jp/2012/02/26/locationlistener%e3%81%aeonstatuschanged%e3%81%af%e5%8a%b9%e3%81%8b%e3%81%aa%e3%81%84%ef%bc%9f/</link>
		<comments>http://blog.matsukubo.jp/2012/02/26/locationlistener%e3%81%aeonstatuschanged%e3%81%af%e5%8a%b9%e3%81%8b%e3%81%aa%e3%81%84%ef%bc%9f/#comments</comments>
		<pubDate>Sat, 25 Feb 2012 15:39:25 +0000</pubDate>
		<dc:creator>Y.Matsukubo</dc:creator>
				<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://blog.matsukubo.jp/?p=144</guid>
		<description><![CDATA[LocationListenerのonStatusChangedの挙動を勘違いしてました。 GPS信号がきちんと受信できているかどうかを確認するのにonStatusChangedを使うのかと思ってたら、 GPSプロバイダ &#8230;<p><a href="http://blog.matsukubo.jp/2012/02/26/locationlistener%e3%81%aeonstatuschanged%e3%81%af%e5%8a%b9%e3%81%8b%e3%81%aa%e3%81%84%ef%bc%9f/" class="more-link"><span>Continue Reading &#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>LocationListenerのonStatusChangedの挙動を勘違いしてました。</p>
<p>GPS信号がきちんと受信できているかどうかを確認するのにonStatusChangedを使うのかと思ってたら、<br />
GPSプロバイダが 「利用できるようになった時」「利用できなくなった時」「一時的に利用できなくなった時」にonStatusChangedが呼ばれるのね。<br />
つまり長い間GPS信号を受信してなくても、プロバイダに問題が無ければonStatusChangedは呼ばれないという事か。<br />
ずっとLocationが全然更新されなくて、onStatusChangedが呼ばれないのでバグかと思ってました…</p>
<p>じゃあ、GPS信号の受信状態を確認するにはどうすればいいか。<br />
代替案として、</p>
<blockquote><p>GpsStatus.Listenerを使って、GPSの状態を確認すればよさそう。</p></blockquote>
<p>という事で落ち着いた。</p>
<pre class="brush: java; gutter: true">public class TestActivity extends Activity implements LocationListener, GpsStatus.Listener{

	//最後にGPSを受信したタイムスタンプ
	private long lastRecieve;

	//LocatoinManager
	private LocationManager locationManager;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		// LocatoinManagerインスタンスを取得する
		locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
		locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, this);
		locationManager.addGpsStatusListener(this);
	}

	@Override
	public void onGpsStatusChanged(int event) {
		//GPS衛星の状態が変化したら
		if (event==GpsStatus.GPS_EVENT_SATELLITE_STATUS){

			if (lastRecieve - new Date().getTime() &gt;= 15000){
				//15秒以上受信してなかったら、処理をここに書く
			}

		}

	}

	@Override
	public void onLocationChanged(Location location) {
		//最後にLocationChangeした時間を記録する
		lastRecieve = new Date().getTime();

		//以下、GPS受信した時の処理を書く
		・・・

	}

	・・・
}</pre>
<p>こんな感じ？</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.matsukubo.jp/2012/02/26/locationlistener%e3%81%aeonstatuschanged%e3%81%af%e5%8a%b9%e3%81%8b%e3%81%aa%e3%81%84%ef%bc%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ADKかMicroBridgeか</title>
		<link>http://blog.matsukubo.jp/2012/02/21/adkmicrobridge/</link>
		<comments>http://blog.matsukubo.jp/2012/02/21/adkmicrobridge/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 14:45:17 +0000</pubDate>
		<dc:creator>Y.Matsukubo</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Arduino]]></category>

		<guid isPermaLink="false">http://blog.matsukubo.jp/?p=130</guid>
		<description><![CDATA[AndroidとArduinoをUSBで接続して通信するに、ADK(Open Accessory Development Kit)を使うか、 MicroBridgeを使うかで悩んだので、それぞれのメリット・デメリットを調 &#8230;<p><a href="http://blog.matsukubo.jp/2012/02/21/adkmicrobridge/" class="more-link"><span>Continue Reading &#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>AndroidとArduinoをUSBで接続して通信するに、ADK(<a href="http://developer.android.com/intl/ja/guide/topics/usb/adk.html">Open Accessory Development Kit</a>)を使うか、<br />
<a href="http://code.google.com/p/microbridge/">MicroBridge</a>を使うかで悩んだので、それぞれのメリット・デメリットを調べてみた。</p>
<table>
<tbody>
<tr>
<td></td>
<th>ADK</th>
<th>MicroBridge</th>
</tr>
<tr>
<th>メリット</th>
<td style="background-color: #dfdfdf;">Android公認</td>
<td style="background-color: #dfdfdf;"> Android 1.5以降の端末で使える</td>
</tr>
<tr>
<th>デメリット</th>
<td style="background-color: #ffeeee;">対応端末が少ない　※</td>
<td style="background-color: #ffeeee;"> 端末のUSBデバッグモードをONにする必要がある</td>
</tr>
</tbody>
</table>
<p>※Android 2.3.4の一部端末と、Android 3.1以降の端末で使える</p>
<p>MicroBridgeの方はAndroid1.5以降の端末で動作するので、対応端末は非常に多いのが魅力。<br />
しかし、USBデバッグモードでないとダメというのが引っかかる・・・<br />
セキュリティの観点からも、一般のユーザーがデバッグモードでAndroid端末を利用するだろうか・・・</p>
<p>一方、ADKはAndroid公認なので、今後普及するだろうと思う。<br />
しかし、今のところ対応端末が壊滅的すぎる・・・<br />
私が配布しているアプリでAndroid 3.1以上を使ってるのは、3~4%だけでした。</p>
<p>今のところ、どっちも一長一短といった感じですが、<br />
4.0以降の端末が増えていく事を考えれば、今から勉強するならADKを選択した方がいいのかなーと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.matsukubo.jp/2012/02/21/adkmicrobridge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

