tag:blogger.com,1999:blog-39344488156709754962024-02-19T16:29:38.537+09:00SLUMBERS「人」という字はどう見ても支えあってなくて、
2画目の人のほうがめっちゃ頑張ってるAnonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comBlogger97125tag:blogger.com,1999:blog-3934448815670975496.post-63668990301453389492013-12-15T02:19:00.001+09:002013-12-15T02:19:42.578+09:00Android で 円をきりとる。タイトル微妙。<br />
なんて表現していいかわからないがこんな感じの円を切り取ってつくる<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-WxSeZhzmo_E/UqyPLn5I3ZI/AAAAAAAAAr4/FH9pxMWD0pY/s1600/Device_Screen_Capture-4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="299" src="http://3.bp.blogspot.com/-WxSeZhzmo_E/UqyPLn5I3ZI/AAAAAAAAAr4/FH9pxMWD0pY/s320/Device_Screen_Capture-4.png" width="320" /></a></div><br />
<a name='more'></a>よくある方法はカスタム View 作って ごにょごにょするんだろうけど XML でもこういうのは簡単にできる。<br />
<br />
<h3>まずは円形のshapeをつくる</h3><script src="https://gist.github.com/slumbers99/7961906.js?file=shape_oval_text_background.xml"></script><br />
<br />
<h3>ソレを元に clip リソース作成</h3><script src="https://gist.github.com/slumbers99/7961906.js?file=clip_text_background.xml"></script><br />
<br />
<h3>clip を TextView の背景にする</h3><script src="https://gist.github.com/slumbers99/7961906.js?file=gistfile1.xml"></script><br />
<br />
<h3>ClipDrawable をもってきてレベルを指定</h3><script src="https://gist.github.com/slumbers99/7961906.js?file=gistfile2.java"></script><br />
<br />
ね?簡単でしょ?<br />
<br />
ちなみに、clipリソースの gravity を center にするとこんなふうになる。<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-4_fXxshaDSM/UqySi5pvDOI/AAAAAAAAAsE/rk_px6RWEcE/s1600/Device_Screen_Capture-5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="276" src="http://1.bp.blogspot.com/-4_fXxshaDSM/UqySi5pvDOI/AAAAAAAAAsE/rk_px6RWEcE/s320/Device_Screen_Capture-5.png" width="320" /></a></div>いろいろ変えると表現の幅が広がりますね。<br />
<br />
<a href="http://developer.android.com/guide/topics/resources/drawable-resource.html#Clip">マニュアルはここ</a><br />
<br />
Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-71494565962910869382013-12-05T01:25:00.000+09:002013-12-05T01:25:27.222+09:00TextView の フォントを変えると中国っぽさがでる。フォントによっては・・・。端末のフォントが気に食わないことも多々あるかと思います。そこで TextView フォントを変えましょうということに。ただ普通のフォントがいいのでいいものないかなーと探していたら、Android SDK のなかにフォントが入ってた。ソレを使ってみます。<br />
<br />
/path/to/sdk/platforms/android-[xx]/data/fonts/<br />
にたくさん入ってます。<br />
※ [xx] はバージョン番号 <br />
<br />
<br />
<a name='more'></a>何個か入れてみたところ、一部の日本語が残念な感じに・・・・。中国っぽさが全面に押し出るアプリになりそうです。Android 期待の Roboto フォントも日本語が入っていない模様・・・・。んー何だろう残念すぎる。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-aB4h68_qQLI/Up9WkaM4RfI/AAAAAAAAArc/fUyteoVwGK0/s1600/Device_Screen_Capture-4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-aB4h68_qQLI/Up9WkaM4RfI/AAAAAAAAArc/fUyteoVwGK0/s320/Device_Screen_Capture-4.png" width="174" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-H3SWj2K241Q/Up9WkR07mNI/AAAAAAAAArg/JRxr2vuv-GI/s1600/Device_Screen_Capture-9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-H3SWj2K241Q/Up9WkR07mNI/AAAAAAAAArg/JRxr2vuv-GI/s320/Device_Screen_Capture-9.png" width="174" /></a></div>
<br />
サンプルは <a href="https://github.com/slumbers99/SampleFont" target="_blank">github</a> に置いときます。<br />
<br />Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-60632650601398116912013-11-30T02:46:00.000+09:002013-11-30T02:46:18.436+09:00Android で隙間なく Button を並べる。ボーダー付きのカスタムボタンをびっちり隙間なく並べると、カッコ悪い。連続したボーダーがあるもんだからボーダーが太くなる。こんな感じ。<br />
<a href="http://1.bp.blogspot.com/-fRagA_iisHo/UpjN-Hl8ZnI/AAAAAAAAAq8/nHd-A8G_Hic/s1600/Device_Screen_Capture-22.png" imageanchor="1"><img border="0" src="http://1.bp.blogspot.com/-fRagA_iisHo/UpjN-Hl8ZnI/AAAAAAAAAq8/nHd-A8G_Hic/s320/Device_Screen_Capture-22.png" /></a><br />
<br />
結論からだと。ボーダーは定義しないで、隙間開けて背景色を見せることでボーダーっぽく見せる。なんか昔のhtmlみたいだ・・・。<br />
<br />
なんやかんやでこうなる。一番上のはボーダーありだから太い箇所がある。<br />
縦線だけ、ヨコ線だけ、あと最初と最後の要素だけ角丸も。角丸がちょっと微妙かも・・・。内と外の radius がなかなかビッタリいかない。悩みどころ。まあ許容範囲内?<br />
<a href="http://2.bp.blogspot.com/-M-nGrYY-59Y/UpjP2gD7LpI/AAAAAAAAArM/vCsE3_nvjc4/s1600/Device_Screen_Capture-11.png" imageanchor="1"><img border="0" src="http://2.bp.blogspot.com/-M-nGrYY-59Y/UpjP2gD7LpI/AAAAAAAAArM/vCsE3_nvjc4/s320/Device_Screen_Capture-11.png" /></a><br />
<br />
もうちょっとスマートな方法ないものかしら?<br />
<br />
style="?android:attr/buttonBarStyle"<br />
style="?android:attr/buttonBarButtonStyle"<br />
<br />
あたりをちゃんと理解すればいいのかな?<br />
<br />
とりあえず今回のサンプルプロジェクトは <a href="https://github.com/slumbers99/SampleButtons"><span style="font-size: large;">githunb</span></a> にあげておきます。<br />
drawable と layout の中身見ればまあそれなりに。Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-28531192719605077542013-11-15T01:20:00.001+09:002013-11-15T01:20:26.677+09:00こんな Android コードは嫌だ<script src="https://gist.github.com/slumbers99/7469607.js"></script><br />
<br />
うん。やだ。<br />
Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-34314401255673400252013-11-08T09:30:00.000+09:002013-11-08T09:30:01.057+09:00DialogFragment のイベントを Activity とか Fragment に伝えたい。削除しますか?「はい/いいえ」の確認ダイアログ出して、「はい」したらもとの画面からも消えてるみたいな。ダイアログのイベントを元々の画面伝えたい。そんな感じのよくある話。<br />
<br />
DialogFragment になにか渡したいときは Fragment の特徴である DialogFragment#setArguments() で渡さないといけない。でもリスナー渡したいときは一筋縄ではいかない。DialogFragment#setOnDoSomethingListener() なんかを生やしても大人の事情でダメ。ここでこうやってみる。<br />
<br />
まずはなんにせよ Listener を作る。<br />
<script src="https://gist.github.com/slumbers99/7356999.js?file=gistfile1.java"></script><br />
こんな感じ。<br />
<br />
<h4>Activity に通知する場合。</h4><br />
Activity にリスナーを implements するの忘れない。Dialog 側は onAttach(Activity activity) をオーバーライドする。ライフサイクルに組み込まれてるこのメソッドでは Activity が渡されるので、そのアクティビティが Listener を implements してるかチェックできる。なので DialogFragment#setArguments() で渡さなくてもいい。<br />
<script src="https://gist.github.com/slumbers99/7356999.js?file=gistfile3.java"></script><br />
こんな感じ。あとは必要なところでthis.mOnDialogButtonClickListenerのメソッド使えばいい。<br />
<br />
<h4>Fragment に通知する場合。</h4><br />
DialogFragment にいつもの newInstance() を生やす。ここで引数に Fragment をとるようにして、DialogFragment#setTargetFragment() を使って Fragment を保持。必要なときに DialogFragment#getTargetFragment() から Fragment を取ってきてリスナーにキャストして使う。ちょっと回りくどい。<br />
<br />
<script src="https://gist.github.com/slumbers99/7356999.js?file=gistfile4.java"></script><br />
こんな感じでいいんじゃまいか。Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-5562051268328074552013-11-06T10:00:00.000+09:002013-12-03T18:00:03.863+09:00DialogFragment#dismiss() で NullPointerException がたまにでる。「たまにでる」ここぽいんと。<br />
<br />
ローディングのくるくるダイアログとか DialogFragment とかって出すことは、まあよくあると思う。そんな感じで出してたら NullPointerException でた。<br />
こんな感じのとこ。<br />
<br />
<script src="https://gist.github.com/slumbers99/7321247.js?file=gistfile1.java"></script><br />
<br />
いやいや、null じゃなければって言ってるでしょ?どうも DialogFragment の中で何かが null っぽい(例外メッセージ忘れた)なので、こう変えた。<br />
<br />
<script src="https://gist.github.com/slumbers99/7321247.js?file=gistfile2.java"></script><br />
<br />
TAG を指定して生成、消すときも TAG 指定で取得、fragment が帰ってくるから一応 null チェックとそいつが DialogFragment かどうかを見て、dismiss() 呼び出す。これで一応 NullPointerException はなくなりました。ここらへんどうなんだろうかっていうのはある。<a href="http://developer.android.com/reference/android/app/DialogFragment.html" target="_blank">ドキュメント</a>見てもshow() の例は書いてるけど dismiss() の例もないものね。<br />
<br />
<h3>追記</h3><code><br />
12-03 17:57:12.331: E/AndroidRuntime(5279): java.lang.NullPointerException<br />
12-03 17:57:12.331: E/AndroidRuntime(5279): at android.support.v4.app.DialogFragment.dismissInternal(DialogFragment.java:184)<br />
12-03 17:57:12.331: E/AndroidRuntime(5279): at android.support.v4.app.DialogFragment.dismiss(DialogFragment.java:155)<br />
<br />
</code><br />
こんなかんじの例外でした。<br />
Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-19747220429486996482013-07-21T17:30:00.000+09:002013-07-21T17:30:39.198+09:00Android でクラスを作るときに TAG も一緒につくる。Log.d(TAG, "hogehoge")<br />
とか何かと物入りな TAG という代物。<br />
<br />
クラスを作成するたびに<br />
private static final String TAG = "hoge";<br />
とかやっていたけど、まあめんどいし忘れるし。<br />
うまいことできんかと思ったらテンプレート機能が Eclipse さんには備わっておる。<br />
<br />
<a name='more'></a><br />
<pre>・Window -> Preferences
・Java -> Code Style -> Code Templates
・Code -> Class body を Edit
</pre><br />
<code>@SuppressWarnings("unused")<br />
private static final String TAG = ${type_name}.class.getSimpleName();<br />
</code><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2rpUgIQRIk1hzqrMSnvPXmyT9lCcVlMoglUP-4Lvmg3JP0QLx_2VTX1Lz2ZDxitTRvUcXOgdbSo2wyyPCbMR5M8L9UurkbJCC6dRjuGLY7099NVhz566Zwgeb06InYW7mZClq-YNBZos/s1600/Preferences.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2rpUgIQRIk1hzqrMSnvPXmyT9lCcVlMoglUP-4Lvmg3JP0QLx_2VTX1Lz2ZDxitTRvUcXOgdbSo2wyyPCbMR5M8L9UurkbJCC6dRjuGLY7099NVhz566Zwgeb06InYW7mZClq-YNBZos/s1600/Preferences.png" /></a><br />
<br />
これで例えば Hoge クラスを作った時に<br />
<code>@SuppressWarnings("unused")<br />
private static final String TAG = Hoge.class.getSimpleName();<br />
</code><br />
に置換される。<br />
<code>private static final String TAG = "${type_name}"</code><br />
でもいいんだろうけど、もし万が一クラス名が変えた場合にめんどくさいことになりそうだから。<br />
<br />
<code>@SuppressWarnings("unused")<br />
</code><br />
は TAG を使わなかった場合の warning を抑止。ただ TAG を使っちゃうとそれはそれで warning がでちゃうんだけど・・・・。<br />
<br />
テンプレートも使うと便利ねということでした。Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-38969299624961276642013-06-04T02:23:00.002+09:002013-06-04T02:23:46.505+09:00Java の Calendar は Singleton ではなくて Factory Method。カレンダーを取得する際は<code>Calendar.getInstance()</code> でとる。この<code>getInstalnce()</code>だけで、勝手にシングルトンだと思っていた。実際は Factory Method パターン でした。<br />
<br />
ソースコードを見ると<br />
<code>Calendar#getInstance()</code> -> <code>Calendar#createCalendar(TimeZone zone, Locale aLocale)</code> で言語、国なんかを判別して<br />
<ul><li>new sun.util.BuddhistCalendar(zone, aLocale);</li>
<li>new JapaneseImperialCalendar(zone, aLocale);</li>
<li>new GregorianCalendar(zone, aLocale);</li>
</ul>を new してインスタンス生成して返してる。<br />
<br />
シングルトンだと思っていたから、 Calendar#add() とかして、アプリで使う Calendar インスタンスの時間ずれたらどうしようとか今更心配した・・・。大丈夫だった・・・。<br />
<br />
Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-51144523308129281122013-05-19T22:27:00.001+09:002013-05-23T23:56:17.657+09:00Eclipse で Gradle で Android する。なんか Maven でこの前同じようなの書いてた気がするが、Maven は諦めた。XML の設定が慣れない・・・・。 Gradle は Groovy らしい。Groovy よくわかってない。<br />
<br />
どうも Android のビルドツールは Gradle になるようだ。Android Studio のビルドツールは Gradle。ant が何かもよくわかってないのに!そして ActionBarSherlock も Gradle に対応したらしいし、ADT 22 から Gradle プロジェクトにエクスポートもできるようですしとりあえず触ってみる。<br />
<br />
<a name='more'></a><br /><br />
<h4>
なにはともあれ Gradle インストール。</h4>
<br />
Mac は <code>brew install gradle</code> で一発。Windows はなんかめんどくさそう・・・。<br />
<br />
<h5>
環境変数</h5>
※これもいらないかも・・・?<br />
<pre><code>export GRADLE_HOME=/usr/local/Cellar/gradle/1.6
export PATH=GRADLE_HOME/bin:$PATH
</code>
</pre>
<br />
<h4>
Eclipse の Android プロジェクトを Gradle に対応させる</h4>
<br />
File -> export<br />
Android -> Generate Gradle build files<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_4Q7SjEpfx-caEQZJFvbvZL67AHyRf7s023wKZy8juDudAv_7AGin9cruC9XZhqBCrn8jJnszLS4UCk9Rbz99GV3cn0JzCllDEItqRd_MzNY2oknJF-LKNnqSumhvC-2p3TDl8huoHdU/s1600/Export.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_4Q7SjEpfx-caEQZJFvbvZL67AHyRf7s023wKZy8juDudAv_7AGin9cruC9XZhqBCrn8jJnszLS4UCk9Rbz99GV3cn0JzCllDEItqRd_MzNY2oknJF-LKNnqSumhvC-2p3TDl8huoHdU/s1600/Export.png" /></a></div>
<br />
対象のプロジェクトを選択<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9viW3sv3eEf4DHvW09tIdpVfRjBaw08Krs3Hj8JnrQZq7h6OQ4C29Dzy5L9GRIu596d_Ynz6UtCeiTLq6cS0ABtCMZ6zxZglWccRe9N0Qs9u0RcKhmsXuex9KLIbYDr0BHRPbL3JgCeo/s1600/Export+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9viW3sv3eEf4DHvW09tIdpVfRjBaw08Krs3Hj8JnrQZq7h6OQ4C29Dzy5L9GRIu596d_Ynz6UtCeiTLq6cS0ABtCMZ6zxZglWccRe9N0Qs9u0RcKhmsXuex9KLIbYDr0BHRPbL3JgCeo/s1600/Export+2.png" /></a></div>
<br />
build.gradle が出来ました。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqbcn2gGBRd88QFnQbx12PHiV9QFX9X_inPczd9SJMoJjvTKww_7tjKw6EAdhU97_AT9Zlh8E4of0rGN_M2BuWmuJjtjH_jxTzztSSc409s9jKRKrItL-QkWFQX2oJmkFD-RHsYEx3XMc/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588_2013_05_19_20_35.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqbcn2gGBRd88QFnQbx12PHiV9QFX9X_inPczd9SJMoJjvTKww_7tjKw6EAdhU97_AT9Zlh8E4of0rGN_M2BuWmuJjtjH_jxTzztSSc409s9jKRKrItL-QkWFQX2oJmkFD-RHsYEx3XMc/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588_2013_05_19_20_35.png" /></a></div>
<br />
<h4>
Eclipse の外部ツールとして Gradle でビルドできるようにする</h4>
<br />
このアイコンから、External Tools Configurations…<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkM0JSq8SobydbbO_MLohz1jS832GPPYfJeDZJnRh5b6zaODKwgfnY5Dnui95Chc9vVMuLLbZOACxxWlwkiuUzlY3LncePlcempmyMYrhMq9NeFkFBv3yGB5hSJQDdNxHJIAnXagTQzDo/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_05_19_22_24-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkM0JSq8SobydbbO_MLohz1jS832GPPYfJeDZJnRh5b6zaODKwgfnY5Dnui95Chc9vVMuLLbZOACxxWlwkiuUzlY3LncePlcempmyMYrhMq9NeFkFBv3yGB5hSJQDdNxHJIAnXagTQzDo/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_05_19_22_24-2.png" /></a></div>
<br />
こんなかんじで設定する。これだけだとただ単に端末にインストールさせるだけ。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAKYEdzUd_ZbaH5eJ4VoFhDIOQ5IGt_v26ShEd7I8YP7-lcXtVBVshJISFZhhZseEYwIBK56DrUuyuQTB_mZzc76EWLH8Q6D6F50kqsuGQaDsQhvB74-e8dkVZ8nbG6lZFGxg_2b1LO-M/s1600/External_Tools_Configurations-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAKYEdzUd_ZbaH5eJ4VoFhDIOQ5IGt_v26ShEd7I8YP7-lcXtVBVshJISFZhhZseEYwIBK56DrUuyuQTB_mZzc76EWLH8Q6D6F50kqsuGQaDsQhvB74-e8dkVZ8nbG6lZFGxg_2b1LO-M/s1600/External_Tools_Configurations-2.png" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJiGy9WHTyjjC-uQLqVJUH-meI3ual09yvdRAWCVKopgh5jfMRfyH2Z2kP5VhrPIRnogwcFqJ1xB_IS3o_QdLfUn55Ds3BDGDKAp3oqOm-8fOqNbI8w-oDtX9NBgzv_xUyY7eYquQ8ibQ/s1600/External_Tools_Configurations+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJiGy9WHTyjjC-uQLqVJUH-meI3ual09yvdRAWCVKopgh5jfMRfyH2Z2kP5VhrPIRnogwcFqJ1xB_IS3o_QdLfUn55Ds3BDGDKAp3oqOm-8fOqNbI8w-oDtX9NBgzv_xUyY7eYquQ8ibQ/s1600/External_Tools_Configurations+2.png" /></a></div>
<br />
一応はこれで Eclipse で Gradle で Android できたとした。プロジェクト配下に build ディレクトリが生成されて、build/apk に apk ファイルが置かれています。その他いろいろ掘られてる。<br />
<br />
<h4>
思ったこと</h4>
<dl>
<dt>環境変数くらい引っ張ってこいよ・・・</dt>
<dd>Enviromentタブに設定した、ANDROID_HOME とかは <code>~/.zshrc</code> に設定してある。それをここでももっかい設定するのだるい。</dd>
<dt>端末にインストールしたあとアプリ起動して貰いたい</dt>
<dd>Main -> Auguments に installDebug って書いてるけど、これはプロジェクトに移動してから <code>gradle tasks</code> を打つと一覧で出るタスクを指定している。ここの一覧にインストール後に起動するタスクが無いように思う。これは残念。(Augument に tasks って書いてもOK Console に一覧ででる。)</dd> </dl>
<br />
まあ、いろいろわからないことだらけ、徐々に慣れていこうかと。Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-13257001882441383662013-05-16T23:59:00.000+09:002013-05-16T23:59:31.168+09:00Eclipse ADT 22 のバージョンアップでは Android SDK Manager のアップデートは 2 回する。Android Studio が発表されたり、そんななか ADT もバージョンアップして、おもむろにカジュアルにバージョンアップした。そしたらエラーだらけで大変なことに。<br />
<br />
<a name='more'></a><br />
まずは、Eclipse の Check For Updates で ADT 更新した。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2NcbbgislE8rdSoaWk2OeUm9SjchCZCag0NrjE61JXVSloFK2QMc8ETdn3ldpNAvi_zFUiGqPiZZJ1LnNt8c1w0hkJuKzE6LHMWDXVlOIL4-Ai_T621-p8FGFCisJTemc7GpJaaKLaRk/s1600/Available_Updates.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2NcbbgislE8rdSoaWk2OeUm9SjchCZCag0NrjE61JXVSloFK2QMc8ETdn3ldpNAvi_zFUiGqPiZZJ1LnNt8c1w0hkJuKzE6LHMWDXVlOIL4-Ai_T621-p8FGFCisJTemc7GpJaaKLaRk/s1600/Available_Updates.png" /></a></div>
<br />
アップデート後 Eclipse 再起動すると、Android SDK Manager 起動してアップデートしろとおっしゃるので従う。いろいろ更新きてた。でもこれが罠だった・・・。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPipLIML1vUNZvJCH-D01kjfDkqJ0_QsO1_F7EkeBs84fzGGhN08cufMB8YbVGDGbA-To4NxzIxUhIsk0AKeyvLm5Wv9KmKMO7cocTPFcA_1G0wOpNbAHC60Og8NS6i7DZ4MbqhhMCqm4/s1600/Android_SDK_Manager.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPipLIML1vUNZvJCH-D01kjfDkqJ0_QsO1_F7EkeBs84fzGGhN08cufMB8YbVGDGbA-To4NxzIxUhIsk0AKeyvLm5Wv9KmKMO7cocTPFcA_1G0wOpNbAHC60Og8NS6i7DZ4MbqhhMCqm4/s1600/Android_SDK_Manager.png" /></a></div>
<br />
Android SDK Manager 使ってアップデート後。プロジェクトが真っ赤っ赤。<br />
ぎゃーー。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlLyzcch9EgroSDULbRQR3Wja-qX_DN2naK5TYQ2CtNHzU3wrtOcHGZzik8aXbioLf9HLReGz0B7OJgiswbfeonIsMJ3r0HiWFLj343smGL13SLm5OTmX61MbP7O_8G6WFFI-XRyDU6pk/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_05_16_23_12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlLyzcch9EgroSDULbRQR3Wja-qX_DN2naK5TYQ2CtNHzU3wrtOcHGZzik8aXbioLf9HLReGz0B7OJgiswbfeonIsMJ3r0HiWFLj343smGL13SLm5OTmX61MbP7O_8G6WFFI-XRyDU6pk/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_05_16_23_12.png" /></a></div>
<br />
ギャーー。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvu437kLEZhyphenhyphenfoMD5fErUEYUSCwSVHhJ3Q3KODalZxiqwrltK0-qYFPB5QIa5pqGFWHFHl6qm39oYDlfqyx2NsaF58IU0tkIX0DIp87CA-1aMedL7z1TxYLJF_mtHfVitmpyKDCyt_P08/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_05_16_23_12+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvu437kLEZhyphenhyphenfoMD5fErUEYUSCwSVHhJ3Q3KODalZxiqwrltK0-qYFPB5QIa5pqGFWHFHl6qm39oYDlfqyx2NsaF58IU0tkIX0DIp87CA-1aMedL7z1TxYLJF_mtHfVitmpyKDCyt_P08/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_05_16_23_12+2.png" /></a></div>
<br />
どうも gen ディレクトリに何も生成されない。R.java がもちろん無いので、import の所で軒並みエラーになっていた。<br />
Clean したり、~/.android 削除してみたり、bin ディレクトリも見えなくなってたから .classpath をいろいろいじったりしたけどダメ。ActionBarSherlock も真っ赤っ赤。Eclipse ぶっ壊れたと思って再インストール。Android SDK も新たにダウンロードしなおした。そしたら再インスールの課程の中で、Android SDK Manager に見慣れないものが。Android SDK Build-tools!?<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxYPO3m0xX7jpNYBtaXGvRc6TIIUp5WbVvTqVwwWVogTfjvV8c1fLyaGRW2UahQjvHi6EWz1fPUbgdrU_L6xu5fnLypkDN92TWQLSHuuOR-XP5oLOSH7QqOsUGWyaCUpqqtWcGBmKOxqk/s1600/Android_SDK_Manager+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxYPO3m0xX7jpNYBtaXGvRc6TIIUp5WbVvTqVwwWVogTfjvV8c1fLyaGRW2UahQjvHi6EWz1fPUbgdrU_L6xu5fnLypkDN92TWQLSHuuOR-XP5oLOSH7QqOsUGWyaCUpqqtWcGBmKOxqk/s1600/Android_SDK_Manager+2.png" /></a></div>
<br />
使っていた Eclipse から Android SDK Manager を立ち上げると同じ物が表示された。どうやら Android SDK Tools を rev. 22 上げるとでてくるシロモノらしく、おまけに Android SDK Platform-tools もアップデートフラグたっとる。<br />
2つにチェックを入れてインストール。<br />
<br />
インストール後、Project -> Clean でエラーは全部消えてくれました。<br />
<br />
あせった。<br />
<br />
Eclipse ADT 22 のバージョンアップでは Android SDK Manager のアップデートは 2 回する。<br />
<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-26059634027400111762013-05-03T14:24:00.000+09:002013-05-03T14:24:09.498+09:00Mac で JAVA_HOME 環境変数を設定する。zsh にを使っていて JAVA_HOME 環境変数を設定する必要がある。<br />
<br />
<h4>~/.zshrc</h4><pre><span style="color: lime;"><b>◯</b></span> <code>export JAVA_HOME=$(/usr/libexec/java_home)</code>
<span style="color: red;"><b>×</b></span> <code>export JAVA_HOME=/usr/libexec/java_home</code>
</pre><br />
$() で囲まないと以下のように怒られる。<br />
<blockquote>Error: JAVA_HOME is not defined correctly.<br />
We cannot execute /usr/libexec/java_home/bin/java</blockquote>実行結果を展開してるのかな?<br />
<br />
シンボリックリンクになっているようだ<br />
<blockquote>ls -al /usr/libexec/java_home<br />
lrwxr-xr-x 1 root wheel 79 4 27 21:16 /usr/libexec/java_home -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home</blockquote>Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-44360272510853207532013-04-29T23:34:00.000+09:002013-04-29T23:34:31.086+09:00Mac を2 回再インスールしても生き残った必須アプリ 27 個最近カジュアルに OS の入れなおしをしています。重要なのは Dropbox なんかに入れてるので Mac の中が削除されてもそう痛くないんですよね。むしろ、中から綺麗になってスッキリするのでちょっと好きです。アプリを入れなおしてるんですが、そんな中生き残ってるアプリがあるので、次インストールするときに迷わないように記録しておく。<br />
<a name='more'></a><br />
<h4>WEBからダウンロード</h4><h5><a href="http://www.freemacsoft.net/appcleaner/" target="_blank">AppCleaner</a></h5>アプリのアンインストーラー(?)。設定ファイルとかもまとめて削除してくれる。<br />
<br />
<h5><a href="http://sourceforge.jp/projects/coteditor/" target="_blank">CotEditor</a></h5>テキストエディタ。軽いしシンタックスハイライトもついてるし、何かメモりたい時とかちょっとした修正とか、文字書きたい時なんかに重宝してます。<br />
<br />
<h5><a href="https://www.dropbox.com/" target="_blank">Dropbox</a></h5>言わずと知れたオンラインストレージ。もうないと生活出来ません。。。<br />
<br />
<h5><a href="http://www.eclipse.org/downloads/" target="_blank">Eclipse</a></h5>開発は Eclipse で。PHP と Android Java やってます。過去にこんなの書いてますので・・・。<br />
<blockquote><a href="http://slumbers99.blogspot.jp/2013/03/php-eclipse-2.html" target="_blank">PHP アプリケーション開発のために Eclipse に入れてるプラグインと設定。 その2</a></blockquote><br />
<h5><a href="http://www.google.co.jp/intl/ja/chrome/browser/" target="_blank">Google Chrome</a></h5>PHP やってるとか言っておいてブラウザは Chrome しか入れてない。Safari は Dock からも抹消済。拡張機能はこんな感じ。<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhboM3rhgjcErQy1KvFSYj7bcnq44FNa5SuD-BKMRpc1gq020cWE0bq4_b-0PCIz6NXsrM-EUWL1R_3PTqtsLr9V9nQZbCy6imxlDXbj9W3lLQaFSd0eT5hK3292nw47sMtTfc-ZMKGKY0/s1600/2013-04-29+at+23.10.49.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="333" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhboM3rhgjcErQy1KvFSYj7bcnq44FNa5SuD-BKMRpc1gq020cWE0bq4_b-0PCIz6NXsrM-EUWL1R_3PTqtsLr9V9nQZbCy6imxlDXbj9W3lLQaFSd0eT5hK3292nw47sMtTfc-ZMKGKY0/s640/2013-04-29+at+23.10.49.png" width="640" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwPa9xGJmNC-c-w_RXUaMpMFahlgySfKwjQYmAO6b3sJ33mF1Pdh9elLUUKZzWNBq1GsxB-Rx6W_cmk6BMNctpstviyBqq8GhWRhF8I5EB7-_UgjLodQb5Zc5stqFQcjXn7xabwl8qidE/s1600/2013-04-29+at+23.12.46.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="144" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwPa9xGJmNC-c-w_RXUaMpMFahlgySfKwjQYmAO6b3sJ33mF1Pdh9elLUUKZzWNBq1GsxB-Rx6W_cmk6BMNctpstviyBqq8GhWRhF8I5EB7-_UgjLodQb5Zc5stqFQcjXn7xabwl8qidE/s640/2013-04-29+at+23.12.46.png" width="640" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuDLugJi8WJMGw5nIJONYomslvAj3O-sz5IZPMZzyENMVln5ejeQwh-xAob8MaqfriydCvwj6mog20NMqmoQN_q4iulJxjORYdesRbG0B4Z5s-y89bqkZ2btiNCbvO12hI9X8JgU6GXtk/s1600/2013-04-29+at+23.13.13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="410" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuDLugJi8WJMGw5nIJONYomslvAj3O-sz5IZPMZzyENMVln5ejeQwh-xAob8MaqfriydCvwj6mog20NMqmoQN_q4iulJxjORYdesRbG0B4Z5s-y89bqkZ2btiNCbvO12hI9X8JgU6GXtk/s640/2013-04-29+at+23.13.13.png" width="640" /></a></div><br />
<h5><a href="http://www.google.co.jp/ime/" target="_blank">Google 日本語入力</a></h5>「ことえり」では不満が多いので、Google 日本語入力。「かお」「きょう」「いま」なんかが一番変換してそう・・・。<br />
<blockquote><a href="http://slumbers99.blogspot.jp/2012/02/mac-google.html" target="_blank">Mac で Google 日本語入力を使う時のオススメ設定</a></blockquote><h5><a href="http://www.iterm2.com/" target="_blank">iTerm2</a></h5>サーバーに SSH で入るとか、git とかなにかとコマンドラインは触るので。ターミナルでもいいっちゃいいんだけど、まあこれです。<br />
<br />
<h5><a href="http://support.apple.com/ja_JP/downloads/">Java for OS X</a></h5>開発に必要なので・・・。最新版を常に維持するようにしましょう。<br />
<br />
<h5><a href="https://code.google.com/p/macvim-kaoriya/" target="_blank">macvim-kaoriya</a></h5>素の vim でもいいんだけど、せっかくだから俺はこのm(ry<br />
<br />
<h5><a href="http://mouapp.com/" target="_blank">Mou</a></h5>markdown エディタ。満足してるわけじゃないんだけど、まあこれでという感じ。github 拡張とかにも対応してくれたらいうことなす。<br />
<br />
<h5><a href="http://www.transmissionbt.com/" target="_blank">Transmission</a></h5>torrent クライアント。<br />
<br />
<h5><a href="http://www.videolan.org/vlc/" target="_blank">VLC media player</a></h5>動画再生はもっぱらこれ。QuickTime の出る幕はありません。<br />
<br />
<h5><a href="http://www.xmind.net/" target="_blank">Xmind</a></h5>マインドマップツール。使ってる!というわけでもないんだけど、なんとなく入れてる。使うと「できてる」風を味わえる。<br />
<br />
<h5><a href="http://www.trankynam.com/xtrafinder/" target="_blank">XtraFinder</a></h5>Finder を拡張してくれるアプリ。Finder 上でのファイルのコピペができたり、[command + u] でディアルパネルにできたり、これだけで入れる価値あり。<br />
<br />
<h4>App Store からインストール</h4><h5>Alfred</h5>コマンドラインランチャー。もっとも使いこなしていないアプリ。でも便利っていうから入れてるんだけど、まだまだ使えてない。<br />
<br />
<h5>Dash</h5>なんでもかんでものマニュアルが見れるアプリ。Eclipse からも呼び出せたり便利。でも Full version に課金しないとちょっと使いづらい。<br />
<br />
<h5>Evernote</h5>メモアプリ。説明しなくてもいいでしょ。<br />
<br />
<h5>Glui</h5>Sticky が不調のため、入れた画面キャプチャアプリ。いいけどもう一歩という感じ。Sticky も Evernote と連携しなくてもいいのに。<br />
<br />
<h5>GrageBand</h5>入れてみた。程度。<br />
<br />
<h5>iMovie</h5>動画編集に使ってます。<br />
<br />
<h5>iPhoto</h5>一応入れてるけど、あまり使ってないかも。<br />
<br />
<h5>Keynote</h5>プレゼンテーションソフト。何かの資料とかはこれで作ること多し。<br />
<br />
<h5>SourceTree</h5>github とか bitbucket なんかのソース見るために入れてる。リポジトリ管理アプリ。<br />
<br />
<h5>The Unarchiver</h5>解凍アプリ。mac って圧縮のアプリって少ないね。<br />
<br />
<h5>Xcode (Command Line Tools)</h5>IDE としての Xcode より依存関係?で入るもろもろの開発環境が欲しいがために入れてる。fontforge なんかは Xcode.app ないと入れられない??<br />
<br />
<h4>まとめ</h4>駆け足的に列挙してみた。こういうのって chef でサクッといれられたりするんだろうか?ステキ開発環境が一発で用意できるようになるといいなぁ。Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-33403942647302416622013-04-19T10:00:00.000+09:002013-04-19T10:16:24.300+09:00ViewPager に区切りを追加するViewPager でページング作ってスワイプ楽しいです。ただ、単色の背景が続くとスワイプしたのかどうかがわからんくなってくる。なにげに Google Play のアプリを見てたらページ間に仕切りがついていた。なにそれ欲しい。<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy7o1LgGdIMymoy0tSgmSaWVy5Hx26rAwqWS6Mxh1ASv-X6GUaqzVZ3G-UnmKv5HdrB49FagjQFS020uLcypR37XF2fj7PYMnpL95E392Slj_BQ0msJu6_5cwpV_iN6JPMimYOrceGyhU/s1600/device-2013-04-19-010140.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy7o1LgGdIMymoy0tSgmSaWVy5Hx26rAwqWS6Mxh1ASv-X6GUaqzVZ3G-UnmKv5HdrB49FagjQFS020uLcypR37XF2fj7PYMnpL95E392Slj_BQ0msJu6_5cwpV_iN6JPMimYOrceGyhU/s1600/device-2013-04-19-010140.png" /></a></div><a name='more'></a><h4>手っ取り早く</h4>サンプルは <a href="https://github.com/slumbers99/Sample03" target="_blank">github</a> に 。<br />
<br />
<h4>android.support.v4 使ってます</h4><br />
<div class="p1"><a href="http://developer.android.com/reference/android/support/v4/view/ViewPager.html#setPageMargin(int)" target="_blank">ViewPager#setPageMargin (int marginPixels)</a> でページ間のマージンを空けつつ、<a href="http://developer.android.com/reference/android/support/v4/view/ViewPager.html#setPageMarginDrawable(int)" target="_blank">ViewPager#setPageMarginDrawable (int resId)</a> でその隙間を埋めるという方法。</div><script src="https://gist.github.com/slumbers99/5414120.js?file=gistfile1.java"></script><br />
<div class="p1">隙間の定義は dimens.xml で。程よく 4dp 。</div><script src="https://gist.github.com/slumbers99/5414120.js?file=gistfile3.xml"></script><br />
<div class="p1">隙間の定義は drawable/ に shape を定義して使ってみた。</div><script src="https://gist.github.com/slumbers99/5414120.js?file=gistfile2.xml"></script><br />
<br />
<h4>良い感じのようです</h4>太さと色なんかはおこのみで調整したらいいとおもうよ。<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7oCoysjXvJ7g4i0cbmdcBSSGRNPQt8MsTqginY1GsjEmBPkYYiJFLSt2JAOad-NzmjquuqWLCRKuEKWYOZZtPkyZAQl_o-D52Si1-CZCQbz2xDO2eWqiiXVyTPqBZUBqilBYL_bvUklM/s1600/device-2013-04-19-013948.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7oCoysjXvJ7g4i0cbmdcBSSGRNPQt8MsTqginY1GsjEmBPkYYiJFLSt2JAOad-NzmjquuqWLCRKuEKWYOZZtPkyZAQl_o-D52Si1-CZCQbz2xDO2eWqiiXVyTPqBZUBqilBYL_bvUklM/s1600/device-2013-04-19-013948.png" /></a></div>お好み焼き食べたい。<br />
Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-89131780560405319812013-04-12T10:00:00.000+09:002013-04-13T00:24:12.081+09:00いつか使いたい!!! Android 用ライブラリ 24 個有名ドコのアプリのヘルプなんかをチェックして使用されているライブラリ、及び Github 探索して良さげなライブラリをまとめてみました。今すぐ使いたいものから、これ使えるのか?というものまで様々ですが、せっかくあるもの。すごい人達のゴイスーなものでちょっとでも楽したいものです。<br />
<br />
とりあえずアルファベット順で。簡単な説明もつけたので参考にしてください。というか触ってないのも多いので各自ぜひともお試しください。ちなみに依存関係は深く確認してません。また、ライセンスについては現時点 2013-04-11 のものとなります。使用の際は都度確認くだし。<br />
<br />
<br />
<h4>もくじ</h4><ol><li><a href="/2013/04/android-24.html#ACRA">ACRA</a></li>
<li><a href="/2013/04/android-24.html#ActionBarSherlock">ActionBarSherlock</a></li>
<li><a href="/2013/04/android-24.html#AndroidAnnotations">AndroidAnnotations</a></li>
<li><a href="/2013/04/android-24.html#AndroidAsynchronousHttpClient">Android Asynchronous Http Client</a></li>
<li><a href="/2013/04/android-24.html#android-gpuimage">android-gpuimage</a></li>
<li><a href="/2013/04/android-24.html#android-mapviewballoons">android-mapviewballoons</a></li>
<li><a href="/2013/04/android-24.html#android-query">android-query</a></li>
<li><a href="/2013/04/android-24.html#Android-Universal-Image-Loader">Android-Universal-Image-Loader</a></li>
<li><a href="/2013/04/android-24.html#Android-ViewPagerIndicator">Android-ViewPagerIndicator</a></li>
<li><a href="/2013/04/android-24.html#ApacheCommons">Apache Commons</a></li>
<li><a href="/2013/04/android-24.html#DiskLruCache">DiskLruCache</a></li>
<li><a href="/2013/04/android-24.html#facebook-android-sdk">facebook-android-sdk</a></li>
<li><a href="/2013/04/android-24.html#GT-FaceSearch">GT-FaceSearch</a></li>
<li><a href="/2013/04/android-24.html#google-gson">google-gson</a></li>
<li><a href="/2013/04/android-24.html#guava-libraries">guava-libraries</a></li>
<li><a href="/2013/04/android-24.html#libgdx">libgdx</a></li>
<li><a href="/2013/04/android-24.html#NineOldAndroids">NineOldAndroids</a></li>
<li><a href="/2013/04/android-24.html#PullToRefresh">PullToRefresh</a></li>
<li><a href="/2013/04/android-24.html#oauth-signpost">oauth-signpost</a></li>
<li><a href="/2013/04/android-24.html#RoboGuice">RoboGuice</a></li>
<li><a href="/2013/04/android-24.html#SlidingMenu">SlidingMenu</a></li>
<li><a href="/2013/04/android-24.html#SmartImageView">SmartImageView</a></li>
<li><a href="/2013/04/android-24.html#Twitter4J">Twitter4J</a></li>
<li><a href="/2013/04/android-24.html#zxing">zxing</a></li>
</ol><a name='more'></a><br />
<!--
================================================================================
A
================================================================================
--><br />
<h4 id="ACRA">ACRA</h4><ul><li>Apache License Version 2.0</li>
<li><a href="http://acra.ch/">http://acra.ch/</a></li>
</ul><div>Application Crash Report for Android で ACRA。Google Play のクラッシュレポートもいいですが、これを使うと任意場所にレポートを送信することが可能になります。デフォルトは GoogleDocs Form みたい。Reports destination: Any destination you can imagine だそうです。</div><br />
<h4 id="ActionBarSherlock">ActionBarSherlock</h4><ul><li>Apache Version 2.0</li>
<li><a href="http://actionbarsherlock.com/">http://actionbarsherlock.com/</a></li>
</ul><div>Honycomb 以降の ActionBar をそれ以前のバージョンでも使えるようにしたライブラリ。無難につけると様になる。</div><br />
<h4 id="AndroidAnnotations">AndroidAnnotations</h4><ul><li>Apache License, Version 2.0</li>
<li><a href="http://androidannotations.org/">http://androidannotations.org/</a></li>
</ul><div>DIコンテナ? と言うよりはアノテーションで、RoboGuice との共存は一手間いるみたい。スッキリ見通し良くなるなら使ってみたい。Generating code ? Yuk! C'mon man, it's 2012! メーンだそうです。</div><br />
<h4 id="AndroidAsynchronousHttpClient">Android Asynchronous Http Client</h4><ul><li>Apache License, Version 2.0</li>
<li><a href="http://loopj.com/android-async-http/">http://loopj.com/android-async-http/</a></li>
</ul><div>Apache Http Client を使いやすくしたみたい。非同期通信でコールバックベースでUIスレッドを止めないとのこと。ただこれ単体であっても・・・という気がしないでもない。</div><br />
<h4 id="android-gpuimage">android-gpuimage</h4><ul><li>Apache Software License 2.0.</li>
<li><a href="https://github.com/cyberagent/android-gpuimage">https://github.com/cyberagent/android-gpuimage</a></li>
</ul><div>iOS の GPU フレームワークのようなライブラリ。iOS に比べるとエフェクトが少ないですが、さくさくと画像にエフェクトがかけれます。カメラからのリアルタイムプレビューにもエフェクトが。これはすごい。</div><br />
<h4 id="android-mapviewballoons">android-mapviewballoons</h4><ul><li>Apache Software License 2.0.</li>
<li><a href="https://github.com/jgilfelt/android-mapviewballoons">https://github.com/jgilfelt/android-mapviewballoons</a></li>
</ul><div>Google Map の上にバルーンをオーバーレイできるもの。</div><br />
<h4 id="android-query">android-query</h4><ul><li>Apache License 2.0</li>
<li><a href="https://code.google.com/p/android-query/">https://code.google.com/p/android-query/</a></li>
</ul><div>なんだか色々詰め込まれたライブラリ。アノテーションを使用したコーディングができたり、非同期通信ができたり、画像の読み込みでは角丸作れたり。やりたいこと詰め込みましたっていう。便利そう。</div><br />
<h4 id="Android-Universal-Image-Loader">Android-Universal-Image-Loader</h4><ul><li>Apache License Version 2.0</li>
<li><a href="https://github.com/nostra13/Android-Universal-Image-Loader">https://github.com/nostra13/Android-Universal-Image-Loader</a></li>
</ul><div>非同期画像読み込みライブラリ。メモリキャッシュディスクキャッシュ。ネットワーク越しだろうがローカルだろうが一様に扱えるようだ。便利そう。</div><br />
<h4 id="Android-ViewPagerIndicator">Android-ViewPagerIndicator</h4><ul><li>Apache License, Version 2.0</li>
<li><a href="http://viewpagerindicator.com/">http://viewpagerindicator.com/</a></li>
</ul><div>ViewPager を使いやすくしたもの?横へのページ遷移をお考えの方はどうぞ。</div><br />
<h4 id="ApacheCommons">Apache Commons</h4><ul><li>Apache Software License</li>
<li><a href="http://commons.apache.org/">http://commons.apache.org/</a></li>
</ul><div>さまざまな機能をもったライブラリ群。欲しい機能を取捨選択して利用することができる。Apache Commons Lang が便利かな?</div><br />
<!--
================================================================================
D
================================================================================
--><br />
<h4 id="DiskLruCache">DiskLruCache</h4><ul><li>Apache License, Version 2.0</li>
<li><a href="https://github.com/JakeWharton/DiskLruCache">https://github.com/JakeWharton/DiskLruCache</a></li>
</ul><div>ディスクキャッシュするライブラリ。Bitmap とか扱おうとすると必要になるかも。でも全部入りの Android-Universal-Image-Loader とかがやっぱ便利そう。</div><br />
<!--
================================================================================
F
================================================================================
--><br />
<h4 id="facebook-android-sdk">facebook-android-sdk</h4><ul><li>Apache License, Version 2.0 </li>
<li><a href="https://developers.facebook.com/android/">https://developers.facebook.com/android/</a></li>
</ul><div>Android用FacebookのSDKには、Facebookのプラットフォームを使ってAndroidアプリを統合する最も簡単な方法です。 SDKには、読書やFacebookのAPIやピッカーやダイアログなどのUI要素のサポートへの書き込みは、Facebook認証によるログインのサポートを提供します。(自動翻訳w)</div><br />
<!--
================================================================================
G
================================================================================
--><br />
<h4 id="GT-FaceSearch">GT-FaceSearch</h4><ul><li>プロプライエタリ?要お問い合わせ</li>
<li><a href="http://fujifilm.jp/is/face/library.html">http://fujifilm.jp/is/face/library.html</a></li>
</ul><div>オープンソースじゃないソフトウェア。ソフトウエアライブラリは、"デジタルカメラなどに搭載されている顔検出技術と同等の性能があ"るという事で、ちょっと気になった。Android の FaceDetector.Face#pose(int euler) は顔の傾き取れないし、顔検出はちょっとあれ。</div><br />
<h4 id="google-gson">google-gson</h4><ul><li>Apache License 2.0</li>
<li><a href="https://code.google.com/p/google-gson/">https://code.google.com/p/google-gson/</a></li>
</ul><div>Json のパースライブラリ。早いのかな?</div><br />
<h4 id="guava-libraries">guava-libraries</h4><ul><li>Apache License 2.0</li>
<li><a href="https://code.google.com/p/guava-libraries/">https://code.google.com/p/guava-libraries/</a></li>
</ul><div>DIコンテナ? google の java ライブラリで guava らしい。RoboGuice のほうが良さそう。</div><br />
<!--
================================================================================
L
================================================================================
--><br />
<h4 id="libgdx">libgdx</h4><ul><li>Apache License 2.0</li>
<li><a href="http://libgdx.badlogicgames.com/">http://libgdx.badlogicgames.com/</a></li>
</ul><div>マルチプラットフォームのゲームエンジン。 2D だけじゃなく 3D もいける?</div><br />
<!--
================================================================================
N
================================================================================
--><br />
<h4 id="NineOldAndroids">NineOldAndroids</h4><ul><li> Apache License, Version 2.0.</li>
<li><a href="http://nineoldandroids.com/">http://nineoldandroids.com/</a></li>
</ul><div>Honycomb 以降に搭載された Animation API をそれ以前でも使えるようにする。backport ライブラリ。</div><br />
<!--
================================================================================
O
================================================================================
--><br />
<h4 id="oauth-signpost">oauth-signpost</h4><ul><li>Apache License 2.0</li>
<li><a href="https://code.google.com/p/oauth-signpost/">https://code.google.com/p/oauth-signpost/</a></li>
</ul><div>OAuth のライブラリ。</div><br />
<!--
================================================================================
P
================================================================================
--><br />
<h4 id="PullToRefresh">PullToRefresh</h4><ul><li>Apache License, Version 2.0</li>
<li><a href="https://github.com/chrisbanes/Android-PullToRefresh">https://github.com/chrisbanes/Android-PullToRefresh</a></li>
</ul><div>Twitter なんかで見る。下に引っ張ったらリロードしてくれる ListView。</div><br />
<!--
================================================================================
R
================================================================================
--><br />
<h4 id="RoboGuice">RoboGuice</h4><ul><li>Apache License 2.0</li>
<li><a href="https://github.com/roboguice/roboguice">https://github.com/roboguice/roboguice</a></li>
</ul><div>Android用のDIコンテナ。よくわかってない。でもなんかよさそう。使いたい。説明になってないw</div><br />
<!--
================================================================================
S
================================================================================
--><br />
<h4 id="SlidingMenu">SlidingMenu</h4><ul><li>Apache License, Version 2.0</li>
<li><a href="https://github.com/jfeinstein10/SlidingMenu">https://github.com/jfeinstein10/SlidingMenu</a></li>
</ul><div>横からスライドしてくるメニューを作れる。Foursquare のアレ。サンプルがあるので。見るのが早い。ちなみに ActionBarSherlock が必要っぽい。</div><br />
<h4 id="SmartImageView">SmartImageView</h4><ul><li>Apache License, Version 2.0</li>
<li><a href="http://loopj.com/android-smart-image-view/">http://loopj.com/android-smart-image-view/</a></li>
</ul><div>簡単にリモートの画像を読みこんでくれる。読み込んだ画像はメモリとハードウェアにキャッシュしてくれるらしい。コンタクトリストの画像もさくっと読めるっぽい。</div><br />
<!--
================================================================================
T
================================================================================
--><br />
<h4 id="Twitter4J">Twitter4J</h4><ul><li>Apache License 2.0</li>
<li><a href="http://twitter4j.org/ja/index.html">http://twitter4j.org/ja/index.html</a></li>
</ul><div>Java で Twitter はこれ一択でしょうか?日本の方がつくられてるゴイスー。</div><br />
<!--
================================================================================
z
================================================================================
--><br />
<h4 id="zxing">zxing</h4><ul><li>Apache License 2.0</li>
<li><a href="https://code.google.com/p/zxing/">https://code.google.com/p/zxing/</a></li>
</ul><div>「ゼブラクロッシング」読ませたいらしい。Xi を見ても「クロッシィ」と読めないので無理そう。「サイ」と。で、QRコードを作るならこれらしい。バーコードバトラー作り放題だっ!</div><br />
<h4>頑張った</h4><div>もちろんこれが全てではないし、上げた中でかぶっているものもあると思う。便利なものは便利なので自分で作るよりは、利用したり探したりしたほうがいろいろ幸せになるんではなかろうか。疲れたー。</div><br />
他に便利なのあったら教えて下さいー<br />
Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-77146755783628458682013-04-11T01:50:00.001+09:002013-04-11T10:35:18.973+09:00Chrome の「ユーザー」が便利同じサービスで違うアカウントを持つこと多々あると思います。例えば Gmail。会社用アカウント、個人用アカウント。ひもづけることもできるけど、それはちょっと・・・。そうは言ってもいちいちログアウトしてのログインしなおしなんてめんどい。<br />
<br />
そんな時に Chrome の「ユーザー」<br />
<br />
<a name='more'></a><h4>
作成はいたって簡単</h4>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJgyyOl6qCJI1aUD_vg8-Yv8BR0IVTTjt5yrxbKXCWzTjHuAEZ6fRXMqHun5k_8U5At2V3xszFUb_x48BisFSeE9o0k5UsNUFoyRwp33UJdY4-4nYuMpftEVufk33l0QsPp-kXnYyQIqY/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_04_11_1_30.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJgyyOl6qCJI1aUD_vg8-Yv8BR0IVTTjt5yrxbKXCWzTjHuAEZ6fRXMqHun5k_8U5At2V3xszFUb_x48BisFSeE9o0k5UsNUFoyRwp33UJdY4-4nYuMpftEVufk33l0QsPp-kXnYyQIqY/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_04_11_1_30.png" /></a></div>
<br />
この「ユーザー」から「新しいユーザーを追加」<br />
<h5>
(2013/04/11 10:18 追記) 最初はこの「ユーザー」メニューが無いらしい</h5>
Mac 版 Chrome だったら以下の方法で追加。Windows 版は似たようなところから・・・。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXlaxY2Xy2UclsVJx-418GPA92k9-uYbRA7K9JNiaF7GW1689HIEwUSswd2nZc0D-tJeuKHcf04s-TRageX64SGE5k9XfQxO0fE0akO3k1YNr6H2H9SHZG0qVvh7tp4TNTw4ochnYfXaQ/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_04_11_10_13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXlaxY2Xy2UclsVJx-418GPA92k9-uYbRA7K9JNiaF7GW1689HIEwUSswd2nZc0D-tJeuKHcf04s-TRageX64SGE5k9XfQxO0fE0akO3k1YNr6H2H9SHZG0qVvh7tp4TNTw4ochnYfXaQ/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_04_11_10_13.png" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcPqS9OqBdyvMIiEoNXQL7oe8c_h2Ir1iPW7DkK6w4ZvaRCfuqpQz68Oi5VZmjhcmCWgP8K8iKvJz5-3NqOif2p1e8JNv64VH2kwcj58s34DRxqD3NpN6IzHBR70G7mDWnd9w664yg2LM/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_04_11_1_33.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcPqS9OqBdyvMIiEoNXQL7oe8c_h2Ir1iPW7DkK6w4ZvaRCfuqpQz68Oi5VZmjhcmCWgP8K8iKvJz5-3NqOif2p1e8JNv64VH2kwcj58s34DRxqD3NpN6IzHBR70G7mDWnd9w664yg2LM/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_04_11_1_33.png" /></a></div>
こんな画面が出てくるので、好きなアイコンと名前を入れて「作成」これだけ。</div>
<h4>
ユーザーを切り替える</h4>
「ユーザー」から該当ユーザーを選択する。<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEo5LXd-sPg0HjBB59oYF2tJpW-5OWn_rzf1tfeEckzF4ReYTz7gWPeetQegyM48LQ9M3dXb3jfz2EFB1sLuWXMcbL62PdQpTRjlFD2i9Z18QS-mGeerpMMM2iJP7ZO8Vw26qUmCFfQmE/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_04_11_1_40.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEo5LXd-sPg0HjBB59oYF2tJpW-5OWn_rzf1tfeEckzF4ReYTz7gWPeetQegyM48LQ9M3dXb3jfz2EFB1sLuWXMcbL62PdQpTRjlFD2i9Z18QS-mGeerpMMM2iJP7ZO8Vw26qUmCFfQmE/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_04_11_1_40.png" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Gmail アカウントで分けたいので名前をわかりやすくアカウントにしてる</td></tr>
</tbody></table>
<br />
そのユーザーの Chrome が立ち上がるので、お好きなサービスにログイン。専用になる。Chrome の右上にアイコンでてるし今の Chrome がなんのユーザーなのかははっきりわかる。<br />
<br />
<h4>
注意</h4>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYrY_wHxfrm31M6-ZMEgW6Mg6YpdZ4TTE3mD5-EQxNFFh4c1wV3uGuqXXW_kjPfMBe01A5hyQkohv6-eJdAydow2aeytVW3fD9ImASdMiVpZLVkOtLyKnirC3b_o1vmwHR_04M1yT8neY/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_04_11_1_38.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYrY_wHxfrm31M6-ZMEgW6Mg6YpdZ4TTE3mD5-EQxNFFh4c1wV3uGuqXXW_kjPfMBe01A5hyQkohv6-eJdAydow2aeytVW3fD9ImASdMiVpZLVkOtLyKnirC3b_o1vmwHR_04M1yT8neY/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_04_11_1_38.png" /></a></div>
<br />
ユーザー専用の Chrome ってことはもちろん拡張機能やらは別々なので、それぞれお気に入りのがあればおのおの入れないといけない。<br />
<h4>
終わりに</h4>
Firefox でも「プロファイル」を分けることで同じようなことできると思う。へーと思ってやってみたら意外に便利でもうすばらしい。<br />
<br />Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-27032365799278995372013-04-09T10:00:00.000+09:002013-04-11T01:24:40.254+09:00画像の切り抜き(トリミング)なら BitmapRegionDecoder が超便利<div>Android で画像を読み込むのは結構厄介。一つの ImageView に読み込むならそんなに悩まないけど、 ListView やら GridView やらで画像を扱うとすぐ OutOfMemory って怒られる。限られた資源、守りたいですね。</div><div><br />
</div><div>基本は BitmapFactory<span class="s1">.</span>Options.inJustDecodeBounds = true にして、画像の情報だけを とって BitmapFactory<span class="s1">.</span>Options.inSampleSize を適切にしてあげて全体を無難に読み込む。そうじゃなくて、大きな画像の一部を切り抜いてもいいんじゃないかと。そんな画像切り抜き <a href="http://developer.android.com/reference/android/graphics/BitmapRegionDecoder.html" target="_blank">BitmapRegionDecoder</a> クラスというのがあります。</div><br />
<a name='more'></a><br />
<h4>とりあえず</h4><div>サンプルは <a href="https://github.com/slumbers99/sample02" target="_blank">Github</a> に上げた。</div><br />
<h4>読み込み</h4><div>画像の読み込みはバックグラウンドで行うのが基本。AsyncTaskLoader で行なっている。</div><script src="https://gist.github.com/slumbers99/5338066.js"></script><br />
<div>例では assets にある画像ファイルを読み込んで表示しようとしています。読み込んだ画像よりも Rect のサイズが大きいと例外になると思いきや、はみ出した部分は真っ黒で塗りつぶされた画像が出来上がる。綺麗にやろうとしたらちゃんとサイズを見たほうがいいと思う。<br />
<br />
そもそも画像をくり抜こうとしたら Bitmap 作って そこから Canvas 作って Rect 作ってと・・・意外にめんどい。しかも メモリ節約のために小さく切り抜くのにあたらに Bitmap 作るなんて本末転倒。そこはさくっと <a href="http://developer.android.com/reference/android/graphics/BitmapRegionDecoder.html" target="_blank">BitmapRegionDecoder</a> で仕上げるのが吉。<br />
<br />
ただし、<a href="http://developer.android.com/reference/android/graphics/BitmapRegionDecoder.html" target="_blank">BitmapRegionDecoder</a> は API Level 10 以上。<strike><a href="http://ja.wikipedia.org/wiki/Android%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E5%B1%A5%E6%AD%B4#Android_2.2.x_Froyo" target="_blank">Froyo</a></strike>[1] <a href="http://ja.wikipedia.org/wiki/Android%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E5%B1%A5%E6%AD%B4#Android_2.3.x_Gingerbread" target="_blank">Gingerbread</a> (API Level 9, < Android OS 2.3.3) には対応していません。Android OS 1.6, 2.2 以上がターゲットのアプリには使えないことになります。 まあ、今なら <a href="http://ja.wikipedia.org/wiki/Android%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E5%B1%A5%E6%AD%B4#Android_2.3.x_Gingerbread" target="_blank">Gingerbread</a> (API Level 10, >= Android OS 2.3.3)もしくは <a href="http://ja.wikipedia.org/wiki/Android%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E5%B1%A5%E6%AD%B4#Android_4.0.x_Ice_Cream_Sandwich" target="_blank">ICS</a> 以降をターゲットにするでしょうから、全く問題ない範囲だと思います。<br />
<br />
</div><h4>無駄にハマったこと<br />
</h4><div>BitmapFactory<span class="s1">.</span>Options.inJustDecodeBounds = true で必要な InputStream と BitmapFactory<span class="s1">.</span>Options.inJustDecodeBounds = false で実際に読み込む時の InputStream。同じ物を使いまわすとデコードできません。BitmapRegionDecoder#decodeRegion() の場合は<br />
<blockquote class="tr_bq"><b>java.io.IOException: Image format not supported</b></blockquote>の IOException が出ます。IOException でそのメッセージですか、そうですか・・・。InputStream は別個に作成しましょう。<br />
<br />
</div><br />
<h4>修正</h4>[1] API Level 9 は初期 Gingerbread でした。G+ にてご指摘頂きまして、ありがとうございます。<br />
<br />
Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-10163629652880311882013-03-08T23:53:00.003+09:002013-07-01T22:26:16.932+09:00PHP アプリケーション開発のために Eclipse に入れてるプラグインと設定。 その2<br />
<h4>第一弾はこちら</h4><a href="http://slumbers99.blogspot.jp/2012/11/php-eclipse.html" target="_blank">PHP アプリケーション開発のために Eclipse に入れてるプラグインと設定。</a><br />
ちょっと今の環境が変わったので再度まとめてみる。<br />
<br />
<a name='more'></a><br />
<br />
<h4>Eclipse 本体 [<a href="http://www.eclipse.org/downloads/" target="_blank">link</a>]</h4>Eclipse 4.2.2 をチョイス。パフォーマンス向上、様々なバグが修正されてるようです。ただし後述する Eclipse 3.8.x にあった個人的にはスーパー便利機能がなくなってしまっています。まあ代替案はありますがとっても残念。<br />
<br />
<h5>ダウンロード</h5><a href="http://www.eclipse.org/downloads/" target="_blank">Eclipse Downloads</a> [http://www.eclipse.org/downloads/] から Eclipse Classic をダウンロードします。ぼくは Mac ですが、~/Applications/eclipse-pdt として展開します。<br />
<br />
<h5>本体更新</h5>Help -> Install New Software...<br />
Work with: The Eclipse Project Updates - http://download.eclipse.org/eclipse/updates/4.2<br />
<br />
Select All ボタンで全部選択し。Hide items that are already installed チェックボックスでインストール済のものをスキップさせます。(Eclipse RPC でなんかエラーか文句言われる)<br />
<br />
<h5>Juno の更新サイトからインストール</h5>PHP Development Tools (PDT) Feature ってのがあるんですが、3.1.1 でバージョンが低いです。更新もできないので Feature の方を入れてしまったら、一旦削除して Feature 無しの方を入れましょう。<br />
<pre>Help -> Install New Software...
Work with: Juno - http://download.eclipse.org/release/juno
Collaboration
Eclipse EGit
Eclipse EGit Mylyn GitHub Feature
EGit Mylyn
EGit Plug-in Import Support
Git Team Provider Core
Mylyn Builds Connector: Hudson/Jenkins
Mylyn Context Connector: Team Support
Mylyn TaskList
Mylyn Task-Focused Interface
Mylyn Versions Connector: Git
Mylyn WikiText
General Purpose Tools
Marketplace Client
Web, XML, Java EE and OSGi Enterprise Development
Eclipse Web Developer Tools
Eclipse XML Editors and Tools
JavaScript Developpent Tools
PHP Development Tools (PDT)
Web Page Editor
</pre><h4>AnyEdit tools plugin for Eclipse [<a href="http://andrei.gmxhome.de/anyedit/" target="_blank">link</a>]</h4><pre>Help -> Install New Software...
Work with: http://andrei.gmxhome.de/eclipse/
Eclipse 3.5 - 4.2 plugins
AnyEditTools
</pre><h4>QuickREx [<a href="http://www.bastian-bergerhoff.com/eclipse/features/web/QuickREx/toc.html" target="_blank">link</a>]</h4><br />
正規表現をチェックできるプラグイン。<br />
<pre>Help -> Install New Software...
Work with: http://www.bastian-bergerhoff.com/eclipse/features
QuickREx
QuickREx
QuickREx_I18N
</pre><h4>Eclipse Color Theme [<a href="http://eclipsecolorthemes.org/" target="_blank">link</a>]</h4><pre>Help -> Eclipse Marketplace...
Find: Eclipse Color Theme
</pre><br />
言わずもがなカラーテーマ設定プラグイン。Eclipse Color Themes[http://eclipsecolorthemes.org/] から好きなテーマをダウンロードしましょう。<br />
<br />
<h4>MakeGood [<a href="http://piece-framework.com/projects/makegood/wiki/Eclipse_PDT_%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E7%B6%99%E7%B6%9A%E7%9A%84%E3%83%86%E3%82%B9%E3%83%88%E3%83%A9%E3%83%B3%E3%83%8A%E3%83%BC_v2">link</a>]</h4><pre>Help -> Eclipse Marketplace...
Find: MakeGood
</pre><blockquote class="tr_bq">MakeGood は Eclipse PDT 上でユニットテストを実行するための継続的テストランナーです。</blockquote>とあります。テストを書くならこれですね。なにげにこれを入れると、日本語メソッドがかけるようになります。<br />
<br />
<h4>pdt_tools.formatter [<a href="http://atlanto.b.sourceforge.jp/" target="_blank">link</a>]</h4><br />
<span style="color: #cc0000; font-size: large;"><b>なんていうかすごい</b></span>これ。PDT のコードフォーマッタは有ってないようなものだっなんですが、このフォーマッタは細かい設定までできむしろこれ PDT に入れていいんじゃないか?というぐらい。漏れそうなくらい大変助かります。作られてる方のブログ?昔から PDT の情報いっぱい。 <a href="http://blog.goo.ne.jp/atlanto" target="_blank">Dead Zone</a><br />
<br />
<a href="http://atlanto.b.sourceforge.jp/">SOURCEFORGE.jp</a> から ダウンロード -> (root) -> juno -> pdt_tools.formatter_xxxxx.zip をダウンロードする。<br />
<pre>Help -> Install New Software...
Add... -> Archive... -> pdt_tools.formatter_xxxxx.zip
PDT Tools
PDT Tools: Formatter
PDT Tools: Formatter 日本語ヘルプ
</pre><h4>設定</h4><b>General</b><br />
<pre> ✓ Show heap status
<b>Appearance</b>
<b>Color Theme</b>
好きなのを選択。僕は <a href="http://eclipsecolorthemes.org/?view=theme&id=1115">Solarized Dark</a> を Import してます。
<b>Colors and Fonts</b>
Basic
Text Editor Block Selection Font
Text Font
好きなフォントに変更。僕は <a href="http://save.sys.t.u-tokyo.ac.jp/~yusa/fonts/rictydiminished.html">Ricty Diminished Discord</a>. すばらしい。
<b>Content Types</b>
Text
PHP Content Type
CakePHP 使いたいので、 *.ctp を追加。
<b>Editors</b>
<b>AnyEdit Tools</b>
Auto - Convert
✓ Convert tabs <-> spaces
✓ Tabs to spaces
Convert...
Tab width/number of spaces for tab : 4 に変更。
<b>Text Editors</b>
Undo history size: 1000
✓ Insert spaces for tabs
✓ Show print margin
Print margin column: 100
✓ Show line numbers
✓ Show whitespace characters
configure visibility
Transparency level: 70
<b>Spelling</b>
□Enable spell checking (Off にする)
<b>Keys</b>
Name: New Editor
Binding: ^N (control + n)
When: In Windows
<b>Web Browser</b>
✓Use external web browser
<b>Workspace</b>
Text file encoding
Other: UTF-8
<b>JavaScript</b>
<b>Appearance</b>
✓ Show inferred function return types
✓ Show colored labels
<b>Editor</b>
<b>Content Assist</b>
Auto-Activation
Auto activation delay: 0
Auto activation triggers for javascript: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321.
<b>PHP</b>
<b>Appearance</b>
✓ Show method return types
<b>Code Style</b>
<b> Formatter (PDT Tools)</b>
[編集]
プロファイル名: Eclipse [built-in] - custom
<b>インデント</b>
一般設定
タブポリシー: スペース
インデント
✓ 'switch' 内
<b>波括弧</b>
括弧の位置
名前空間: 次の行に
クラス・インターフェイス: 次の行に
関数・メソッド: 次の行に
<b>空白行 (ここはお好みで?)</b>
クラス定義の前: 1
関数定義の前: 1
<b>折り返し</b>
<b> </b>一般
一行の最大幅: 100
<b>Editor</b>
<b>Content Assist</b>
Auto Activation
Auto activation delay: 0
<b>PHP Manual</b>
<b>New</b>
Name PHP.net ja
Remote Site: http://www.php.net/manual/ja
<b>Default</b>
<b>Team</b>
<b> Git</b>
<b> Label Decorations</b>
<b>Text Decorations</b>
<b> </b>Projects: {dirty:>} {name} [{branch}{ branch_status}]
<b>Web</b>
<b>CSS Files</b>
Encoding: ISO 1-646/Unicode(UTF-8)
<b>Editor</b>
<b> Formatting</b>
Line width: 100
✓ Indent using spaces
Indentation size: 2
<b>Capitalization style</b>
<b> Identifier:</b>
<b> </b>✓ Lowercase
<b>HTML Files</b>
<b> </b>Encoding: ISO 1-646/Unicode(UTF-8)
<b>Editor</b>
<b>Formatting</b>
Line width: 100
✓ Indent using spaces
Indentation size: 2
<b>XML</b>
<b>XML Files</b>
<b>Editor</b>
<b>Formatting</b>
Line width: 100
✓ Indent using spaces
Indentation size: 2
</pre><h4>パースペクティブ</h4><pre>Window -> Close All Perspectives
Window -> Open Perspective -> Other -> PHP
右上の PHP パースペクティブアイコンのコンテクストメニュー -> Show Text のチェックを外す。
Window -> Customize Perspective
<b>Command Groups Availability</b>
✓ Git
✓ Git Navigation Actions
ツールバーをグリグリ動かして、好きなポジションにしてくだい。
PHP Explorer -> ▼(下三角のメニュー) -> Filters
□ .* resources のチェックを外す。
✓ Name Filter patterns
.settings, .project, .classpath, .buildpath DS_Store, Thumbs.db
</pre><br />
<h4>起動オプション</h4>もちょっとメモリの割当増やしてあげましょう。Eclipse を終了します。<br />
Eclipse.app のコンテキストメニュー -> パッケージの内容を表示<br />
Contents -> MacOS -> eclipse.ini<br />
<br />
<pre>--launcher.XXMaxPermSize
256m
-Xms256m
-Xmx1g
</pre>とか。もっとメモリ潤沢にある人はガッツリ増やしたらいいと思うよ。<br />
<br />
<h4>長い</h4>こんなかんじかなぁと。<br />
<br />
Window -> Customize Perspective で PHP パースペクティブのカスタムをもっとごりごりすると吉。ここらへんって好みがあるから自分好みにすればいいと思うよ。<br />
今回は MakeGood を入れたこと、なにより pdt_tools.formatter を入れたことが大きい。フォーマットを決めとけば command + Shift + f で一発修正。素晴らしい。フォーマットは PSR に合わせたり、PEAR とか zend とかに合わせたらいいと思うよ。<br />
<br />
こんな設定項目多いからこれから IDE で PHP 始めるのは PhpStorm がいいのかも。まあ無料だし、育てるのもいいんじゃないのかいな。<br />
<br />
テストの実行とか設定なんかは今回書いていない。自分の中でまとまったらもう一度まとめようと思います。<br />
<br />
<h4>おまけ</h4><h5>Eclipse 3.8.x にあった個人的にはスーパー便利機能</h5><div>最初のほうで書いた。</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEnd9emCvT4gI8IubOZbp0VaMgnYePUZ1kpCtb51hjdoGoT7Wc76EXj-3t3-NRvIEBUo8yhavFF6461tduYYvhyphenhyphenP2IwIflBfhvFjGMwITA0eLfDGF4ROiYCEfHFMU6bMWSe_r-RogMzdU/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_03_05_22_06.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEnd9emCvT4gI8IubOZbp0VaMgnYePUZ1kpCtb51hjdoGoT7Wc76EXj-3t3-NRvIEBUo8yhavFF6461tduYYvhyphenhyphenP2IwIflBfhvFjGMwITA0eLfDGF4ROiYCEfHFMU6bMWSe_r-RogMzdU/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_03_05_22_06.png" /></a></div>エディタタブのコンテキストメニューが 4.x 系だとなくなっている。ここから New Editor を選択して同じファイルをもう一個のエディタで開いて、タブを掴んで横にずらすなどして、画面分割的な使い方をしていた。これなんだろうなー。残念。あとタブのダブルクリックでその View を最大化してくれたんだけど、それもなくなった。残念無念。<br />
<br />
なのでその2つはキーボードショートカットで<br />
New Editor は さっき追加で設定した [control + n] ここもお好みで。<br />
エディタの最大化は [control + m] でできる。設定は Maximize Active View or Editor のところ で変更できるのだ。<br />
<br />
花粉にやられてどっこいしょ。<br />
Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-23452127404713129922013-02-23T23:40:00.001+09:002013-02-23T23:40:59.087+09:00Adblock Plus によって zenback が表示されなくなった時は。残念ながら、Adblock Plus [<a href="https://chrome.google.com/webstore/detail/adblock-plus/cfhdojbkjhnklbpkdaibdccddilifddb?utm_source=chrome-ntp-icon" target="_blank">Chrome ウェブストア</a>] を入れると zenback が表示されません。<br />
(<a href="http://tofukko.r.ribbon.to/abp.html" target="_blank">日本向けフィルタ(仮)</a> を適用後かな?)<br />
<br />
ソーシャルボタンなんかも一気に消えてしまうので、いい記事に出会っても何もアクション取れなくなってしまう、悲しい出来事。(はてブはできるけど。)<br />
<br />
そんな時は Adblock Plus の 「自作フィルタ」に以下を登録。<br />
<blockquote class="tr_bq">
@@||*.zenback.jp/</blockquote>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB5B-Yxfd5zVzk_hNgWJViUy8xpZiLfEsAMsNMMX-PN2FAtFWtzAavBz8QO2KLnb2i3oCMTo2vKhWSN0m1cKEvaG6v6Jw9BHOdgNLq1HVo8agCqq1tlwEtfNiaI32zP-NixfkNpjS4v78/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_02_23_23_33.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB5B-Yxfd5zVzk_hNgWJViUy8xpZiLfEsAMsNMMX-PN2FAtFWtzAavBz8QO2KLnb2i3oCMTo2vKhWSN0m1cKEvaG6v6Jw9BHOdgNLq1HVo8agCqq1tlwEtfNiaI32zP-NixfkNpjS4v78/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_02_23_23_33.png" /></a></div>
<br />
こんな感じ。ニコ動も再生できなくなっちゃったから、それ用のフィルタも入れてある。<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-70445918863751532362013-02-21T22:53:00.000+09:002013-02-21T23:06:06.747+09:00Facebook の通知音を消す方法(2013/02/21 現在)いつも Facebook はブラウザで開きっぱで、メッセージやら自分のコメントへの返信やらはタイトルに (1) とかでるとか、赤いアイコン(アレ)に変わっているだけで十分の通知だった。<br />
<div>
<br /></div>
<div>
しかし今日(2013/02/21から?)は違った。なんと音がなる。「ポコッ」って。</div>
<div>
<br /></div>
<div>
ヒジョーにうざい。消したい。ググった。</div>
<div>
<a name='more'></a><br /></div>
<div>
鳴り止まないソーシャルメディア? フェイスブックが「お知らせ」通知音をテスト公開中(動画)<a href="http://www.gizmodo.jp/2012/11/post_11144.html">http://www.gizmodo.jp/2012/11/post_11144.html</a></div>
<blockquote class="tr_bq">
この通知音をオフにしたい方は<b>「一般アカウント設定」の「お知らせ」メニューに行き、「新しいお知らせを受け取ったら音声で通知する」</b>のチェックボックスをはずせばOKです。</blockquote>
<br />
・・・・・・先生無いです、そんな設定項目。<br />
まあ、どうせまだ日本で実装されてないんでしょ?と言語を「英語」に変えては見たもののやっぱりダメ。結局 Chrome に <b><a href="https://chrome.google.com/webstore/detail/stealthy/ieaebnkibonmpbhdaanjkmedikadnoje" target="_blank">Stealthy</a> [Chrome ウェブストア]</b> を入れて IP アドレス偽装。その上で上記の設定項目(ちょっと翻訳変わってるみたいだけど)を外せばいい。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgj3B4DtHsJm2WdEsJmnOsF4TUy7L5W2fH-O3aES5Co9xs0cR5a0duhThYLGeJdYSbS367dEe8tVE-gOoG_urf7ChkrmDkHMMb7WwkaRdeOairqRnqQQLUUzfbdIH0B0KFFaBEd1uzjww/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_02_21_22_49.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgj3B4DtHsJm2WdEsJmnOsF4TUy7L5W2fH-O3aES5Co9xs0cR5a0duhThYLGeJdYSbS367dEe8tVE-gOoG_urf7ChkrmDkHMMb7WwkaRdeOairqRnqQQLUUzfbdIH0B0KFFaBEd1uzjww/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_02_21_22_49.png" /></a></div>
<br />
まあそのうちこんなことしなくても実装されるでしょうけどね。<br />
<br />
じゃあいつやるの?今でしょ。<br />
っていう。Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-70353548190184858092013-02-07T22:46:00.001+09:002013-02-07T22:46:50.341+09:00PhpStorm のタブ文字が自己主張しすぎるので、色を変えてみた。<br />
PhpStorm をちょいちょい触っています。Eclipse PDT をメインに使っていますが、ダイブ話題になっていたりして気になった。<br />
<br />
どうしても比較してしまうのでアレなんですが、ダメなのがタブ文字。タブでインデントしてるファイル開いた時に初めて分かる奴の主張っぷり。<br />
Eclipse は 透過度替えられるのに・・・・。<br />
<br />
<b style="font-size: x-large;">お前はモットおとなしくしててもいい。</b><br />
<a name='more'></a><br />
<br />
というわけで、なにかいい方法ないか調べた。<br />
どうも文字自体を変更するのは見つからんと。<br />
じゃあ色でなんとかしてみようと。<br />
<br />
Code Style は 大好き Solarized。の Dark。<br />
<a href="https://github.com/jkaving/intellij-colors-solarized">https://github.com/jkaving/intellij-colors-solarized</a><br />
<br />
Solarized Dark.xml の 26 行目付近。<br />
<option name="WHITESPACES" value="586e75" /><br />
を<br />
<option name="WHITESPACES" value="073642" /><br />
に替えました。<br />
<br />
もうすでに入れちゃった人は、<br />
~/Library/Preferences/WebIde50/colors/Solarized Dark.xml<br />
の該当の場所を変更して、PhpStorm を再起動。<br />
<br />
目立たなくなりました。<br />
だけど、んーもうちょっと見えたほうがいいかな・・・。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSeMQsg7yngT2bHxaVdypUN-PI_VA_hh68KH7mYfZ2Y8AFzDSYMdmtWdAcI3QrCnOXWq6Jo-VZ9Tz7o6jRSTP6Byn3XdgMtP1FoE7qO-ja8rbMfgzpeaXtzyPKORQWDlbxXd2xIINiCOE/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_02_07_22_19.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="173" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSeMQsg7yngT2bHxaVdypUN-PI_VA_hh68KH7mYfZ2Y8AFzDSYMdmtWdAcI3QrCnOXWq6Jo-VZ9Tz7o6jRSTP6Byn3XdgMtP1FoE7qO-ja8rbMfgzpeaXtzyPKORQWDlbxXd2xIINiCOE/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_02_07_22_19.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQGKHG4vob4tlOdRaQ0aZ21lgYfN1m0Uz-I7lNlR6GOvxp9AppKNQuuVwS2mq6Y9b_epoFtOXLTdqvucT1Q6oLHK5b3aWluzUmSuT1beLpj1_V9k2p1LHULIV-udj36CFQorOAknJYjtI/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588_2013_02_07_22_22-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="147" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQGKHG4vob4tlOdRaQ0aZ21lgYfN1m0Uz-I7lNlR6GOvxp9AppKNQuuVwS2mq6Y9b_epoFtOXLTdqvucT1Q6oLHK5b3aWluzUmSuT1beLpj1_V9k2p1LHULIV-udj36CFQorOAknJYjtI/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588_2013_02_07_22_22-2.png" width="320" /></a></div>
<br />
<br />
<span style="font-size: large;">先生・・・・改行コードを表示する方法が分かりません・・・・。</span><br />
<a href="https://www.google.co.jp/search?q=%E7%99%BA%E5%85%89%E3%83%80%E3%82%A4%E3%82%AA%E3%83%BC%E3%83%89&aq=f&um=1&ie=UTF-8&hl=ja&tbm=isch&source=og&sa=N&tab=wi&ei=QawTUcPLK8nlkgX-2oHgAg&biw=1436&bih=806&sei=RKwTUaubB8LhlAWX74DQDg#um=1&hl=ja&tbo=d&tbm=isch&spell=1&q=%E7%99%BA%E5%85%89%E3%83%80%E3%82%A4%E3%82%AA%E3%83%BC%E3%83%89+%E8%A8%98%E5%8F%B7&sa=X&ei=rq8TUYyVMMvQkQXTvIDYCw&ved=0CEoQvwUoAA&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.&bvm=bv.42080656,d.dGI&fp=27495ff395116b3c&biw=1436&bih=806" target="_blank">発光ダイオード</a>と同じね。Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-16475294129816371382013-01-29T22:18:00.001+09:002013-01-30T21:44:11.917+09:00Android でカメラ撮影後メンバ変数が空になる。理由はわかっていたんです。<br />
カメラから戻ってくるときに onActivityResult が呼ばれるんですが、<br />
そのまえに onCreate() が呼ばれている。要するに Activity が再生成されているから、<br />
カメラ呼び出し前にメンバ変数セットしていようとも、もろともいなくなってしまったと。<br />
<br />
以前にこんなのを書きました。<br />
<a href="http://slumbers99.blogspot.jp/2012/08/android.html" target="_blank">Android でカメラかギャラリーから画像を読み込んでトリミングして表示するサンプル</a><br />
ただここに盲点が有りました。<br />
<br />
<span style="font-size: large;">Samsung Galaxy シリーズという盲点がぁがぁ・・・!!(大げさ)</span><br />
<br />
<br />
<span style="color: #cc0000; font-size: large;">※2013/01/30 21:33 追記</span><br />
<a href="https://plus.google.com/u/0/101964237962548286063/posts/6WwTNUVqMMU" target="_blank">Google+</a> でご指摘頂きました。<br />
Activity が破棄され、メンバ変数が初期化されてしまうような場合、<br />
Activity#onSaveInstanceState(Bundle outState) で Bundle に メンバ変数として保持していた値を put() 。<br />
その後復帰後に Activity#onRestoreInstanceState(Bundle savedInstanceState) で Bundle から 取り出して再度メンバに設定してあげるようです。<br />
<br />
Activity のライフサイクル大事!!<br />
ご指摘ありがとうございます!!<br />
<a name='more'></a><br />
AndroidManifest にこう書いてます。<br />
<script src="https://gist.github.com/3396002.js?file=AndroidManifest.xml"></script><br />
<blockquote class="tr_bq">
<span style="font-family: Trebuchet MS, sans-serif;">android:configChanges="keyboardHidden|orientation"</span></blockquote>
なにげにこれだけでも大抵動いちゃうんですよね。<br />
<span style="color: red;">HTC J butterfly HTL21</span> も特に問題ありませんでした。<br />
<br />
ここで登場 <span style="color: red;">Samsung Galaxy SIII SC-06D</span>。<br />
いろいろテストしていく中で、写真を取る向きを検証していました 。<br />
そして事は起こった。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAqDKPynXVmxQgrs-gZWCozQUpuTd9fbw2Wf4o4ZfuGUyQyD72fM93kSq9u5x9KDk0o-FUpcxvrBTMVFRNOh73RjtZRf4lviG-NOGBM0ZB3oGvkKy8hRizB6_0IfO41cRiXxgEykOA8ew/s1600/sc-06d1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="199" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAqDKPynXVmxQgrs-gZWCozQUpuTd9fbw2Wf4o4ZfuGUyQyD72fM93kSq9u5x9KDk0o-FUpcxvrBTMVFRNOh73RjtZRf4lviG-NOGBM0ZB3oGvkKy8hRizB6_0IfO41cRiXxgEykOA8ew/s320/sc-06d1.png" width="320" /></a></div>
<span style="color: #38761d; font-size: large;"><b>この向き!</b></span>端末の下を左に持ってきて写真を撮る。<br />
この状態だと、configChanges の orientation には引っかからないようです。<br />
<span style="font-size: large;">他の3方向は問題なし</span>。まあどうするかというと、 screenSize も追加しろと。<br />
ここに書いてありました。<br />
<blockquote class="tr_bq">
Handling the Configuration Change Yourself<br />
<a href="http://developer.android.com/guide/topics/resources/runtime-changes.html#HandlingTheChange">http://developer.android.com/guide/topics/resources/runtime-changes.html#HandlingTheChange</a></blockquote>
Android 3.2 (API level 13) 以上を対象とする場合は、screanSize もまた変更されるようです(向き変わってるだけだろ・・・・・)。<br />
<br />
というわけで Android Manifest にはこう書きます。screenSize 追加。<br />
<script src="https://gist.github.com/4664097.js"></script><br />
<br />
ちなみに、 GALAXY SII WiMAX ISW11SC でも同じ現象でした。Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-72400719571073746152013-01-25T22:52:00.000+09:002013-01-25T23:04:49.864+09:00Chrome for Android の USB ウェブデバッグでスマフォWEBサイトをデバッグするAndroid 端末にインストールした Chrome を通して、<br />
PC 側の Chrome で WEBページのデバッグができますよと。<br />
試してみました。<br />
<br />
用意。<br />
<br />
<ul>
<li>Android 端末。</li>
<li>Chrome (PC側もAndroid側も)</li>
<li>Android SDK</li>
</ul>
<br />
まあぶっちゃけ <a href="https://developers.google.com/chrome-developer-tools/docs/remote-debugging" target="_blank">ココ</a> を見てしまえば終わりなんですが、<br />
Chrome は両方にインストール済として話を進める。<br />
<br />
<h3 class="h3">
Android SDK と Android SDK Platform-tools の準備。</h3>
とりあえず Android SDK をダウンロードして任意の場所に展開。 ~/Library/android-sdk-macosx (以下 SDK_PATH)な感じで僕は置いてる。<br />
<pre>SDK_PATH/tools/android</pre>
を実行するとなんか (Android SDK Manager) 出るので、Android SDK Platform-tools をインストールする。SDK_PATH/platform-tools っていうディレクトリができてるはず。<br />
<br />
<h3 class="h3">
Android 端末の設定。</h3>
SDK ダウンロードしてる間にでも Android 側の設定をしときます。OSのバージョンが・・・<br />
<br />
<ul>
<li>3.2 以下:[設定] -> [アプリケーション] ->[開発者向けオプション] -> [USBデバッグ]</li>
<li>4.0 以上:[設定] -> [開発者向けオプション] -> [USBデバッグ]</li>
<li>4.2 以上:[設定] -> [この端末について] -> [ビルド番号]を 7回タップ -> 画面戻って戻って[開発者向けオプション] -> [USBデバッグ]</li>
</ul>
<br />
にチェック。日本語のメニュー項目名は違うかも。そして 4.2 以上の端末は隠しコマンド的なのなにそれこわい。<br />
<br />
そして、Chrome の[設定] -> [デベロッパーツール] -> [USB ウェブ デバッグを有効化] にチェックを入れておく。<br />
<br />
<h3 class="h3">
それでは・・・</h3>
Android と PC を USBでつなぐ。<br />
<br />
<h3 class="h3">
adb コマンド叩く (PC 側)</h3>
<pre>./SDK_PATH/platform-tools/adb forward tcp:9222 localabstract:chrome_devtools_remote</pre>
<br />
<pre>* daemon not running. starting it now on port 5037 *
* daemon started successfully</pre>
って出たらOK。<br />
<br />
<h3 class="h3">
Chrome でアクセス (PC 側)</h3>
<pre>http://localhost:9222</pre>
<br />
アクセスすると、Android の Chrome で開いているタブ一覧が出てくるので、好きなのクリック。PC 側の Chrome で デベロッパーツールが開くのでよしなにします。<br />
<br />
Enjoy!<br />
<br />
<span style="color: #cc0000;">※404 的なことになったら</span><br />
<pre>SDK_PATH/platform-tools/adb kill-server</pre>
からの<br />
<pre>./SDK_PATH/platform-tools/adb forward tcp:9222 localabstract:chrome_devtools_remote</pre>
をお試しくだしあ。<br />
<br />
<h3 class="h3">
ただ・・・</h3>
<br />
<ul>
<li>Android 標準ブラウザで使えない。</li>
<li>結局は端末依存とかあるし、やっぱり該当の機種がないとアレ。</li>
<li>だったら、Chrome でユーザーエージェントいじったほうが早くね?</li>
</ul>
<br />
ヽ(´Д`;)ノアゥ...<br />
<br />
<h3 class="h3">
結論</h3>
FireMobileSimulator すごい。<br />
<a href="https://chrome.google.com/webstore/detail/firemobilesimulator-for-g/mkihbloiacgiofaejgagokalpeflnmbe?hl=ja">https://chrome.google.com/webstore/detail/firemobilesimulator-for-g/mkihbloiacgiofaejgagokalpeflnmbe?hl=ja</a><br />
<br />
<br />
<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-86304075420059140812013-01-21T23:41:00.001+09:002013-01-21T23:41:16.625+09:00Eclipse にて @Override アノテーションで must override a superclass method と怒られた。わかっていたはずなのに、無駄にハマった。<br />
忘れないために、自分で記録しておく。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzKJ0SKyOZVcjZTc45taXxi2p9yY7y0ssi9wF6ysq73oJl68inKXo1iZStZ6amk94Fq0jFgKlV7SiDLHvDnfZjCgfpTHhlpslOzPi-VCHQfnRXcEtOCymMp3Tb8ewlu_sNgyZlXp9uSf8/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_01_21_23_20.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzKJ0SKyOZVcjZTc45taXxi2p9yY7y0ssi9wF6ysq73oJl68inKXo1iZStZ6amk94Fq0jFgKlV7SiDLHvDnfZjCgfpTHhlpslOzPi-VCHQfnRXcEtOCymMp3Tb8ewlu_sNgyZlXp9uSf8/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2013_01_21_23_20.png" /></a></div>
<br />
こんなかんじで must override a superclass method と怒る Eclipse さん。<br />
これはコンパイラのレベル が 1.5 になっているから。Android 開発の場合は 1.6 に変更します。<br />
<br />
[command + ,] で [Preferences] を開いて、<br />
[Java] -> [Compiler] を開く。<br />
[Compiler compliance level] を 1.6 に変更。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbiMVepZ8z9iUF8Px4GCl5G9e9mwOPTkJ_Wfp-YfQmtLV7HSf6ig5ld80vOpiM7pLXGR5DYJiY44tptzhwp9r-ObPDIQJxU7dl7kd8nFwgLU-IvxBNX_moitBJaoVY27oWBdIAYz54yO0/s1600/Preferences.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbiMVepZ8z9iUF8Px4GCl5G9e9mwOPTkJ_Wfp-YfQmtLV7HSf6ig5ld80vOpiM7pLXGR5DYJiY44tptzhwp9r-ObPDIQJxU7dl7kd8nFwgLU-IvxBNX_moitBJaoVY27oWBdIAYz54yO0/s1600/Preferences.png" /></a></div>
<br />
これで直る。<br />
エラーが消えなかったら、プロジェクトのクリーンをしてみる。[Project] -> [clean]<br />
ん?これって昔書いたっけ?<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-36484821259131404942013-01-20T23:22:00.001+09:002013-01-20T23:22:25.640+09:00VirtualBox でコンソール画面を出さずに仮想マシンを起動する。Oracle VM VirtualBox マネージャーから起動すると、<br />
もれなくコンソール画面がついてくる。<br />
<br />
<span style="color: #cc0000; font-size: large;">邪魔。</span><br />
<br />
サーバー用途の場合画面なんていらなので、消したい。<br />
<br />
<a name='more'></a><br />
<h3 class="h3">起動はコマンドラインからする。</h3><br />
<span style="font-family: Courier New, Courier, monospace;">VBoxmanage startvm "仮想マシン名" -type headless</span><br />
<br />
<b><span style="color: #274e13;">-type headless</span></b> をつけるとコンソールが立ち上がらなくなり、<br />
裏でこっそり仮想マシンが起動する。<br />
<br />
<h3 class="h3">それでもコマンド長い。</h3><br />
こんな関数作成。<br />
~/.(z|ba)shrc 的なのに書けばいい。<br />
<br />
<blockquote class="tr_bq"><span style="font-family: Courier New, Courier, monospace;">function startvm () {<br />
VBoxmanage startvm "$1" -type headless<br />
}</span></blockquote><br />
<span style="font-family: Courier New, Courier, monospace;">startvm "仮想マシン名"</span><br />
<br />
<br />
で headless 起動出来ました。<br />
一応 僕の <a href="https://github.com/slumbers99/dotfiles/blob/master/zshrc" target="_blank">.zshrc</a> はこんな感じです。Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.comtag:blogger.com,1999:blog-3934448815670975496.post-36320032724226398332013-01-20T22:09:00.000+09:002013-01-20T22:09:50.182+09:00VirtualBox でゲストの CentOS に SSH で接続したい。所謂ホストオンリーネットワーク。<br />
<br />
ホスト: MacOS X 10.8.2<br />
ゲスト: CentOS 6.3<br />
VirtualBox: 4.2.6<br />
<br />
<a name='more'></a><br />
<br />
<h3 class="h3">
ホストオンリーネットワークの追加</h3>
[Command + ,] で [環境設定] を出します。<br />
[ネットワーク]の項目を選択し、[+] のアイコンで追加します。(vboxnet0 が追加されたはず)<br />
次に[ドライバー]のアイコンで設定を確認します。<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">192.168.56.1/255.255.255.0</span> がこのネットワークアドレスのようです。<br />
<br />
作成が終わったらOKで閉じます。<br />
<br />
<h3 class="h3">
仮想マシンの設定</h3>
[ネットワーク] -> [アダプター2]<br />
[ネットワークアダプターを有効化]にチェックを入れる。<br />
割り当て: [ホストオンリーアダプター]を選択(名前:vboxnet0 になったはず)<br />
<br />
<br />
<h3 class="h3">
ゲストOSの設定</h3>
# root の前提で。<br />
setup<br />
# コマンドない場合は<br />
# yum install setuptool ntsysv sytem-config-network-tui system-config-firewall-tui<br />
# でインストール出来ます。<br />
<br />
ネットワークの設定 -> デバイス設定 -> eth1<br />
静的IP: 192.168.56.10<br />
サブネットマスク: 255.255.255.0<br />
デフォルトゲートウェイ: 空のまま<br />
<br />
[OK] -> [保存] -> [保存して終了] -> [終了する]<br />
で setup 保存して終了させる。<br />
<br />
vim /etc/sysconfig/network-scripts/ifcfg-eth1<br />
ONBOOT=yes<br />
にする。<br />
service network restart<br />
で再起動。<br />
<br />
これで ssh user@192.168.56.10 で接続できるようになったはずです。<br />
<br />
<h3 class="h3">
外に出られないし、中に入れない。</h3>
eth1 の設定をしてから、ゲストOS が外に出られない。<br />
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace;">[root@centos ~]# ping google.co.jp<br />ping: unknown host google.co.jp<br />[root@centos ~]# route -n<br />Kernel IP routing table<br />Destination Gateway Genmask Flags Metric Ref Use Iface<br />10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0<br />192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1<br />169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0<br />169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1<br />0.0.0.0 192.168.56.1 0.0.0.0 UG 0 0 0 eth1</span></blockquote>
こんな感じ。<br />
<br />
setup コマンドでネットワークの設定をしちゃう罠にハマった。<br />
ホストオンリーネットワークの設定を確認した時に、192.168.56.1 にネットワークアドレスが設定されていた。<br />
その流れで eth1 のデフォルトゲートウェイに 192.168.56.1 にしてしまうと、外に出られなくなるようだ。<br />
setup コマンドで eth1 のデフォルトゲートウェイを消すか、<br />
/etc/sysconfig/network-scripts/ifcfg-eth1 の GATEWAY の行を削除して<br />
service network restart で大丈夫っぽい。<br />
<br />
ちなみに eth0 は dhcp にしてある。Anonymoushttp://www.blogger.com/profile/07696455141259014541noreply@blogger.com