すわりんのブログ

androidとかサブカルとかのブログです

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

kotlinのMapよる委譲に可能性を見出した

Storing Properties in a Map Delegated Properties - Kotlin Programming Language クラスのプロパティをMap<String,*>により取得する記述方法。 //定義:各プロパティの値をmapから取得している class User(val map: Map<String, Any?>) { val name: String by map val age: Int by </string,></string,*>…

BottomSheetカスタムあれこれ

supportLibraryにBottomSheetDialogFragmentというのがあります。 これは下からスッと出てくるダイアログもどきで コンテンツの共有やGoogleMapアプリなどで使われています。 このBottomSheetDialogFragmentを使用する際 独自の動作部分をカスタマイズ出来る…

3回調べたらメモに残そう

コードを書く上でparcelableの実装とかdrawableで使用できるタグとか ちょっとしたことだけどそのたびにググってることは結構あると思う。 そういったのはメモに残していつでも取り出せるようにしておくと便利。 そのメモを元にブログの記事に出来たりするし…

Toolbarの戻るボタンを変える

なんてことないネタですが appCompatActivityを継承していれば 以下のメソッドで矢印のアイコンを変更することができる。 supportActionBar?.setHomeAsUpIndicator(resourceID or Drawable) 通常 getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_…

FCMの疎通テスト

Firebaseネタ。 Firebase Notificationsで通知のテストを行いたい時 手元のターミナルからリクエストを送れば ちゃんと送信されます。 これは送る型は決まっているがバックエンドが間に合ってないときや 送る条件を満たすのが煩雑な時に役に立ちます。(やり…

Launcherを複数持つ

androidのちょっとした小ネタ。 開発中では何度も同じ画面を行き来することになるが 階層が深くなると時間のロスも出てきて勿体無い。 そこでAndroidManifest内のActivityタグに intentFilterを記述すれば、そのActivityから立ち上げる事が出来るので 時間の…

あなたはJavaでオブジェクト指向開発ができないのかを読んだよ

寝る前にコツコツと読みました。 なぜ、あなたはJavaでオブジェクト指向開発ができないのか―Javaの壁を克服する実践トレーニング作者: 小森裕介,アクロクエストテクノロジー株式会社出版社/メーカー: 技術評論社発売日: 2004/12/01メディア: 単行本購入: 10…

RxでHotObservableとFilter

RxにはHotObservableとColdObservableがある。 HotObservableについてはそんなもんなあるなーぐらいで 実際に使う機会がなく、あまり理解できてなかった。 rxの使用用途がretrofitを介してのAPIとのやりとりが主だったのも大きい。 んで触る必要が出てきたの…

kotlinでrawStringを使う

kotlinです。 開発中にAPIは実装されていなけど、返すjsonのフォーマットは決まっている時に パースを試したい時などがあると思います。 そういう時はjsonをコード内で直接書いてパース出来るかテストしてたのですが ダブルクオーテーションのエスケープが面…

RxObserverのテスト

RxJavaの話です Rxでテストをする時はObservableがtestメソッドを持っているのでこの返却値を使います。 val test = Observable.fromArray(1, 2, 3, 4) .filter { it % 2 == 0 } .test() testはTestObserverであり、自身にいくつかのassertionを持っているの…

viewをクリックした際の背景の設定

ButtonやListViewには初めからクリック時の背景が変化しますが そうでないViewに設定する場合。 一番簡単なのは以下のように android:background="?attr/selectableItemBackground" を付けてあげると変化してくれます。 さらに5.0以上ならちゃんとロングクリ…

xmlにプレフィックスを付ける

androidはxmlで画面や背景・ボタンを定義するが 開発が進むと膨大な数になって管理コストが増えていく。 何か解決策ないかと探してると DroidoKaigiのアプリがプレフィックスを付けて管理していたので 取り入れた所ある程度改善できたように思えた。 どんな…

VIPERについてダラダラ書く

現在AndroidをVIPERというアーキテクチャーで書いてます。 元々はiOSのもらしいけど合わせる形で採用しました。 iOS Project Architecture : Using VIPER [和訳] - Qiita android:kotlin,iOS:swiftで書くわけですが 似てる部分もあると言われる2つの言語。 …

プリンシプルオブプログラミングを読みました

一通り読み終えた。 プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則作者: 上田勲出版社/メーカー: 秀和システム発売日: 2017/04/27メディア: Kindle版この商品を含むブログを見る 800冊以上の技術書を読んだ著者による …

Spinnerの選択はDropDownとDialogがある

表題の通り。 layout.xmlでSpinnerのタグに spinnerModeを指定することで 選択方式をDialogとDropDownを切り替えることができる。 //Dialog <android.support.v7.widget.AppCompatSpinner android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/spinner1" android:spinnerMode="dialog" /> //Spinner </android.support.v7.widget.appcompatspinner>

ITエンジニアのための「人生戦略」の教科書を読んだ

ITエンジニアのための「人生戦略」の教科書 ~技術を武器に、充実した人生を送るための「ビジネス」と「マインドセット」~作者: 平城寿出版社/メーカー: マイナビ出版発売日: 2017/02/23メディア: 単行本(ソフトカバー)この商品を含むブログを見る 読みまし…

Databindingでincludeタグを使う

databindingはincludeタグも上手く扱ってくれるが includeされる側もlayoutタグを仕込まないと bindingが機能しない Main.xml <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" > </layout>