タグ

ブックマーク / starzero.hatenablog.com (12)

  • Android Architecture Components 感想 - ほげほげ(仮)

    Google I/O 2017で追加された、Android Architecture Componentsを触ってみた感想です Components 大きく分けて4つあります。 Lifecycle LiveData ViewModel Room Roomはちょっと時間かかりそうなので別の機会で。(やるかは未定) とりあえず、Room以外の3つを触ってみました。 Lifecycle これが一番重要だと思います。LiveDataもViewModelもこれがあるからこそ実現できるように感じました。 ActivityやFragmentのライフサイクルイベントの監視や状態の管理ができるようになります。 簡単な使い方です。 まずはLifecycleObserverをimplementsして、監視したいライフサイクルイベントをアノテーションで指定します。 public class SampleObser

    Android Architecture Components 感想 - ほげほげ(仮)
  • DroidKaigi 2017で発表してきた - ほげほげ(仮)

    MVVMについて話してきました。 このMVVMについて色々と議論はあるかと思いますが、まずはスタートラインに持っていけたかなと思ってます。これを元に色んな方が実践し議論してもっと良い方法を共有してくれるのを期待しています。今日も質問を受けたり議論もあって非常に勉強になりました。もっと改善できるようにこれからも色々模索していきます。 このような発表をすることはこれまでなかったので、かなり緊張してずっと寝不足気味な日々でした。ただ、終わってみるとやってよかった感は半端ないです。色んな人に声をかけてもらえて非常に嬉しかったです。ありがとうございました。 DroidKaigi関係者のみなさんに感謝!そして、相談に乗ってくれたり練習に付き合ってくれたりした同僚に感謝!

    DroidKaigi 2017で発表してきた - ほげほげ(仮)
  • RxJavaのHotObservableのテストコード - ほげほげ(仮)

    teracy_junk
    teracy_junk 2017/02/22
    『awaitTerminalEventっていうメソッドがあって、onCompletedかonErrorが呼ばれるまで待ちます』
  • ObjectBox所感 - ほげほげ(仮)

    greenrobotが新しいmobile object databaseのObjectBoxのBetaをリリースしたようです。 ObjectBox - The new Mobile Database (Beta) - Open Source by greenrobot greenrobotは、EventBusやgreenDAOを作ったとこです。 AndroidにおいてはRealmと競合になりそうな感じですかね。 機能 アナウンスの記事を見ると5つの機能をアピールしてますね。 Superfast Object API Instant unit testing Simple threading No manual schema migrations ちょっと試してみた ちょっと試して、Realmとの比較してみました。 セットアップは省略。 Entity 次のようなPOJOクラスを設定してアノテ

    ObjectBox所感 - ほげほげ(仮)
    teracy_junk
    teracy_junk 2017/01/26
    『一番ネックになるのがEntityクラスがビルド時に書き換わること』ふえぇ
  • やさしいDagger2 - ほげほげ(仮)

    Androidその2 Advent Calendar 2016 - Qiita 2日目の記事です。 Dagger2は最初のハードルが高くてなかなか導入できなかったり、メリットがよく分からなかったりします。そういう方が雰囲気だけでも掴めれるように、簡単なサンプルを実装しながら確認できるようなのを書きました。 だいぶ長くなってしまった感じですが、あまり複雑なことはやっていないつもりです。 セットアップ build.gradle に依存関係を追加します compile 'com.google.dagger:dagger:2.7' annotationProcessor 'com.google.dagger:dagger-compiler:2.7' Hello Dagger2 すごくシンプルなサンプルです。 依存解決されるクラス まずは依存解決されるクラスを作ります。Dogクラスとします。 pub

    やさしいDagger2 - ほげほげ(仮)
  • Firebase Cloud Messagingで通知をカスタマイズ(Android) - ほげほげ(仮)

    Firebase Cloud Messaging (FCM)を試して、通知のカスタマイズについて調べてみました。 FCMとNotification FirebaseにはFCMとは別にNotificationという似たようなのがあります。 この辺りの違いは下記の記事にまとまってます。 Firebaseによるプッシュ通知のハマりどころ - Qiita ざっくりと言って、Web上のConsoleから通知を発行できるのがNotificationで、FCMはその基盤になっておりAPI経由で実行する感じかと思います。 概要 今回はNotificationは使いません。 というか、Notificationでは通知のカスタマイズが微妙に物足りません。ぼくは特に通知アイコンを変更できないのがツライです。 現状だとAPIを叩くしか方法はありません。 通知を受けた時の処理 通知をカスタマイズするには通知を受けた

    Firebase Cloud Messagingで通知をカスタマイズ(Android) - ほげほげ(仮)
  • SupportLibraryのVectorDrawableを使う - ほげほげ(仮)

    ベクター画像のVectorDrawableを使うことで各解像度ごとに画像を用意する必要がなくなります。また画像を拡大してもぼやけることなくキレイに表示できるようになります。 元々はAndroid5.0以降からの対応だったのですが、Support Library 23.2.0から5.0未満にも対応できるようになりました。 使ったことなかったので少し試してみました。 VectorDrawable 公式ドキュメントに記載してあります。 ドローアブルの使用 | Android Developers Android ではベクター画像は VectorDrawable オブジェクトとして表示されます。 XMLでいろいろ書く感じですが、これを手作業する必要はなくて、Vector Asset Studioっていうのを使用すればSVGファイルから簡単にXMLを生成できます。 Vector Asset Stud

    SupportLibraryのVectorDrawableを使う - ほげほげ(仮)
  • Androidでスクロールした時にToolbarを隠す - ほげほげ(仮)

    概要 Google Playのようにスクロールした時にToolbar部分を隠す単純な方法です。 SupportLibraryのみを使って実装できます。 余計な実装は極力省いていますのでActivityのみで実装してます。 注意 先に注意事項を。 これをLollipop未満のバージョンで実現するにはスクロールするコンテンツ部分に制限があります。 RecyclerViewまたはNestedScrollViewが必要になります。例えば普通のListViewではLollipop未満では実現できませんので注意です。(Lollipop以降でListViewでの実装は後述します) 実行イメージ 実装手順 gradle build.gradleは次のようになります。 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compi

    Androidでスクロールした時にToolbarを隠す - ほげほげ(仮)
  • 独自アノテーション作成 - ほげほげ(仮)

    独自アノテーションの作成についてまとめ 独自アノテーションの定義例 package sample.annotation; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FI

    独自アノテーション作成 - ほげほげ(仮)
  • SharedPreferencesをテストする - ほげほげ(仮)

    SharedPreferencesをテストしたときのメモです。 テスト対象コードサンプル サンプルとしてボタン押したらSharedPreferencesに保存するだけのコードです。 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = (Button) findViewById(R.id.btn); button.setOnClickListener(new View.OnClickListener() { @Override public void

    SharedPreferencesをテストする - ほげほげ(仮)
  • FragmentでタブUIを簡単にできるライブラリ作った - ほげほげ(仮)

    今更な感じですが、TabActivityとかActivityGroupがdeprecatedになっちゃってタブ画面を作るにはどうすればいいか試行錯誤した結果です。 そもそもTabActivityとかActivityGroupは非常に使いにくいものでしたが… 作ったのはGitHubにあげてあります。(名前は良いのがまったく思いつかず…) STAR-ZERO/TabNyan · GitHub 使い方はREADMEにそれっぽく書いてますがソース見ればだいたい分かると思います。 これを使うとFragmentのほうは特に意識せず使うことができると思います。 これを作るために色々試したことを書いておきます。 FragmentTabHost 今はFragmentを使うのが普通ですが、TabHostをFragmentに対応させるためのものがSupportLibraryにあります。 FragmentTabH

    FragmentでタブUIを簡単にできるライブラリ作った - ほげほげ(仮)
  • Webサービス系ステッカーを集めよう!! - ほげほげ(仮)

    こんにちは☆ステッカー大好きっ子です! 最近MacBookAirにベタベタと貼ってるのをよく見ますけど、アレいいですよね! 自分も色々ステッカー持ってるのですが、欲しい人のためにステッカーを入手する方法をまとめてみました。 ちなみに上の写真は今持っているステッカーの一部です。 GitHub · Social Coding みんな大好きGitHubのステッカーです。 このステッカーをMacBookAirに貼っている人を一番見かけます。 つい先日新しいステッカーも発売されたのでぜひぜひ。 ステッカーじゃないけどマグカップもおすすめです!! 購入はこちらから:github:shop はてな はてなの各サービスのステッカーです。 ずっと探してて、結構分かりづらいとこにありました。 (購入ページのタイトルが「Tシャツ」って書いてあるから…) これははてなポイントを利用して購入します。 購入はこちらか

    teracy_junk
    teracy_junk 2012/03/12
    この前togetterのイベントでもらったtwitterのステッカーしかない(VS2010のはPCに貼ってあるけど
  • 1