Android
実行コード System.out.println(Environment.getExternalStorageDirectory()); System.out.println(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)); System.out.println(Environment.getDataDirectory()); System.out.pri…
独断と偏見による俺的Android開発を加速する開発環境やフレームワークなどのツールをまとめる。順番に意味は無い。 無いと死ねる編 Robolectric ないとテスト書けない mockwebserver ないとテスト書けない Android公式 そりゃそうでしょ。初めて触るAPIとか…
や。何もしなくてもよかった。。どうやってやるのが常道なのかなぁ、とか2時間近く調べて、ShadowSQLiteOpenHelperが絡んでくるんだろうな、というところあたりまではわかったけど、具体的にどうするのかわからなかった。が、前述のとおり、結局何もしなくて…
AndroidではAPI Level8(Android2.2)からBase64が組み込まれているんだけど、RobolectricにはまだShadowがないっぽい。・・・と思ったらgithubのmasterには1ヶ月ほど前に取り込まれてたよう。 https://github.com/pivotal/robolectric/pull/326だけどMavenで…
java.lang.IllegalStateException: No implementations match configuration.もうそろそろ普通に開発させてくれんかね。。で、タウンページをめくってみるとABS本家のgithubが筆頭に。 https://github.com/JakeWharton/ActionBarSherlock/issues/377 When Ac…
かつてはAndroid依存のモジュールのテストはド遅いからPOJOとうまく分離してなるべくPOJOを通常のUnitテストで・・・とか思っていた時期があったんだけど、この分離ってやつが相当キツくて。ンカスプログラマだから。つまりテスト書いてなかったんだけど、そ…
りーむー。それはりーむー。2日使った結論。ここでいう”両立"というのは、どっちからでもビルドアンドデプロイができる状態を成立させて維持するという意味で。"apklib dependencyはコマンドラインからじゃないと機能しない" http://stackoverflow.com/quest…
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でコンパイルエラーがでる。で、こんなのを見つけ…
Maven化を進めてきたけど、ビルドしたりapkファイル作ったりはIntelliJ頼りな状態。 一人プロジェクトとかだとそこまで必要性はないかもしれないけどCIツールは導入するつもりだから、もうここでやっちゃえ、ということでMavenでビルドできるようにしておく…
前回のエントリの最後にgcmがセントラルリポジトリにないから個別にDLしてローカルリポジトリに突っ込んだ件がありましたが、gcmやmapsなどセントラルリポジトリにないライブラリをローカルリポジトリに突っ込んでくれるツールがあった。。。ほんとなんでも…
Java界でサードパーティのライブラリを使おうとするたびに「Maven導入しておくとベンリなのかな?」と思わされるんだけど、これまでは目先の時間の無さを理由に振り切ってきた。なんか情報少ないし。めんどくさそうだし。が、ここらで導入してみることにした…
putExtra()にはプリミティブやString等のI/FはあるけどObjectのI/Fがない。で、今回ぼくはどうしてもLocation型のオブジェクトが渡したくなったので、どうにか渡せないか調べてみると、ざっくり シリアライズする Parcelを使う の2通りの方法が出てきた。シ…
Androidの爆速エミュレータ環境を構築しようとして挫けたマカーたちへ朗報 超絶待った。ついにFIX版がでました! http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager?page=4ここでhotfix版をDLしてインスコするだけで…
ログはこんな感じ。 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.…
これはsetErrorで表示されるバルーン的なものがフォーカス時にのみ表示されるという仕様だから。次にフォーカスについてここで勉強する。超良記事。 たかがフォーカス,されどフォーカス View#requestFocusFromTouchメソッドを使うと、 タッチモード時でもfo…
主にデバッグ用なんですけど。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>
前回の続き。http://d.hatena.ne.jp/ria10/20121120/1353383249これがFragmentでは使えなかったのでFragmentで使えるようにがんばってみた。。
EditTextをそのまま使うと、入力時にソフトウェアキーボードでエディタエリアが隠れたり、入力文字数のカウント表示をしようと思っても場所がなかったりといろいろ困ることが多い。で、そういう場合はダイアログ形式にして対応している人が多かったのでぼく…
Logcatにstacktraceをダラダラ〜っと出したいときの話。3つ目の引数にExceptionを渡すだけでOKですぞ。 例) } catch (Exception e) { Log.e(TAG, e.getMessage(), e); }
ViewTreeObserverを使ってOnGlobalLayoutListenerで引っ掛ける。 @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); ViewTreeObserver observer = mImageView.getViewTreeObserver(); ob…
UIスレッド以外でViewの操作をしようとするとタイトルのようなバチがあたります。あたりました。例えばこんなコードはバチあたり。 public void onCreate(Bundle savedInstanceState) { 〜中略〜 overlay.runOnFirstFix(new Runnable() { @Override public v…
Androidエミュレータの遅さに苛立ちを募らせる中、このエントリを見て小躍りを踊った人たちも少なくないかと思います。 【番外編】Androidの爆速エミュレータ環境を構築するが、こちらにも記載されている通り、上記の方法をMac OSXの特定環境で行うとパツー…
エラー処理を考えるときのインプットメモ。 見落としそうな環境や状況依存で発生しそうなエラーの原因。随時追加する。 本体 カメラがついてない GPSがついてない SDカード 入ってない 容量がいっぱい 指定ディレクトリがない 指定ファイルがない ネットワー…
基本知識編 SQLiteデータベースの基本操作 知っておきたいSQLiteデータベースの注意点 SQLiteデータベースのチューニング セキュリティ AndroidアプリにおけるDBファイルの正しい使い方 ORM OrmLite 「SQL文?何それおいしいの?」ORMLiteで楽しくAndroid開…
OSXだと物理的にはここにある。 /Users/{USER}/.android/avd/{イメージ名}.avd/sdcard.img Windowsも似たようなもんだろ。 でもSDカード、イメージだからここからSQLiteのファイルは引っ張れない。ここでみんな大好きDDMSの出番。メニューのDevice > File Ex…
http://developer.android.com/guide/components/intents-filters.htmlのまとめメモ。Intent周りはノリでやってたけど、ブロードキャスト実装をやってたら、ちゃんと仕様を抑えないとキツくなってきたので。。 アクティビティ、サービス、ブロードキャストレ…
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はクライ…
http://developer.android.com/guide/components/services.html ここを読んでのメモ。 概要 ServiceはUIを伴わず、長時間走らせたい処理を行うコンポーネント ユーザーがアプリを切り替えても、処理を走らせたままにできるし、例えばネットワークトランザク…
http://developer.android.com/training/basics/location/locationmanager.html ここを読んでのまとめメモ。基本的に要約。※は僕の付け足し作ればわかる! Androidプログラミング 第2版 -SDK4対応- (Smart Mobile Developer)作者: 金宏和實出版社/メーカー: …
なんだかわからなくて結局コマンドラインの方法しか見つかってないんですけど。。 追記)GUIでの設定法もわかったので、一番したのほうに追記しました。参考:http://forums.oreilly.com/topic/21125-enabling-geolocation-in-android-emulator/なんとtelnet…