<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>発見した事</title><link>http://blogs.wankuma.com/esten/category/1226.aspx</link><description>.NETとCLRとVisualStadio2005とのつきあいでびっくりした事</description><managingEditor>片桐　継（Tugu Katagiri）</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>片桐　継（Tugu Katagiri）</dc:creator><title>Intel(R) 6 Series/C200 Series Chipset Family USB Enhanced Host Controller - 1C26 - エラー 0x800f0219</title><link>http://blogs.wankuma.com/esten/archive/2016/06/19/536203.aspx</link><pubDate>Sun, 19 Jun 2016 14:10:00 GMT</pubDate><guid>http://blogs.wankuma.com/esten/archive/2016/06/19/536203.aspx</guid><wfw:comment>http://blogs.wankuma.com/esten/comments/536203.aspx</wfw:comment><comments>http://blogs.wankuma.com/esten/archive/2016/06/19/536203.aspx#Feedback</comments><slash:comments>25</slash:comments><wfw:commentRss>http://blogs.wankuma.com/esten/comments/commentRss/536203.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/esten/services/trackbacks/536203.aspx</trackback:ping><description>&lt;p&gt;マシンはASUSのU24E。&lt;/p&gt; &lt;p&gt;Windows10 にしてからUSBが不安定で、デバイスがこのエラーで動作してなかったんよねー。&lt;/p&gt; &lt;p&gt;んでもって、がんばって、対処してみた。&lt;/p&gt; &lt;p&gt;原因は、Intelさんとこから出てるドライバファイルがWindows10 さん的に「あやしくね？」「バージョンちがくね？」なものらしく、それで動かないんですわー、的簡単なものなので、対処としてはこのファイルをWindows10さんが「正しい」「動かしてええよん」と思うドライバファイルにすればよいだけ。&lt;/p&gt; &lt;p&gt;このサイトの&lt;/p&gt; &lt;p&gt;&lt;a title="https://downloadcenter.intel.com/download/19596/INF-Update-Utility-Primarily-for-Intel-6-5-4-3-900-Series-Chipsets-" href="https://downloadcenter.intel.com/download/19596/INF-Update-Utility-Primarily-for-Intel-6-5-4-3-900-Series-Chipsets-"&gt;https://downloadcenter.intel.com/download/19596/INF-Update-Utility-Primarily-for-Intel-6-5-4-3-900-Series-Chipsets-&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://esten.wankuma.com/blogs/IntelR-6-SeriesC200-Series-Chipset-Famil_C5D2/image.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://esten.wankuma.com/blogs/IntelR-6-SeriesC200-Series-Chipset-Famil_C5D2/image_thumb.png" width="367" height="346"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;青色ボタンの「infinst_autol.exe」を実行して、ファイル書き換えればＯＫ。&lt;/p&gt; &lt;p&gt;このページのこのボタンを押す、という行為に気付くのに時間がかかった＜を&lt;/p&gt; &lt;p&gt;実行後は再起動しておけば尚ＯＫ。&lt;/p&gt; &lt;p&gt;ドライバファイルはインテルさん証明書付なんで、Windows10さんはご機嫌に動かしてくれまする。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/esten/aggbug/536203.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>片桐　継（Tugu Katagiri）</dc:creator><title>ソースコードの表記がうまくいかないので</title><link>http://blogs.wankuma.com/esten/archive/2016/03/28/527915.aspx</link><pubDate>Mon, 28 Mar 2016 23:06:00 GMT</pubDate><guid>http://blogs.wankuma.com/esten/archive/2016/03/28/527915.aspx</guid><wfw:comment>http://blogs.wankuma.com/esten/comments/527915.aspx</wfw:comment><comments>http://blogs.wankuma.com/esten/archive/2016/03/28/527915.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/esten/comments/commentRss/527915.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/esten/services/trackbacks/527915.aspx</trackback:ping><description>&lt;p&gt;外部委託（あうとそーしんぐ）することにしたｗ &lt;/p&gt; &lt;p&gt;サイトはここ：&lt;a title="https://tohtml.com/" href="https://tohtml.com/"&gt;https://tohtml.com/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;細かいところはHTMLコード貼り付けてから手を入れれば何とか。&lt;/p&gt; &lt;div class="insertcode"&gt;&lt;pre style='color:#000000;background:#ffffff;'&gt;&lt;span style='color:#0000ff; font-weight:bold; '&gt;Public&lt;/span&gt; &lt;span style='color:#0000ff; font-weight:bold; '&gt;Class&lt;/span&gt; Hoge
  &lt;span style='color:#0000ff; font-weight:bold; '&gt;Property&lt;/span&gt; HogeHoge &lt;span style='color:#0000ff; font-weight:bold; '&gt;As&lt;/span&gt; &lt;span style='color:#0000ff; font-weight:bold; '&gt;String&lt;/span&gt; 
&lt;span style='color:#0000ff; font-weight:bold; '&gt;End&lt;/span&gt; &lt;span style='color:#0000ff; font-weight:bold; '&gt;Class&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;これでどだ？&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/esten/aggbug/527915.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>片桐　継（Tugu Katagiri）</dc:creator><title>Android Studio で Junit を使いたいので、戦い続けて挫折して立ち返って立ち直った話</title><link>http://blogs.wankuma.com/esten/archive/2014/08/21/408431.aspx</link><pubDate>Thu, 21 Aug 2014 16:49:00 GMT</pubDate><guid>http://blogs.wankuma.com/esten/archive/2014/08/21/408431.aspx</guid><wfw:comment>http://blogs.wankuma.com/esten/comments/408431.aspx</wfw:comment><comments>http://blogs.wankuma.com/esten/archive/2014/08/21/408431.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blogs.wankuma.com/esten/comments/commentRss/408431.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/esten/services/trackbacks/408431.aspx</trackback:ping><description>&lt;p&gt;最初、EclipseでJunit 4.11+Robolectricを使ってたんだけど、AndroidStudioに移植した時に、全部グリーン状態のソースを移植したのでテストコードは省いてたｗ&lt;/p&gt; &lt;p&gt;なので、機能追加のついでに、テストコードも移植しようと思ったんだけど、意外な展開が。&lt;/p&gt; &lt;div class="insertcode"&gt;&lt;pre&gt;&lt;code&gt;!!! JUnit version 3.8 or later expected:

java.lang.RuntimeException: Stub!&lt;br&gt;&lt;/code&gt;&lt;code&gt;＜中略＞
Process finished with exit code -3&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;素直にRobolectricを依存ライブラリに追加して実行して、&lt;font color="#c0504d"&gt;&lt;strong&gt;なにこれ？？？&lt;/strong&gt;&lt;/font&gt;というわけで色々と調査。で、判ったことは&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Android StudioでRobolectric使うならプラグインいれましょう 
&lt;li&gt;クラスパスはJunit＞SDKの順番でライブラリ参照しましょう&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;あふー、gradleをいじる羽目になりましたですよorz　書き直すのメンドイなー。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://robolectric.blogspot.jp/" target="_blank"&gt;Robolectricスタッフのブログ&lt;/a&gt;や&lt;a href="https://groups.google.com/forum/#!forum/robolectric" target="_blank"&gt;GoogleGroup&lt;/a&gt;を見る限りだと、この辺りの問題はできたら解決したいなー的レベルらしくて、しばらくは手動でごにょごにょの世界のようです。&lt;font color="#c0504d"&gt;&lt;strong&gt;まぁAndroid Studio自身がbetaの立場だもんなー、正式版になってからなんだろうなぁ（遠い目）&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;で、やってみたこと。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;app/build.gradleにrobolectricの依存ライブラリ追加 
&lt;li&gt;ルートのbuild.gradleにrobolectricのプラグインのための依存ライブラリ追加 
&lt;li&gt;app/buid.gradleにrobolectircのプラグイン追加 
&lt;li&gt;ここで、いったんgladleをSync 
&lt;li&gt;ターミナルから、プロジェクトルートでgladle robolectric を実行し、必要なクラスがコンパイルされていることを確認 
&lt;li&gt;テストコードを書いて、ライブラリが追加出来ていることを確認 
&lt;li&gt;テストコードから生成されたクラスの出力先をクラスパスに追加 
&lt;li&gt;プロジェクトルートにある、.imlファイルの中にあるクラスファイルの読み込み順番を変更 
&lt;li&gt;gladlew androidTest を実行&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;さらっと書いたけど、&lt;font color="#9b00d3"&gt;２から５の間はgradleソースの読み込みだったので、簡単じゃなかったよorz &lt;/font&gt;　gradleソースはpom.xmlよりも何をやっているのかソースで追える分、楽と言えば楽だし、親切と言えば親切なんだけどね。やっててよかったgroovy。&lt;/p&gt;
&lt;p&gt;そして、何とかたどり着く9のフェーズ。&lt;strong&gt;&lt;font color="#ff0000"&gt;ここで恐怖のハマりポイント、自クラスをクラスパスにうまく追加できない、をやらかしてしまった。&lt;/font&gt;&lt;/strong&gt;いや、世界には、この方法で解決している人もいるので&lt;font color="#c0504d"&gt;&lt;strong&gt;（成功例がMacOSXだったりするのがとてもとても気になるけれどもｗ）&lt;/strong&gt;&lt;/font&gt;きっと、何かが悪いんだろう。&lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&lt;strong&gt;収穫はgradleソースが読めるようになった、ってことで、挫折orz&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;これに丸々二日ハマって、なんか疲れたんで、基本に立ち返ってみたんだ。&lt;/p&gt;
&lt;h1&gt;Android SDK　にテストフレームワークがあるのかな？&lt;/h1&gt;
&lt;p&gt;&lt;font color="#9b00d3"&gt;&lt;strong&gt;結論から言えば、ある、Junitがある。ただし、バージョンは3.8。&lt;/strong&gt;&lt;/font&gt;便利なassertもアノテーションも全滅のオールドタイプさん。まぁ悪いバージョンじゃないんだ、基本機能はガッチリ揃ってるし、実績も高いしさ。まさかとは思うけど、&lt;a href="http://mvnrepository.com/" target="_blank"&gt;Mavenリポジトリサイト&lt;/a&gt;で、Junit3.8のダウンロード数が廃れないのは、こいつのせいだったりしてねｗ　&lt;/p&gt;&lt;a href="http://developer.android.com/tools/testing/testing_android.html"&gt;Testing Fundamentals | Android Developers:&lt;br&gt;http://developer.android.com/tools/testing/testing_android.html&lt;/a&gt;&lt;br&gt;
&lt;p&gt;基本に立ち返って、もう一度、この記事を目皿にして読み直し、抜粋したポイントは&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ディレクトリを作成する 
&lt;li&gt;テストしたいAndroidオブジェクトに対応したTestCaseを継承してテストコードを書く 
&lt;li&gt;Android Test を実行する&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;これだけ。じゃ、やってみようか、もちろん、最初はレッドのテストでね。&lt;/p&gt;
&lt;p&gt;まず、ディレクトリ作成&lt;/p&gt;
&lt;p&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://esten.dip.jp/blogimg/Android-Studio--Junit-_4EA0/image.png" width="216" height="127"&gt;&lt;/p&gt;
&lt;p&gt;デフォルト配色で、androidTest/javaフォルダが緑色になればOK。これは、テストクラスのあるパッケージディレクトリですよ、を指している色で、これが指定されていないと、後の作業がメンドクサイ、フォルダ見難いｗ&lt;/p&gt;
&lt;p&gt;このフォルダの指定は、モジュールの.imlファイルに記述されているので、検索してフォルダ表記が無かったら、それを記述追加してリビルドすれば環境ができているはず。できるだけ、いじらないでいたいなら、テストクラスとして指定されている別のフォルダがすでにあれば、それを新規作成すると後も綺麗に続けられるので楽。テストクラスのパッケージフォルダ記述が無いなら、仕方ないから追加ね。&lt;/p&gt;
&lt;p&gt;そして、テストクラスを新規作成。これはいつもの新規作成の手順でOK。&lt;/p&gt;
&lt;div class="insertcode"&gt;&lt;pre&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; ApplicationTest &lt;span style="color: #0000ff"&gt;extends&lt;/span&gt; ApplicationTestCase&amp;lt;Application&amp;gt; {
    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; ApplicationTest() {
        &lt;span style="color: #0000ff"&gt;super&lt;/span&gt;(Application.&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;);
    }

    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; testAssertion(){
        assertEquals(1,3);
    }
}
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;絶対レッドのテストｗ＜手抜きすぎｗ&lt;/p&gt;
&lt;p&gt;今回はアクティビティやコンテンツのテストではないので、ApplicationTestCaseを継承したけど、テストしたいものによって継承するテストクラスが異なるので、細かい事は前記述のサイトのリンクから参照で。(そのうち、まとめるとは思うけどｗ)&lt;/p&gt;
&lt;p&gt;クラスが書けたら、次は実行設定。私は、モジュール内のｘｘｘｘTestクラスのtestXXXXメソッドを総なめにした。細かくやりたい人はパッケージ事とかに分けると良いと思う。&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://esten.dip.jp/blogimg/Android-Studio--Junit-_4EA0/image_3.png" width="373" height="355"&gt;&lt;/p&gt;
&lt;p&gt;Android SDKのJunitは実行環境を必要とするのでエミュレーターは起動しておき、立ち上がりを確認したら、テストを実行してエミュレーターに環境割り当てをすると、テストモジュールがエミュレーターにアップロードされて……&lt;/p&gt;
&lt;p&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://esten.dip.jp/blogimg/Android-Studio--Junit-_4EA0/image_4.png" width="675" height="159"&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#ff0000" size="5"&gt;&lt;strong&gt;よっしあぁ！レッドすねぇぇくかもぉぉん♪&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;というわけで、立ち返ってからレッドになるまで、２時間だったというオチｗ&lt;/p&gt;
&lt;p&gt;&lt;font color="#c0504d"&gt;&lt;strong&gt;基本って大事だね！　痛感したわ。&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/esten/aggbug/408431.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>片桐　継（Tugu Katagiri）</dc:creator><title>Robolectric を　Eclipse with ADT で使ってみる。</title><link>http://blogs.wankuma.com/esten/archive/2014/07/16/341584.aspx</link><pubDate>Wed, 16 Jul 2014 12:00:00 GMT</pubDate><guid>http://blogs.wankuma.com/esten/archive/2014/07/16/341584.aspx</guid><wfw:comment>http://blogs.wankuma.com/esten/comments/341584.aspx</wfw:comment><comments>http://blogs.wankuma.com/esten/archive/2014/07/16/341584.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/esten/comments/commentRss/341584.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/esten/services/trackbacks/341584.aspx</trackback:ping><description>&lt;p&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Androidアプリを作るのに、低スペックPCで　エミュレーターを使ってテストしていると、遅いorz　重いorz　もうやだ；；&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;となったので、テスト環境を考え直すことにした。&lt;/p&gt; &lt;p&gt;で、見つけたのが、これ、Robolectric&lt;/p&gt; &lt;p&gt;&lt;a href="http://robolectric.org/"&gt;Robolectric&lt;br&gt;http://robolectric.org/&lt;/a&gt;&lt;br&gt;&lt;/p&gt; &lt;p&gt;エミュレートせずに、Junitで片付けてしまおうぜ！というモノらしいｗ&lt;/p&gt; &lt;p&gt;まぁ、あの重いのを使わずに済むなら、と早速導入。&lt;/p&gt; &lt;p&gt;&lt;font color="#ff0000"&gt;pomに依存関係を追加する、いつもの方法でMavenからの導入をすると、pom.xml がエラー。&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#ff0000"&gt;簡単に解釈すると、[android-support-v4.jar]が依存関係にあるのだけれど、これを集めてくることが出来ないらしい。&lt;/font&gt;&lt;/p&gt; &lt;p&gt;しょうがないので、pomからの導入を諦めて、&lt;/p&gt;&lt;a href="http://search.maven.org/#search|ga|1|g%3A%22org.robolectric%22"&gt;The Central Repository Search Engine&lt;br&gt;http://search.maven.org/#search|ga|1|g%3A%22org.robolectric%22&lt;/a&gt;&lt;br&gt; &lt;p&gt;から、&lt;a href="http://search.maven.org/remotecontent?filepath=org/robolectric/robolectric/2.3/robolectric-2.3-jar-with-dependencies.jar"&gt;jar-with-dependencies.jar&lt;/a&gt;を取ってくることにする。&lt;/p&gt; &lt;p&gt;&lt;font color="#9b00d3"&gt;このjarファイルだと、欲しいjarが全部入りなので、取りこぼしも無いし。&lt;/font&gt;&lt;/p&gt; &lt;p&gt;というわけで、ダウンロードしたjarをプロジェクトの参照ライブラリに追加して、テストを記述。&lt;/p&gt; &lt;div class="insertcode"&gt;&lt;pre&gt;@RunWith(RobolectricTestRunner.&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;)
&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; ClassRecordTest {
	@Test
	&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; testToString() {	
		Record act = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Record();
		assertThat(act, is(notNullValue()));
		assertThat(act.toString(), is(notNullValue()));
	}
}
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Junit4のテストランナーで起動を確認！……できたのにorz&lt;br&gt;&lt;/p&gt;
&lt;div class="insertcode"&gt;
&lt;blockquote&gt;
&lt;p&gt;java.lang.UnsupportedOperationException: Robolectric does not support API level 19, sorry!&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.robolectric.SdkConfig.&amp;lt;init&amp;gt;(SdkConfig.java:24)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.robolectric.RobolectricTestRunner.pickSdkVersion(RobolectricTestRunner.java:320)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.robolectric.RobolectricTestRunner.getEnvironment(RobolectricTestRunner.java:296)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.robolectric.RobolectricTestRunner.access$300(RobolectricTestRunner.java:61)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.robolectric.RobolectricTestRunner$2.evaluate(RobolectricTestRunner.java:202)&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&lt;strong&gt;明るく「sorry!」とか言ってんじゃねぇっ！&lt;/strong&gt;&lt;/font&gt;とツッコミしつつ、&lt;/p&gt;
&lt;div class="insertcode"&gt;&lt;pre&gt;@Config(emulateSdk = 18) 
@RunWith(RobolectricTestRunner.&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;)
&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; RecordTest {
	@Test
	&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; testToString() {
		Record act = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Record();
		assertThat(act, is(notNullValue()));
		assertThat(act.toString(), is(notNullValue()));
	}
}&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;これで、なんとか動くようになった。本来のテストのコードはもっと色々と入ってるけど、ここでは割愛してまするｗ&lt;/p&gt;
&lt;p&gt;さて、テストごりごり書いていこう。&lt;/p&gt;
&lt;h2&gt;テストプロジェクトの環境設定まとめ&lt;/h2&gt;
&lt;p&gt;もっとスマートな方法があるかもしれないけど、ベタな方法でｗ&lt;/p&gt;
&lt;p&gt;使いたいJunitとツールは次のもの。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Junit4 
&lt;li&gt;Robolectric 
&lt;li&gt;Mockito 
&lt;li&gt;Dexmaker&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Robolectricはpom.xmlから導入すると先述の問題が出ているので、それ以外をpom.xmlにセット。&lt;/p&gt;
&lt;div class="insertcode"&gt;&lt;pre&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;dependencies&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;

	&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;dependency&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;groupId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;com.j256.ormlite&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;groupId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;artifactId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;ormlite-android&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;artifactId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;4.48&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
	&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;dependency&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;

	&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;dependency&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;groupId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;junit&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;groupId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;artifactId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;junit&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;artifactId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;4.11&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
	&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;dependency&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
	

	&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;dependency&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;groupId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;org.mockito&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;groupId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;artifactId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;mockito-all&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;artifactId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;1.9.5&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
	&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;dependency&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
	
	&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;dependency&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;groupId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;com.google.dexmaker&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;groupId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;artifactId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;dexmaker-mockito&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;artifactId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;1.1&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
	&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;dependency&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
	
  &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;dependencies&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;これを追加。バージョンについては、それぞれの最新を以下のサイトより。&lt;/p&gt;&lt;a href="http://mvnrepository.com/"&gt;Maven Repository: Search/Browse/Explore&lt;br&gt;http://mvnrepository.com/&lt;/a&gt;&lt;br&gt;
&lt;p&gt;そして、次の作業をして、テスト時に参照するクラスを一か所に集結。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ダウンロードしてある、roborectricの with_all_dependencies.jar をプロジェクトの参照ライブラリにセット。 
&lt;li&gt;テストで使用したいバージョンのAndroidライブラリ（ここでは18）を参照ライブラリにセット。 
&lt;li&gt;その上で、プロジェクトのgen、src、testの出力先ビルドパスを/target/classesに統一。&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;これで、Junitを実行した時に、Junitに参照させたい全部のクラスが読み込める状態になる。これが出来てないと、Junitテストを実行すると No class not found で例外が起きちゃうので、気を付けておきたい設定だよね。&lt;/p&gt;
&lt;p&gt;後は、テストを書いて、Junitテストの実行でOK。これならいつもの方法だから、早いし、低スペックPCでも安全。&lt;/p&gt;
&lt;p&gt;たとえば、OrmLiteSqliteOpenHelperを継承して作ったヘルパークラスのテストを書いてみると、&lt;/p&gt;
&lt;div class="insertcode"&gt;&lt;pre&gt;&lt;span style="color: #008000"&gt;/**
 * Test for DatabaseHelper
 * @author esten
 *
 */&lt;/span&gt;
@SuppressLint("&lt;span style="color: #8b0000"&gt;InlinedApi&lt;/span&gt;")
@Config(emulateSdk=18)
@RunWith(RobolectricTestRunner.&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;)
&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; DatabaseHelperTest {

	&lt;span style="color: #008000"&gt;/**
	 * Test for onCreate
	 */&lt;/span&gt;
	@Test
	&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; testOnCreate() {
		&lt;span style="color: #008000"&gt;// get Context&lt;/span&gt;
		Context context = Robolectric.application.getApplicationContext();
		
		&lt;span style="color: #008000"&gt;// assert Constructor&lt;/span&gt;
		DatabaseHelper act = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; DatabaseHelper(context);
		
		assertThat(act, is(notNullValue()));
		
		assertThat(act.getContext(), is(context));

		&lt;span style="color: #008000"&gt;// assert DAO class generate&lt;/span&gt;
		RuntimeExceptionDao&amp;lt;DiceRecord, Long&amp;gt; actDao = act.getDiceRecordDao();
		
		assertThat(actDao, is(notNullValue()));
		
		&lt;span style="color: #008000"&gt;// assert 4 Records in Database after initialize&lt;/span&gt;
		&lt;span style="color: #0000ff"&gt;long&lt;/span&gt; actRecCount = actDao.countOf();
		
		assertThat(actRecCount, is(4L));
		
		List&amp;lt;DiceRecord&amp;gt; actList = actDao.queryForAll();
		
		assertThat(actList.size(), is(4));
		
	}
}
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;これでJunit実行で確認OK。&lt;/p&gt;
&lt;p&gt;テスティングペアも同プロジェクトにあるから、QuickJunitで行き来できるし、エミュも動かないから軽い。&lt;/p&gt;
&lt;p&gt;これで引き続き、作業を進めようｗ&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/esten/aggbug/341584.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>片桐　継（Tugu Katagiri）</dc:creator><title>AndroidのListViewについて考えた</title><link>http://blogs.wankuma.com/esten/archive/2014/07/15/341346.aspx</link><pubDate>Tue, 15 Jul 2014 18:10:00 GMT</pubDate><guid>http://blogs.wankuma.com/esten/archive/2014/07/15/341346.aspx</guid><wfw:comment>http://blogs.wankuma.com/esten/comments/341346.aspx</wfw:comment><comments>http://blogs.wankuma.com/esten/archive/2014/07/15/341346.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/esten/comments/commentRss/341346.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/esten/services/trackbacks/341346.aspx</trackback:ping><description>&lt;p&gt;Androidの画面部品に、ListViewってのがある。&lt;/p&gt; &lt;p&gt;ここに、必要な項目を表示させるための仕組みとして、Androidアプリのテンプレ？があることを覚えた。&lt;/p&gt; &lt;p&gt;Model－Adapter－ListView、というキーワードで結びつきがあって、これ、そのままMVC。&lt;/p&gt; &lt;p&gt;そう考えると、すぐに、どんなクラスをどの役割でどういう関係で使うのか、が判る。&lt;/p&gt; &lt;p&gt;なんて簡単に書いてるけど、MVCとかMVVMとか、デザインパターンを知っていたからできたこと。&lt;/p&gt; &lt;p&gt;逆に言うと、それらを覚えていないと、仕組みや作りについての理屈というか理解というか勘所がきっと難しい。&lt;/p&gt; &lt;p&gt;積み重ねてくるって大事で、知らないなぁってことを知ろうとして、ほんのちょっとでも触れているというか経験を積んでおくだけで、新しい事もまるで知ってたことみたいに知ることができるって楽しいし、こんなにも面白いんだね。&lt;/p&gt; &lt;p&gt;とか思いながら、最近は、ここいら辺のサイトに出入りしてるｗ&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.learn-android-easily.com/2013/06/listview-with-custom-adapter.html"&gt;Android Tutorials for Beginners: ListView with Custom Adapter&lt;br&gt;http://www.learn-android-easily.com/2013/06/listview-with-custom-adapter.html&lt;/a&gt;&lt;br&gt;&lt;/p&gt; &lt;p&gt;サンプルコードが豊富なのって、本文ゆっくり読みでも理解しやすくていいよね。&lt;/p&gt; &lt;p&gt;私もできるだけ、サンプルコードを載せられるように頑張ってみようｗ&lt;/p&gt; &lt;p&gt;サンプルコードが必要なテーマというか、お話の時は、だけど。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/esten/aggbug/341346.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>片桐　継（Tugu Katagiri）</dc:creator><title>ADTのLayoutEditerを使いたい。</title><link>http://blogs.wankuma.com/esten/archive/2014/07/11/340121.aspx</link><pubDate>Fri, 11 Jul 2014 16:02:00 GMT</pubDate><guid>http://blogs.wankuma.com/esten/archive/2014/07/11/340121.aspx</guid><wfw:comment>http://blogs.wankuma.com/esten/comments/340121.aspx</wfw:comment><comments>http://blogs.wankuma.com/esten/archive/2014/07/11/340121.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/esten/comments/commentRss/340121.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/esten/services/trackbacks/340121.aspx</trackback:ping><description>&lt;p&gt;Androidの画面はXMLで出来ている。&lt;/p&gt; &lt;p&gt;XAMLと同じだね。書くコードは微妙に違ってるけど、考え方というか、やり方はほぼ同じ。&lt;/p&gt; &lt;p&gt;XAMLよりはテンプレ化が進んでないから、自分でテンプレつくる気持ちでちまちま作ればOK。&lt;/p&gt; &lt;p&gt;メンドクサい時には、ぐぐってサンプルとってきて、ちまちまいじって自分用にすればOK。&lt;/p&gt; &lt;p&gt;と、気楽に思って使っていたら、&lt;/p&gt; &lt;p&gt;EclipseのAndroid Layout Editerの画面の挙動がおかしい。&lt;/p&gt; &lt;p&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://esten.dip.jp/blogimg/EclipseADTLayoutEditer_F174/image.png" width="426" height="347"&gt;&lt;/p&gt; &lt;p&gt;部品一覧がでないし、レイアウトのプレビューも表示されない。&lt;/p&gt; &lt;p&gt;&lt;font color="#9b00d3"&gt;ま、いっかーと進めてて、やっぱり、無いとメンドクサイ、と堂々巡り。&lt;/font&gt;&lt;/p&gt; &lt;p&gt;ふと、ふと思いついて、&lt;font color="#ff0000"&gt;&lt;strong&gt;日本語化をやめてプラグインを外してみたら、綺麗に動いた&lt;/strong&gt;&lt;/font&gt;。&lt;/p&gt; &lt;p&gt;日本語化をするなら、ほどほどに、ってことでｗ&lt;/p&gt; &lt;p&gt; &lt;hr&gt; で、再度、日本語化してみたら、今度は画面が日本語化されるようになったよ。  &lt;p&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://esten.dip.jp/blogimg/EclipseADTLayoutEditer_F174/image_3.png" width="352" height="374"&gt;&lt;/p&gt; &lt;p&gt;ここから、Android XML レイアウト・ファイルを選んで、名前をつけてテンプレを選択して完了ボタン。&lt;/p&gt; &lt;p&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://esten.dip.jp/blogimg/EclipseADTLayoutEditer_F174/image_4.png" width="378" height="363"&gt;&lt;/p&gt; &lt;p&gt;おー、部品名も日本語化してる！ってことで、作業を引き続き。&lt;/p&gt; &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;つまり、Eclipse立ち上げる時に、特にプラグイン入れた後とかは、-clean をしとけって事だ。&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/esten/aggbug/340121.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>片桐　継（Tugu Katagiri）</dc:creator><title>Eclipse開発環境のGitに、AtlassianのBitbucketを使ってみる。</title><link>http://blogs.wankuma.com/esten/archive/2014/07/09/339359.aspx</link><pubDate>Wed, 09 Jul 2014 12:55:00 GMT</pubDate><guid>http://blogs.wankuma.com/esten/archive/2014/07/09/339359.aspx</guid><wfw:comment>http://blogs.wankuma.com/esten/comments/339359.aspx</wfw:comment><comments>http://blogs.wankuma.com/esten/archive/2014/07/09/339359.aspx#Feedback</comments><slash:comments>95</slash:comments><wfw:commentRss>http://blogs.wankuma.com/esten/comments/commentRss/339359.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/esten/services/trackbacks/339359.aspx</trackback:ping><description>&lt;p&gt;さくっとできたので、嬉しくてメモ。&lt;/p&gt; &lt;p&gt;&lt;a href="https://www.atlassian.com/"&gt;Software Development and Collaboration Tools | Atlassian&lt;br&gt;https://www.atlassian.com/&lt;/a&gt;&lt;br&gt;&lt;/p&gt; &lt;p&gt;ここで、5Userまでのプライベート利用なら無料で使えるクラウドのGitサーバー環境が手に入るの。&lt;/p&gt; &lt;p&gt;私はGoogleのIDを持っているので、それでOAuth認証してすぐにアカウントを作ることができたよ。&lt;/p&gt; &lt;p&gt;とりあえず、アカウントができてログインしたら、リポジトリを作ろうか。&lt;/p&gt; &lt;p&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://esten.dip.jp/blogimg/EclipseGitAtlassianBitbucket_14EB6/image.png" width="555" height="286"&gt;&lt;/p&gt; &lt;p&gt;そんなに操作は困らない。&lt;/p&gt; &lt;p&gt;ここのサイトの素敵な所は、ヘルプや説明が充実してて、操作への誘導というか説明が判りやすいって所だと思う。&lt;/p&gt; &lt;p&gt;できあがったら、EclipseのGitからここへ対して操作を送ることが出来るように設定。&lt;/p&gt; &lt;p&gt;私は、間にローカルのリポジトリをはさんだけれど、直接の人もいるかもね。&lt;/p&gt; &lt;p&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://esten.dip.jp/blogimg/EclipseGitAtlassianBitbucket_14EB6/image_3.png" width="419" height="253"&gt;&lt;/p&gt; &lt;p&gt;作成しておいたローカルGitからリモート先として、作ったリポジトリ(画面だとtest_rep)を設定して送り込むだけ。&lt;/p&gt; &lt;p&gt;これでBitbucketのGitを使えるようになる。&lt;/p&gt; &lt;p&gt;なんてお気軽＆便利♪&lt;/p&gt; &lt;p&gt;自分用Trac作っちゃったけど、どうしようｗ　連携できると良いんだけど……。&lt;/p&gt; &lt;p&gt;できるのかしらん？　それはまたおいおい調べよう。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/esten/aggbug/339359.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>片桐　継（Tugu Katagiri）</dc:creator><title>Androidアプリケーションでデータベースを使いたい。</title><link>http://blogs.wankuma.com/esten/archive/2014/07/07/338651.aspx</link><pubDate>Mon, 07 Jul 2014 13:33:00 GMT</pubDate><guid>http://blogs.wankuma.com/esten/archive/2014/07/07/338651.aspx</guid><wfw:comment>http://blogs.wankuma.com/esten/comments/338651.aspx</wfw:comment><comments>http://blogs.wankuma.com/esten/archive/2014/07/07/338651.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/esten/comments/commentRss/338651.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/esten/services/trackbacks/338651.aspx</trackback:ping><description>&lt;p&gt;さて、アプリケーション作る上で必要なもののひとつ、データベースにデータ格納して、取り出して使いたい、なんて時。&lt;/p&gt; &lt;p&gt;まぁ普通にORMでゆとりして、DAOパターン使えばいいよね、とか考えるんだけど、Androidだとどうなんだろう。&lt;/p&gt; &lt;p&gt;調べてみて、判ったことは&lt;/p&gt; &lt;ul&gt; &lt;li&gt;データベースにはSQLiteを使う。&lt;/li&gt; &lt;li&gt;SQLiteを使うように、処理クラスが用意されている。&lt;/li&gt; &lt;li&gt;ORMするには、追加jarライブラリが必要。&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;ってことまで判った。&lt;/p&gt; &lt;p&gt;&lt;font color="#ff0000"&gt;ORMしなくても、地道にSQL書いたり、用意されてるメソッド読んだりして処理できるらしいけど、書くソースコードが多いので疲れそう。あとでメンテするのもメンドクサそう。&lt;/font&gt;&lt;/p&gt; &lt;p&gt;なのでやっぱり、ORMしようかな。&lt;/p&gt; &lt;p&gt;Hibernateは使い慣れているけれど、Android環境ではどうなんだろう。&lt;/p&gt; &lt;p&gt;なんて考えながら、ネットをうろうろして、ちょっとみつけたものがあるので使ってみようと思う。&lt;/p&gt;&lt;a href="http://ormlite.com/sqlite_java_android_orm.shtml"&gt;OrmLite - Lightweight Java ORM Supports Android and SQLite&lt;br&gt;http://ormlite.com/sqlite_java_android_orm.shtml&lt;/a&gt;&lt;br&gt; &lt;p&gt;軽そう＆面白そう。使い方はアノテーション＆Configファイルで良さそう。&lt;/p&gt; &lt;p&gt;試してみることにするｗ&lt;/p&gt; &lt;p&gt;話変わるけど、Mavenってツールがあるのね。これは、コンパイルするときに必要なリンクライブラリをかき集めて取ってきてくれるツール。他にも色々と便利な機能があるけど、複雑になっちゃうので割愛。&lt;font color="#ff0000"&gt;依存関係とかあると、これを使うならこれが必要、あれリンクするならあれも必要、とか、人力でやってると、ライブラリがないよエラー連発でキーーッてなるような事故がよく起きる。&lt;/font&gt;&lt;strong&gt;それを「これ使います」と特定のファイルに書いておくと、関係ライブラリもひっくるめて、探して全部まとめて取ってきてライブラリパスからリンクできるようにしてくれるから、ストレスが減っておすすめ。&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;つまりは、リンクライブラリで苦労したくないなら、入れておけってこと&lt;/font&gt;&lt;/strong&gt;だｗ&lt;/p&gt; &lt;p&gt;話を戻して、さっきのOrmLiteを追加してみる。&lt;/p&gt; &lt;p&gt;で、Mavenプロジェクトにしていると、リソースに、pom.xmlってファイルができる。ここにOrmLite用の依存ライブラリを追加すればいい。&lt;/p&gt;&lt;a href="http://mvnrepository.com/"&gt;Maven Repository: Search/Browse/Explore&lt;br&gt;http://mvnrepository.com/&lt;/a&gt;&lt;br&gt; &lt;p&gt;というサイトを知っておくと、この作業がとっても幸せ＆楽ちん。&lt;/p&gt; &lt;p&gt;実はこのサイトは、検索してMaven用のリポジトリをpom.xmlにコピペできるように提供してくれるサイト。&lt;/p&gt; &lt;p&gt;ここで検索すると大概のリポジトリ定義は見つかるので、さっそくコピペ追加して、プロジェクト更新。&lt;/p&gt; &lt;p&gt;必要なjarライブラリが追加されるので、プロジェクトの準備完了。&lt;/p&gt; &lt;p&gt;さっそく、OrmLiteのサイトの説明を見ながら、ちょっとサンプルアプリを作ってみようｗ&lt;/p&gt; &lt;p&gt;&lt;font color="#cccccc"&gt;でも、疲れたから、今日はここまでorz　&lt;/font&gt;&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/esten/aggbug/338651.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>片桐　継（Tugu Katagiri）</dc:creator><title>Androidアプリケーションを作るためのプロジェクトを作ってみる</title><link>http://blogs.wankuma.com/esten/archive/2014/07/04/338163.aspx</link><pubDate>Fri, 04 Jul 2014 10:46:00 GMT</pubDate><guid>http://blogs.wankuma.com/esten/archive/2014/07/04/338163.aspx</guid><wfw:comment>http://blogs.wankuma.com/esten/comments/338163.aspx</wfw:comment><comments>http://blogs.wankuma.com/esten/archive/2014/07/04/338163.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/esten/comments/commentRss/338163.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/esten/services/trackbacks/338163.aspx</trackback:ping><description>&lt;p&gt;まだ手探りで、とっても、とっても、ゆっくりとｗ&lt;/p&gt; &lt;p&gt;とりあえず、ここのサイトからスタート。&lt;/p&gt;&lt;a href="http://developer.android.com/tools/workflow/index.html"&gt; &lt;p&gt;&lt;br&gt;http://developer.android.com/tools/workflow/index.html&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Androidアプリ開発の簡単な手順について説明しているページね。&lt;/p&gt; &lt;p&gt;難しい英語じゃないから、ビビらず、ゆっくり読んでいけばOK。&lt;/p&gt; &lt;p&gt;要約すると、こんな感じらしい。&lt;/p&gt; &lt;ol&gt; &lt;li&gt;開発環境とテスト環境を作る  &lt;li&gt;プロジェクト作る  &lt;li&gt;コード書いて、デバッグして、テストして、また書いて、デバッグして（ｒｙ  &lt;li&gt;アプリできたよー、使ってねー、リリース&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;なんだ、いつものアプリ作りとあんまり変わらないね。私の場合は、３の所がまるっとTDDになるけどｗ&lt;/p&gt; &lt;p&gt;で、これをEclipseの環境で、どう使っていくのかなぁと思っていたら、テスト環境にはエミュレータが必要で、これが動くようになってないと先々に困りそう。&lt;font color="#9b00d3"&gt;実機使うの、なんだか怖いしｗ&lt;/font&gt;　とりあえず、Androidアプリに必要なファイルについては、一括して、Android SDK マネージャーってツールで色々とお助けしてくれるらしいので、早速起動。&lt;/p&gt; &lt;p&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://esten.dip.jp/blogimg/Android_5E4E/image.png" width="200" height="253"&gt;&lt;/p&gt; &lt;p&gt;そして、気が付くｗ　エミュレータ―に必要なSystemImageはuninstallだったｗ&lt;/p&gt; &lt;p&gt;&lt;img title="2014070401" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="2014070401" src="http://esten.dip.jp/blogimg/Android_5E4E/2014070401.jpg" width="550" height="365"&gt;&lt;/p&gt; &lt;p&gt;&lt;br&gt;時期的に、ちょうど、まだ未リリースの次バージョン、Android L のSDKも公開されてたので選択。&lt;font color="#9b00d3"&gt;何も考えずにSDKインストールすると、4.4Wだけが入るみたい。&lt;/font&gt;Wearなアプリなんて考えてないから、手持ち実機と近いバージョン4.4.2を追加。そして、エミュレートの肝になるSystemImageも選んで、中身をのぞいてみたいからSDKのソースも確保ｗ　&lt;font color="#0000ff"&gt;&lt;strong&gt;このソース読むだけで楽しいだろうなぁとワクワク。&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;後はそれぞれの使用許諾をAcceptして、インストール開始。無事終了したら再起動。Android仮想デバイスマネージャーを使ってエミュレートするデバイス端末を登録して、仮想でのテストが出来るように準備。といっても、仮想デバイスマネージャーに雛型が登録済なので、そこからテスト用の端末を作るだけなんだけどね。&lt;/p&gt; &lt;p&gt;&lt;img title="2014070403" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="2014070403" src="http://esten.dip.jp/blogimg/Android_5E4E/2014070403.jpg" width="516" height="367"&gt;&lt;/p&gt; &lt;p&gt;ここまでで１のフェーズが終了。&lt;/p&gt; &lt;p&gt;さて、じゃ、プロジェクト作ろうかな。ちょっとサイトを読み進めると、&lt;/p&gt;&lt;a href="http://developer.android.com/tools/projects/index.html"&gt;http://developer.android.com/tools/projects/index.html&lt;/a&gt;&lt;br&gt; &lt;p&gt;このページでお約束事発見。&lt;font color="#ff0000"&gt;&lt;strong&gt;Androidアプリのプロジェクト構成として、アプリケーションプロジェクトと、そのアプリケーションと紐づけたテストアプリケーションプロジェクトの二つを作るってことみたい。&lt;/strong&gt;&lt;/font&gt;テスト専用プロジェクト作るとか、面白すぎｗ　&lt;/p&gt; &lt;p&gt;さて、なんとなく作業がイメージできたし、サクサクすすんじゃおう。　&lt;font color="#9b00d3"&gt;&lt;strong&gt;でも、疲れたから、休憩なｗ&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/esten/aggbug/338163.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>片桐　継（Tugu Katagiri）</dc:creator><title>Trac 1.0.1 を日本語化する。</title><link>http://blogs.wankuma.com/esten/archive/2014/06/20/337475.aspx</link><pubDate>Fri, 20 Jun 2014 08:45:00 GMT</pubDate><guid>http://blogs.wankuma.com/esten/archive/2014/06/20/337475.aspx</guid><wfw:comment>http://blogs.wankuma.com/esten/comments/337475.aspx</wfw:comment><comments>http://blogs.wankuma.com/esten/archive/2014/06/20/337475.aspx#Feedback</comments><slash:comments>571</slash:comments><wfw:commentRss>http://blogs.wankuma.com/esten/comments/commentRss/337475.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/esten/services/trackbacks/337475.aspx</trackback:ping><description>&lt;p&gt;昨日の作業で、aptitue trac-ja-resource　がうまく動かなかった。&lt;/p&gt; &lt;p&gt;理由は、提供している日本語化リソースの対応バージョンが 0.1x だったから。&lt;/p&gt; &lt;p&gt;まぁしょうがないよね、ってことで、引き続き、Tracのプラグインについて、色々と調べてたんだ。&lt;/p&gt; &lt;p&gt;そうしたら、バージョン 1.0x 用の日本語化リソースファイルを発見！&lt;/p&gt;&lt;a href="http://www.i-act.co.jp/project/products/products.html"&gt;インタアクト株式会社--業務内容--公開資料&lt;br&gt;http://www.i-act.co.jp/project/products/products.html&lt;/a&gt;&lt;br&gt; &lt;p&gt;さっそく、さくっとさくっと（ｒｙ&lt;/p&gt; &lt;div class="insertcode"&gt;&lt;pre&gt;# easy_install http://www.i-act.co.jp/project/products/downloads/Trac-1.0.ja1.zip&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;導入成功。&lt;/p&gt;
&lt;p&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://esten.dip.jp/blogimg/Trac-1.0.1-_590F/image.png" width="402" height="253"&gt;&lt;/p&gt;
&lt;p&gt;tracdを再起動して、web画面で確認。&lt;/p&gt;
&lt;p&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://esten.dip.jp/blogimg/Trac-1.0.1-_590F/image_3.png" width="646" height="234"&gt;&lt;/p&gt;
&lt;p&gt;日本語になった。&lt;/p&gt;
&lt;p&gt;タイトルロゴも設定して、スタートページも編集して、いよいよ、ぼっちチケット駆動作業管理のスタートだね！&lt;/p&gt;
&lt;h4&gt;閑話休題&lt;/h4&gt;
&lt;p&gt;Androidアプリ開発に手をつけるのは、いったいいつ……&lt;/p&gt;
&lt;p&gt;私自身はとっかかるまでが遅いのよね。早くもいいけど、確実に、を忘れないようにしてたいし。&lt;/p&gt;
&lt;p&gt;という一方で、実は、&lt;/p&gt;&lt;a href="http://www.appmethod.com/jp/"&gt;Appmethod | Build Apps for Android, iOS, Windows, and Mac&lt;br&gt;http://www.appmethod.com/jp/&lt;/a&gt;&lt;br&gt;
&lt;p&gt;これがすごく、すごーく、すごぉぉぉぉく、気になってるのｗ&lt;/p&gt;
&lt;p&gt;これでさくっと作っちゃう方が早くね？　みたいな。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/esten/aggbug/337475.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>