タグ

ブックマーク / y-anz-m.blogspot.com (81)

  • ドメイン駆動設計について DroidKaigi 2017 で登壇しました。

    長らく Y.A.Mの雑記帳というブログでAndroid技術情報を発信しています。最近はなかなか投稿できなくなってしまいましたが、それも仕事としてAndroidに関われているためです。Androidを触り始めたころはまだ学生だったので時間があったんでしょうね。 はじめて Android に関するエントリを投稿したのは 2009 年 5 月 24 日です。当時はJavaFXを触っていたので、NetbeansでAndroidをやろうとしていたようです。 当時のAndroidのバージョンは1.5、Fragment もなく、Support Library もなく、マルチタッチすらなく、ストアは Google Play ではなく Android Market という名前でした。 ここから2、3年くらいは、仕事Android アプリを開発している人はもっぱらメーカーのプリインアプリを作っている方たち

    ドメイン駆動設計について DroidKaigi 2017 で登壇しました。
  • Fragment に Toolbar を持たせるのはやめなさい

    NavigationDrawer や BottomNavigation パターンを実現するために、各画面を Fragment で実装することがあります。 Fragment によって ActionBar に持たせる機能が違うからか、Fragment のレイアウトに Toolbar を持たせて、Fragment で ((AppCompatActivity) getActivity()).setSupportActionBar(toolbar); のような処理をさせているコードを見かけることがあります。 やめなさい (Toolbar をただの View として使って、ActionBar としては使わない(setSupportActionBar()しない)というのであればまだ許容できるが、それならそもそも Toolbar を使う必要がない) ViewPager のように複数の Fragment を

    vvakame
    vvakame 2016/11/01
    ひさひざのあんざいゆきだ
  • Project Tango - Google I/O 2016

    What's New with Project Tango デモとビデオがたくさんあり、Tango の Keynote っぽいセッション。恐竜のアプリ楽しそう。 Standard Android development and publishing C/C++, Java, Unity, Unreal Detect if Tango features are available on device Googel Store で $512.00 で新しい Project Tango タブレット開発キットが買えるようになった。 https://store.google.com/product/project_tango_tablet_development_kit (*日では買えません) 追記:わざわざセッションで言及してたので new かと勘違いしてしまいました。new じゃなかった。残念

    Project Tango - Google I/O 2016
    vvakame
    vvakame 2016/05/24
    ようけセッション見るのう
  • Migrate from Retrofit to Retrofit2 (Retrofit から Retrofit2 に移行する)

    Migrate from Retrofit to Retrofit2 (Retrofit から Retrofit2 に移行する) retrofit2 が正式リリースされました。 retrofit/CHANGELOG.md at master · square/retrofit retrofit との後方互換性はありません。そのため maven の group id が com.squareup.retrofit2 になっています。 compile 'com.squareup.retrofit2:retrofit:2.0.0' Converter GSON などの Converter は別のモジュールに分割されました。 retrofit new RestAdapter.Builder() .setConverter(new GsonConverter(gson)) ... retrofit2

  • Droid Kaigi 2016 で講演してきました。

    ► 2024 (4) ► 6月 (1) ► 3月 (2) ► 2月 (1) ► 2023 (6) ► 12月 (1) ► 7月 (1) ► 5月 (1) ► 4月 (1) ► 3月 (2) ► 2022 (17) ► 12月 (2) ► 11月 (3) ► 9月 (2) ► 8月 (2) ► 7月 (2) ► 5月 (2) ► 4月 (2) ► 3月 (1) ► 2月 (1) ► 2021 (46) ► 12月 (2) ► 10月 (1) ► 9月 (1) ► 8月 (3) ► 7月 (2) ► 6月 (5) ► 5月 (12) ► 4月 (7) ► 3月 (5) ► 2月 (7) ► 1月 (1) ► 2020 (44) ► 12月 (6) ► 11月 (5) ► 10月 (1) ► 9月 (1) ► 8月 (2) ► 7月 (2) ► 6月 (7) ► 5月 (4) ► 3月 (8)

  • android.support.annotation を活用する

    利用するには dependencies に追加します。 dependencies { compile "com.android.support:support-annotations:22.0.2" } 参考 Improving Code Inspection with Annotations Annotations in Android Studio android.support.annotation 上記のドキュメントに書いてありますが、例えば @Nullable を指定している変数に対して NPE になるようなコードを書くと警告してくれます。 alt + enter で修正候補がでます。 2番目の Replace with 'd != null ?:' を選択するとこんな感じになります。 @NonNull が指定された変数に null を渡そうとすると警告してくれます。 リソースI

    android.support.annotation を活用する
  • DroidCon Montreal に行ってきました。

    DriodCon Japan 開催をもくろむ mhidaka と共に視察(半分観光)として DroidCon Montreal に行ってきました。 DroidCon Montreal カナダで最初のDroidConということで、Welcome talk では Toronto じゃなくて Montreal だぜ、いぇい、というのりでした。 朝と昼が出たのですが、ホテルの朝よりおいしかったです。 9時スタートに来てもらうには朝は必須ですね。 セッションメモ Keynote - An Open Source Advantage Jake Wharton & Jesse Wilson (Square Inc.) セッションスライド https://speakerdeck.com/swankjesse/an-open-source-advantage-droidcon-mtl-2015 二人

    DroidCon Montreal に行ってきました。
  • GAE/Go の GuestBook チュートリアルの Greeting データをダウンロードする

    1. Remote API を有効にする https://cloud.google.com/appengine/docs/go/tools/remoteapi 2. bulkloader.yaml のひな形を作る $ appcfg.py create_bulkloader_config --filename=bulkloader.yaml --url=http://localhost:8080/_ah/remote_api --application=dev~APPLICATION_ID . 3. bulkloader.yaml を編集する connector と connector_options を埋める property_map を編集する external_name が CSV のカラムと一致しているか確認する __key__ が適切かチェックする。値は import 時は key

    vvakame
    vvakame 2015/02/19
  • Google I/O 2014 Polymer セッションまとめ

    Google I/O 2014 - Polymer and the Web Components revolution Topeka というサンプルアプリを作った。 Polymer と Material Design をテストするため。 http://polymer-project.org/apps/topeka トリビアアプリ Leaderboardがある PCChromeブラウザ上でのデモ。画面サイズを変えても動く。 Nexus5のChrome Betaでも動く。 "Polymer is a library that makes building applications easier" "Polymer is different than what has come before" "Polymer was built differently" Polymer チームは Chrom

    Google I/O 2014 Polymer セッションまとめ
  • Android Wear に Notification で出来ること

    参考 Adding Wearable Features to Notifications Creating a Notification Receiving Voice Input in a Notification Adding Pages to a Notification Stacking Notifications 概要 スマホと Wear が接続されていると、Notification が Wear にも表示(同期)される。 Wear では通知はカードとして表示され、このカードが表示されるところを context stream という。 これまでの通知でももちろん Wear に表示されるが、Wear 用に Notification を拡張することができる。 Notification を作る Notification の作成には NotificationCompat.Builder

    Android Wear に Notification で出来ること
    vvakame
    vvakame 2014/07/10
    さすがやんざむ様だ
  • Android fireside chat

    意訳です。間違っているところもあるかもしれません。。。 何もマークがないのは司会者です。 Q: は質問者、名前付きはパネリストです。 --------------------------------------------------------------------- fireside chat の目的は、基的には Android について知りたいことを君たちが質問することです。今日アナウンスしたことが、どのように行われてきたのか、どのように決まってきたのか。そういうこと全てです。 つまり、Q & A セッションです。部屋の前と真ん中にマイクがあります。質問がある人はそこに並んできいてください。質問がない場合はちょっとした短いセッションをします。 # 会場ちょっと笑い ここ数週間でオンラインから集めた2、3の質問があります。この内のいくつかも聞きたいと思います。 質問をする準備ができ

    vvakame
    vvakame 2014/07/06
    yanzmさまのAndroid Fireside Chatの和訳だ!
  • Android Wear アプリ開発 その1

    Android Wear | Android Developers Android Wear Design Principles Building Apps for Wearables | Training Android Wear APIAndroid Support Library と Google Play services で提供されているので、Kindle fire phone とかでは動かない。 Android Wear と接続するスマホは Android 4.3 以降であることが必要。 1. Synced Notifications 特にアプリ側で何もしなくても、スマホで発行された Notification は Android Wear にも表示されます。 2.x時代と違い、今はさまざまな情報を Notification に表示させられるため、通知の情報がリッチなほうが

    vvakame
    vvakame 2014/07/02
    yanzmはWearに興味を持ったのか。なんかわかんないことあったら聞こ。
  • Android Wear 使ってみた

    Google I/O に参加して、Android Wear をもらってきました。 LG G Watch と Samsung Gear Live が選べ、 Samsung Gear Live のほうをもらいました。 いずれも Google Play から購入することができます。 また、Moto 360 は7月終わり頃発売で、参加者には上記に加えこちらも郵送されます。 ■ 電池持ち 思っていたより電池もちます。(とはいえ2日は厳しそう) 設定にある、画面輝度と常時スクリーンON(スタンバイ状態で画面オフになるか、暗くなって時計を表示したままになるか)をどうするかもそれなりに影響しそうです。 画面輝度最低にし常時スクリーンOFFで、朝89%で、夜充電しないで寝て次の日の朝30%くらい残ってました。 ■ 充電 Samsung は付属のアタッチメントを付けてそれにUSBケーブルをさして充電します。

    Android Wear 使ってみた
    vvakame
    vvakame 2014/07/01
    Watch face, LGとSamsungで使えるの違うでコレたしか @yanzm
  • Google I/O 2014 - What's new in Android development tools

    Google I/O 2014 - What's new in Android development tools ■ 全体の感想 前半は、Android Studio Beta の特に Variant についての解説、後半はデモと個別の機能について。 CIツールのことをかなり意識している感じが伝わってきた。 1.0 が出たら格的にEclipse + ADTがオワコンになりそうな感じ。 現在はぜんぜんドキュメントがないが、1.0 になったら Android Studio のドキュメントをもっと増やす予定だそうだ。 ■ 内容のpickup Android Studio Beta がリリースされた。 (セッション時は 0.8.0 だが、その後 0.8.1 がリリースされている) Android Studioの戦略は、統一されたビルドシステムを提供すること。つまり、Android Studio

    Google I/O 2014 - What's new in Android development tools
  • Android Pattern Cookbookを執筆しました。

    3月20日発売です。 念願のフルカラーを出すことができました!やったー! Impress Japan : Android Pattern Cookbook マーケットで埋もれないための差別化戦略 Amazon : Android Pattern Cookbook マーケットで埋もれないための差別化戦略 (今週中には表紙画像が載るはず) 3月21日のAndroid Bazaar and Conference 2014 Springのインプレスジャパンさんのブースで直売&サイン会をします。 タブレット対応のパターンとかいろいろ書きました。参考になればと思います。 目次 1章 : Structure - アプリの構成と階層 2章 : Branding - オリジナリティを出す 3章 : Helps - ユーザーを導く 4章 : ViewPager - 画面切り替えの定番 5章 : Suppor

    Android Pattern Cookbookを執筆しました。
    vvakame
    vvakame 2014/03/17
    僕は左上の親知らず抜かれた2日後に発売か
  • Sublime Text 2 用の Syntax Definition を作る

    家のリファレンスはこちら Syntax Definitions : SUBLIME TEXT HELP 1. AAAPackageDev を Sublime Text に入れる https://bitbucket.org/guillermooo/aaapackagedev/downloads から AAAPackageDev.sublime-package をダウンロードする AAAPackageDev.sublime-package を Sublime Text の Installed Packages ([Preferences] - [Browse Packages...] から開くフォルダの一つ上の階層にある)に入れる Sublime Text を再起動する 2. Package を作成する 作成する Syntax Definition に対応するパッケージがない場合は [Too

  • Sublime Text 2 用の ReVIEW プラグイン作った

    ReVIEW とは「テキストマークアップ型の原稿フォーマット」であり html, pdf, epub などの形式に変換することができます。 詳しくは kmuto さんの 「書籍制作フローを変える。 「ReVIEW」という解。[PDF]」 や 「ReVIEWによる書籍制作フローを勉強する会を開いたよ : hdk_embeddedの日記」 を見るといいと思います。 ReVIEW 自体は github で公開されています。 https://github.com/kmuto/review 上記「ReVIEWによる書籍制作フローを勉強する会を開いたよ」内で言及されている Effective Android というコミケの制作に関わりました。 この自体は用意した150部がコミケ3日目開始40分でそうそうに売り切れてしまうという結果になり、現在電子書籍化に向けていろいろ動いているようです。 制作にあ

    vvakame
    vvakame 2013/08/21
    やむちゃん偉い
  • Volley を使って XML を処理する

    Volley には JsonRequest とか JsonObjectRequest とか用意されているのですが、XML 用(?)のはありません。 残念ながら XML が返ってくる API を利用せねばならない場合もあります。JSON がいいよー。。。 Entity から InputStream を取得して、XmlPullParser を使って parse している処理があったとします。 これの通信部分を Volley を使うようにするには、Request<InputStream> を継承したクラスを作ればいいわけです。 public class InputStreamRequest extends Request<InputStream> { private final Listener mListener; /** * * @param method * @param url * @p

  • Android で mockito を使う : モックのメソッドが呼ばれたときの戻り値を指定する

    public class MyClassA { MyClassB mMyClassB; public MyClassA(MyClassB b) { mMyClassB = b; } public void hoge() { if (mMyClassB.getPriority() > 0) { handleHighPriority(); } else { handleLowPriority(); } } public void handleHighPriority() { ... } public void handleLowPriority() { ... } } public class MyClassB { private int mPriority; public int getPriority() { return mPriority; } // 内部の処理で mPriority

  • Android で mockito を使う : メソッド呼び出し時の引数をチェックする

    JSON をパースして、リスナーの対応するメソッドを呼び出すユーティリティメソッドがあるとします。 "Status" というキーの値(文字列)とそのときの時間(long)を handleStatus() の引数として渡すようになっています。 public class Utils { public interface ResultListener { void onError(); void handleStatus(String status, long time); } public static void handleJson(String json, ResultListener listener) { if (listener == null) { return; } try { JSONObject obj = new JSONObject(json); String statu

    vvakame
    vvakame 2013/06/24
    yanzm先生は最近テストにお熱なのかしら