Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

ブックマーク / rakuishi.com (4)

  • Android Oreo: 通知とサービスのフォアグラウンド実行 | rakuishi.com

    Android Oreo (API Level 26) を compileSdkVersion, targetSdkVersion とするアプリは、通知と、サービスのフォアグラウンド実行に対して新しく制限が加えられました。従来の SdkVersion を指定してビルドしたアプリを Android Oreo 上で動かす場合は、影響はありません。 Oreo 以降では、通知ごとにチャンネルを紐付ける必要があります。例えば、Twitter アプリでは、メンションとダイレクトメッセージを異なるチャンネルで取り扱っており、ユーザーが通知チャンネルごとに、音声と画面表示のオン/オフを切り替えることができます。 これにより、ユーザーは手ずから行儀の悪い通知を管理できるようになるのですが、行儀の良いデベロッパーにとっては実装が面倒になった印象しかありません。 サービスのフォアグラウンド実行では、サービスを起

    Android Oreo: 通知とサービスのフォアグラウンド実行 | rakuishi.com
  • 依存性注入(DI: Dependency Injection)と Dagger 2 | rakuishi.com

    依存性注入(DI: Dependency Injection)という単語を知ってはいたけれど、その意味を知らなかったので調べた。また、前に書いた Todo-Android という Android アプリを元に依存性注入を考えた。 Android では、Dagger というライブラリが DI を実装するのに有名みたいだ。Square 製の Dagger があり、それをフォークした Google 製の Dagger 2 がある。開発が盛んである Dagger 2 を使った。 依存性注入すると何が解決できそうか Todo-Android アプリの中では、RealmTodoManager が Todo 情報を管理していて、Todo リストを返したり、Todo の追加・更新・削除を担っている。 public class RealmTodoManager { public RealmTodoManag

    依存性注入(DI: Dependency Injection)と Dagger 2 | rakuishi.com
  • RxJava Operators 私的チートシート | rakuishi.com

    RxJava には、それを扱うための数多くの関数(オペレーター)が用意されているが、頻繁に使うのは極一部だったから、今までに使ったオペレーターとその使用例をまとめてみた。 Observable を作る - just Rx では、データを Observable<T> の形で取り扱うが、これを一番簡単に作れるのが just である。以下の例では、Observable<String> を作成している。 public Observable<String> doSampleJust() { return Observable.just("RxJava"); } Observable を作る - create Observable を自作する時に使える。例外が発生するような処理を取り扱いたい場合に使っている。処理中に onNext, onError, onCompleted を呼べるから、通信処理をこ

    RxJava Operators 私的チートシート | rakuishi.com
  • [iOS6] 引っ張って更新を簡単に実装できる UIRefreshControl を TableView で使ってみる | ラクイシロク

    引っ張って更新が iOS6 からメールや Passbook で出来るようになりました(写真は Passbook)。 この更新方法が iOS6 から簡単に実装できるようになったみたいですので、実際に使われる機会が多いテーブルビューに組み込んでみました。 だいたい以下のような感じで、引っ張って更新が出来ます。 ここでは、1秒後に更新終了を知らせる endRefreshing というメソッドを呼んでいます。実際には、処理や通信が終ったタイミングで呼ぶと、グッドです。 ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UIViewController <UITableViewDataSource, UITableViewDelegate> { } @end ViewController.m #import "V

  • 1