Life is Really Short, Have Your Life!!

ござ先輩の主に技術的なメモ

Android

Androidでバーコードリーダーを作る

Andoridでは、だいたい2年ぐらい前からGoogle公式でバーコードをカメラで解析するAPIが搭載されています。Barcode Detection with the Mobile Vision APIこのAPIがクセがあって「カメラに写っているバーコード全てを認識できる」というものになっています。…

java.lang.UnsupportedOperationException: Can't convert to dimension

ActivityやFragmentでdimen.xmlで存在しないkeyを指し占めているとこうなりまーす。

RetrofitのGson#fromJsonでStackOverFlowが発生

5000件ぐらいあるJSONファイルを読み込んでみたら、StackOverFlowErrorが発生した。Retrofitのバージョンは下記の通り。 compile 'com.squareup.retrofit:retrofit:1.9.0' 現象としては、下記のGsonのissuneに非常に近く、Openになっている。github.comとい…

Spinnerのカスタムアダプター

やることはTextViewの表示だけのシンプルなViewなんですが、Stringの配列ではなくLabelとValueを与えたアダプターを作りたくてやってみた。ListViewとは微妙に違うね・・・。ここに書いてあります、簡単に。http://mrbool.com/how-to-customize-spinner-in-a…

DialogFragmentの汎用化を目指した話

【Android】DialogFragmentを使ってみる - Furudateのブログfurudate.hatenablog.com上記を大変参考にさせて頂いて実装を開始した。メッセージとOK/NGのコールバックだけあれば、ダイアログは生きていける。ただ、場合によってメッセージだけじゃなくてEditT…

notifyDataSetChanged()でListViewが更新されない

小ネタですね。ArrayAdapterを使っている場合に起こる。その原因はこれ。notifyDataSetChangedでListViewが更新される場合とされない場合があるja.stackoverflow.com ArrayAdapterは、Class Referenceにあるように一度保持したリストに対して、add()、clear(…

iOSとAndroid開発を比べてみる

開発歴がだいたい半年の私の私見でございますが... 最近流行りのRoboVMのようなものではなく、双方ネイティブ(Swift / Java)で開発しております。 スマホだったらAndroid開発のほうがiOS開発より簡単に感じる。Android4.0以降に限った話かもしれないけど。 …

Androidでデバイスの大きさをdpで取得する

androidだとvalues-sw600dp.xmlとかやると、600dp以上の端末のレイアウトや設定値が有効になる。超簡単!xmlファイルの変更だけでできるAndroidのタブレット対応 - Qiitaqiita.comで、自分のデバイスがどれぐらいのdpサイズかを知るには、Activityでこんなメ…

ViewPagerにおけるフラグメントのキャッシュ

ViewPager#setOffScreenPageLimitなるものがあることを知らなかった。ViewPagerのキャッシュする画面数を変更する - outcesticide ViewPagerのキャッシュする画面数を変更する - outcesticideこいつを使うと起動時にキャッシュしてくれるみたい。上記を知ら…

Bundle経由でオブジェクトが渡せない時はJSON文字列に変換して渡す

あー確かにこれが一番簡単だなって思ったので。Bundle.put系のメソッドはカスタムのオブジェクトを受け取ってくれない。Parcelableという interfaceを実装しているとイケるみたいなこと書いてあったけど、それ以外はObject型もダメ。Java言語自体が用意して…

Android開発時に戻るボタンが効かないって時はKeyイベントを確認しよう

非常につまらないバグを作ってしまいました。あるFragmentに限りStartActivityすると戻るボタンを押しても戻ってくれないという現象に遭遇してしまいました。原因は、EditTextにしこんだKeyイベントリスナーでした・・・。 v.setOnKeyListener(new OnKeyList…

Activity生成時に1回しか行ってほしくない処理の実装

知らなかったよ。Androidって色んなタイミングでActivityが再作成されるんだね。Androidの仕組み的に。で、その自動再生成のタイミングの指定がManifestにもある、configChangeというものらしい。 android:configChanges=["mcc", "mnc", "locale", "touchscr…

FragmentをReplaceすると上に重なってしまう問題

すげー微妙だなこのreplaceメソッド・・・僕はsupport v4ライブラリではなく、android.app.パッケージにあるやつを使ってます。で、fragmentをreplaceしようとしたら、replaceする度にスタックが上に積み上がり画面がどんどんオーバーレイしていくというよく…

AndroidのOnKeyListenerは2度呼ばれる

今週からAndroidのネイティブアプリを作ってます。Android歴は3日目です。XMLベースで画面を作るのは滅茶苦茶WPFに似ているので全く違和感なく入れました。イベントハンドラの実装も簡単だし。Activityという単位で画面構成がされること、そいつ自体がスタ…