リア充爆発日記

You don't even know what ria-ju really is.

2012-11-01から1ヶ月間の記事一覧

DataPointの定義でExceptionがでちゃうときの対処法

Theory&DataPoint使ってるよね! なにそれ!?って人はググるかタウンページめくったほうがいいよ!で、こんな感じでnew ObjectThrowsExceptionがthrows exceptionなとき、どうすればいいか迷っちゃう! @DataPoints public static ObjectsThrowsException[…

RobolectricでActionBarSherlockのテストをしようとしてNo implementations match configuration

java.lang.IllegalStateException: No implementations match configuration.もうそろそろ普通に開発させてくれんかね。。で、タウンページをめくってみるとABS本家のgithubが筆頭に。 https://github.com/JakeWharton/ActionBarSherlock/issues/377 When Ac…

java.lang.NoSuchMethodError: org.hamcrest.Matcher.describeMismatch(Ljava/lang/Object;Lorg/hamcrest/Description;)が出たら

依存関係の設定のところで、JUnitよりhamcrestを上にしよう。そんじゃーね。

超絶クールなfor文の書き方

いやぁ、外出なのかもしれないけど。 int count = 100; for (int i = count; i --> 0 ;) { System.out.println(i); } これで100回ループが回る。iが0になるまで、って読めてなんだかかっこいいなって。

InputStreamやOutputStreamとはなにか

InputStreamやらOutputStreamやらが出てきて、今までなんのこっちゃわからないで使ってきたので改めて調べてみたときの自分の理解メモ。 InputStreamとOutputStreamの目的 ここのやり取りがわかりやすかったのでここのまとめ。 http://stackoverflow.com/que…

Unitテスト時にWebサーバに繋ぎたくなったらmockwebserver

Webサーバとつながないとテストできない。そういうテストしたいときってあるじゃない。いや、そういうときは設計を見直すべきときも大いにあると思うけど、いやこれ絶対つながないと無理だって!という時にはこれ。 http://code.google.com/p/mockwebserver/…

Androidのテストツールならこれ!Robolectric導入の儀。

かつてはAndroid依存のモジュールのテストはド遅いからPOJOとうまく分離してなるべくPOJOを通常のUnitテストで・・・とか思っていた時期があったんだけど、この分離ってやつが相当キツくて。ンカスプログラマだから。つまりテスト書いてなかったんだけど、そ…

外部ライブラリプロジェクトを使ったプロジェクトをIntelliJとMavenで両立させる

りーむー。それはりーむー。2日使った結論。ここでいう”両立"というのは、どっちからでもビルドアンドデプロイができる状態を成立させて維持するという意味で。"apklib dependencyはコマンドラインからじゃないと機能しない" http://stackoverflow.com/quest…

IntelliJだとmavenでActionBarSherlockの依存関係を解決できないっぽい。

pom.xml ~snip~ <modules> <module>../ActionBarSherlock-4.2.0/library</module> </modules> ~snip~ <dependency> <groupId>com.actionbarsherlock</groupId> <artifactId>library</artifactId> <version>4.2.0</version> <type>apklib</type> </dependency> ~snip~ で、コマンドラインからのビルドは通るけど、IntelliJでコンパイルエラーがでる。で、こんなのを見つけ…

Android Maven Pluginを入れてMavenでAndroidをビルド

Maven化を進めてきたけど、ビルドしたりapkファイル作ったりはIntelliJ頼りな状態。 一人プロジェクトとかだとそこまで必要性はないかもしれないけどCIツールは導入するつもりだから、もうここでやっちゃえ、ということでMavenでビルドできるようにしておく…

セントラルリポジトリにないAndroidライブラリはMaven Android SDK Deployerでインストール

前回のエントリの最後にgcmがセントラルリポジトリにないから個別にDLしてローカルリポジトリに突っ込んだ件がありましたが、gcmやmapsなどセントラルリポジトリにないライブラリをローカルリポジトリに突っ込んでくれるツールがあった。。。ほんとなんでも…

IntelliJのandroidプロジェクトを途中からmaven管理しようとした時のメモ

Java界でサードパーティのライブラリを使おうとするたびに「Maven導入しておくとベンリなのかな?」と思わされるんだけど、これまでは目先の時間の無さを理由に振り切ってきた。なんか情報少ないし。めんどくさそうだし。が、ここらで導入してみることにした…

インテント間でオブジェクトを渡す方法

putExtra()にはプリミティブやString等のI/FはあるけどObjectのI/Fがない。で、今回ぼくはどうしてもLocation型のオブジェクトが渡したくなったので、どうにか渡せないか調べてみると、ざっくり シリアライズする Parcelを使う の2通りの方法が出てきた。シ…

爆速AndroidエミュレータがついにMacOSX10.8.2でも使えるようになった!!

Androidの爆速エミュレータ環境を構築しようとして挫けたマカーたちへ朗報 超絶待った。ついにFIX版がでました! http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager?page=4ここでhotfix版をDLしてインスコするだけで…

MapViewをタップしたらヌルポ。ヒント:(ItemizedOverlay.java:617)

ログはこんな感じ。 java.lang.NullPointerException at com.google.android.maps.ItemizedOverlay.getItemsAtLocation(ItemizedOverlay.java:617) at com.google.android.maps.ItemizedOverlay.getItemAtLocation(ItemizedOverlay.java:586) at com.google.…

EditTextでandroid:focusableInTouchMode="false"にしたらsetErrorがうまく動かなくなったときの対応法。

これはsetErrorで表示されるバルーン的なものがフォーカス時にのみ表示されるという仕様だから。次にフォーカスについてここで勉強する。超良記事。 たかがフォーカス,されどフォーカス View#requestFocusFromTouchメソッドを使うと、 タッチモード時でもfo…

layoutにborderを入れる

主にデバッグ用なんですけど。Viewのオプションではできないっぽい。ので、drawbleな枠を定義して、backgroundにそれを指定する。drawable/debug_border.xml <shape xmlns:android="http://schemas.android.com/apk/res/android"> <stroke android:width="1dp" android:color="#ff0000" /> </stroke></shape>

DialogのEditorのFragment用、名付けてDialogEditor For Fragment

前回の続き。http://d.hatena.ne.jp/ria10/20121120/1353383249これがFragmentでは使えなかったのでFragmentで使えるようにがんばってみた。。

DialogのEditor、名付けてDialogEditor

EditTextをそのまま使うと、入力時にソフトウェアキーボードでエディタエリアが隠れたり、入力文字数のカウント表示をしようと思っても場所がなかったりといろいろ困ることが多い。で、そういう場合はダイアログ形式にして対応している人が多かったのでぼく…

「保存」のアイコンはフロッピーがベストなの!?

UI

保存ボタンをつけるときに、とりあえずはなんでもデフォルトのもので・・・と、android.R.drawable.ic_menu_saveを指定したら出てきたのはフロッピーの絵柄。なんとなくダセェな、と思って他のものを探そうとしたときに、ふと、「っていうか今どきフロッピー…

Androidでログにスタックトレースを出力する一番簡単な方法

Logcatにstacktraceをダラダラ〜っと出したいときの話。3つ目の引数にExceptionを渡すだけでOKですぞ。 例) } catch (Exception e) { Log.e(TAG, e.getMessage(), e); }

Fragment内のViewのwidthがなぜか0のときの対応方法

ViewTreeObserverを使ってOnGlobalLayoutListenerで引っ掛ける。 @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); ViewTreeObserver observer = mImageView.getViewTreeObserver(); ob…

CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.

UIスレッド以外でViewの操作をしようとするとタイトルのようなバチがあたります。あたりました。例えばこんなコードはバチあたり。 public void onCreate(Bundle savedInstanceState) { 〜中略〜 overlay.runOnFirstFix(new Runnable() { @Override public v…

Androidの爆速エミュレータ環境を構築しようとして挫けたマカーたちへ朗報

Androidエミュレータの遅さに苛立ちを募らせる中、このエントリを見て小躍りを踊った人たちも少なくないかと思います。 【番外編】Androidの爆速エミュレータ環境を構築するが、こちらにも記載されている通り、上記の方法をMac OSXの特定環境で行うとパツー…

Androidで例外が発生しうるシチュエーションとエラーレポートのしかたメモ

エラー処理を考えるときのインプットメモ。 見落としそうな環境や状況依存で発生しそうなエラーの原因。随時追加する。 本体 カメラがついてない GPSがついてない SDカード 入ってない 容量がいっぱい 指定ディレクトリがない 指定ファイルがない ネットワー…

AndroidでSQLiteを使おうとしたときの情報源まとめ

基本知識編 SQLiteデータベースの基本操作 知っておきたいSQLiteデータベースの注意点 SQLiteデータベースのチューニング セキュリティ AndroidアプリにおけるDBファイルの正しい使い方 ORM OrmLite 「SQL文?何それおいしいの?」ORMLiteで楽しくAndroid開…

プログラムーするときの作業割合って

プラットフォームとかミドルウェアとかの(APIリファレンスとかあらゆるものを含む)リファレンスとかを読むのに5割 リファレンスとかの確認のためにパイロット的にコード組んでそれが動くまでが2割 実際のアプリケーションに必要なコード書くのに2割 twitte…

AndroidのエミュレータのSQLiteのデータファイルはどこにあってどうやって見るの!

OSXだと物理的にはここにある。 /Users/{USER}/.android/avd/{イメージ名}.avd/sdcard.img Windowsも似たようなもんだろ。 でもSDカード、イメージだからここからSQLiteのファイルは引っ張れない。ここでみんな大好きDDMSの出番。メニューのDevice > File Ex…

Androidのインテントのまとめメモ

http://developer.android.com/guide/components/intents-filters.htmlのまとめメモ。Intent周りはノリでやってたけど、ブロードキャスト実装をやってたら、ちゃんと仕様を抑えないとキツくなってきたので。。 アクティビティ、サービス、ブロードキャストレ…

AndroidのBound Serviceのまとめメモ

http://d.hatena.ne.jp/ria10/20121110/1352529426の続き。 http://developer.android.com/guide/components/bound-services.html ここを読んでのメモ。 基本 http://d.hatena.ne.jp/ria10/20121110/1352529426に記載されているとおりBound Serviceはクライ…