android
前回のTokenAutoCompleteの使い方の進んだ版みたいなの。 普通にTokenAutoCompleteを使っただけだと「レイルズ」というタグをサジェストしたいとき、「ra」と入力しても候補は出てこない。「レイ」と入力しないと候補が出てこない。なので「rei」とローマ字…
画像のようにJqueryTagItみたいなのがandroidでも使いたい。 jQuery Tag-it! で、そういう時はTokenAutoCompleteというライブラリを使うといい。 github.com 使い方 一行xmlに追加して終わり、という感じじゃなくてちょっと使い方が面倒。色々と作成しないと…
MultiAutoCompleteTextViewは複数の文字列をオートコンプリート出来る。デフォルトだと1つめの文字列をオートコンプリート入力してカンマを入力すると、2つ目の文字列を入力できるようになる。が、これはカンマ区切りしか対応していない。スペースと区切り文…
androidのTabLayoutは文字だけでなく、画像も設定できる。画像の設定方法にはいくつか方法がある。とりあえず分かるものだけ覚書。 setIconで設定 多分いちばん楽な方法。でもデフォルトでいい感じにアイコンの見た目のレイアウトまで行ってくれるので、大抵…
jacksonはretrofitでサーバ側とやり取りするときに、APIサーバから返ってきたjsonのレスポンスをjavaのオブジェクトに変換するために使っている。 僕の場合、APIサーバをrailsで作っているため基本変数名などはスネークケースで書いている。でもjava側という…
は、ViewTreeObserverを使う。 inflateしたviewの高さや幅を動的に設定したいとか、inflate済みの別のviewの高さや幅を参考にしたいときは以下のようにViewのheightやwidthを取得する。 LayoutParams param = view.getLayoutParams(); param.width = 100; vi…
を使いたいけど使えない。結論から言えば、これは開発者側からは使えないっぽい。 なんかユーザーサムネイルとかを○で表現するのが流行ってるし、かっこいいのでそういう感じにしてみたい。けど普通のImageViewをいじった所で縁取りくらいはつけれるけど、丸…
イベントのsubscribeとpublishはottoを使っている。なんか今のところこれが情報多そうだったから。 が、つかっててハマるポイントもあったので覚書 UIへの変更は出来ない 他の遅延タスク系と同じで、UIへの変更はotto経由だとうまくいかない。なので、looper…
通信していると、エラー処理をする必要が出てくる。retrofit2の場合、callbackにonFailureというメソッドがあるけど、これは基本的に電波状態が良くなくてそもそもリクエストを送れなかったときとかに呼ばれる。なので、4xx系エラーとか5xx系エラーの処理は…
OkHttp側のインターセプターでヘッダーの値を変えることもできるけど、retrofitでもヘッダーの設定が出来る。APIごとにヘッダを変えるだけでなく、ヘッダーの内容に変数を含めて動的にヘッダーの値を変えることも出来る。 以下、バージョンはretrofit2.0。 A…
androidから何かサーバ側のAPIを叩く場合、色々と用意しなければならない。OkHttpなどのHTTP通信を行うインスタンス、通信は基本非同期処理なのでコールバックを渡すためのラッパー、それにAPIのURLとパラメータのチェック、APIから返ってきた値をコンバート…
railsなどにAPIサーバとしての機能をもたせたならば、そのAPIを叩く側、つまりandroid側でもオレオレ認証を通過できるようにしたい。デフォルトのandroidのHTTP通信をするDefaultHttpClientなどは分からないけど、今主流のHTTPクライアントなOkHttpなら割と…
その昔、eclipseなどのプラグインとしてandroid開発するときについてきたAVD(Android Virtual Device、仮想デバイス、エミュレータ)は死ぬほど起動が遅かった。とんでもなく遅かった。エミュレータの起動が遅すぎて、1回エミュレータを起動している間にアプ…
OkHttpというか、retrofitの話。retrofitとそのHTTPクライアントとしてOkHttpを使っているという前提。OkHttp単体でもいけるけど。 retrofitを使ってサーバ側とjsonでやり取りをしていると、retrofitで生のjsonレスポンスを見たくても見れない。基本retrofit…
public class TestView extends View { ... @Override protected void onDraw(Canvas canvas){ setX(100); setY(100); } } custom viewの中とかでview自体の位置を設定したい時はこれだけで出来る。単位はpxっぽい。 結局何だかんだでandroidでdpを使う事が…