Presentation at #mercariday
![High 意識 Android - Mercari Day](https://cdn-ak-scissors.b.st-hatena.com/image/square/535e633448b4c1299bf1a99dbe716065eae81767/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F4a1e63d8ae4e4fd59cb6c3b3d772c83b%2Fslide_0.jpg%3F7450276)
Daggerってありますよね。コンパイル時に依存性を解決するのでパフォーマンス的に有利なDIコンテナです。 https://google.github.io/dagger/ 依存関係の不備がコンパイル時にエラーになって発見できるのも、実行時にエラーが出たときの修正の難易度が高いAndroidアプリにはありがたいということで、Androidでよく使われてるようです。 基本的なオブジェクトの定義 I have a pen. public class Pen { @Override public String toString() { return "ペン"; } } I have an apple. public class Apple { @Override public String toString() { return "アッポー"; } } Ohh!!! Apple Pen!!! p
はじめに この投稿はAndroid その3 Advent Calendar 2016 - Qiitaの5日目の記事です。 4日目はkimukouさんのrealm-gradle-plugin 2.2.1 と Android Realm Browserでした。 6日目はkimukouさんの2016年末のAndroidでのSSL対応に関してです。 Androidのコードを書く前にコーディングに集中できる状態を作る 今年のAdvent CalendarはAndroidでKotlinを導入する話がかなり多くて、Kotlinが浸透しているんだな〜と感じています。 かくいう私もKotlinを使ってみた所感やテクニックのネタを考えてたんですが、Kotlinは愚かAndroidを本格的に開発し始めて2ヶ月ですので、エキスパートな部分は先人達にお願いするとします。 最近異動して、0からのプロジェクトに携わらせ
この記事は Android Advent Calendar 2016 2日目の記事です。 こんにちは。わくわくです。 現在お仕事で書いているアプリを新規で書き始めたのが2015年で、現在は2016年です。 そう、1年が経ちました。その頃から今まで書いてきて、今から書くならこんなライブラリや設計を採用するよ(したいよ) というのをまとめたいと思います。 これからAndroidアプリを書くけどどんなものつかっていけばいいんや〜?といった方の参考になれば幸いです。 すでにAndroid開発をされている方にとっては内容が薄く感じられることと思いますがご了承いただければと思っております…(予防線) (裏の目的としては自分の備忘録のようでもあったりします。) この記事では紹介しているライブラリや設計などに関しては深くは説明を書きませんが、参考になる資料などをまとめて行ければと思っております。 言語につ
楽に開発するためにAndroid全体の設計をしたいという思いは、わりとどの開発者も持っている気持ちだと思う。 設計というのは昔から色々揉まれてきて、今はMVPだMVVMだ、DDDだと盛り上がっている。 そもそも、Androidというフレームワークに限定された環境で、わりとよくある実装が多い中で、未だにこれだけたくさんの人が困っているという状態がおかしい。おかしすぎる。そろそろAndroidでこういうの作りたいならこう作るでしょ、みたいなベストプラクティスが確立しているべきじゃないのかという気がする。 あくまで個人的にはだけれども、DataBindingが主流になるのであれば双方向バインディングを使ったMVVMが一番しっくり来る。ただ、MVVMだとViewModelが太ってきてどうすんのみたいなことになるかもしれない。また、通信やキャッシュ部分は別のクラスにわけようとかそういう指針はどちらに
Flux(とその実装としてのRedux)は中〜大規模のWebクライアントに向いている設計だと思っているので、具体性を出すためにサンプルとしてTwitterクライアントを作ってみた。iOS版はRIDEと同様にReSwiftを使い、Android版はReSwiftを写経したJava版Reduxライブラリを作って同梱している(用途があれば切り出してもいいかも)。 簡易な実装なので、UITableView、RecyclerViewとの同期問題、アニメーションの問題などは積み残しになっている。 普通にアプリケーションを作る場合に比べてFluxはコード量が増える傾向にあるが、一人で簡単なものを作っているだけではFluxのうまみもなく、実装は結構だるかった。開発に1ヶ月以上かかる場合や、チームが2人以上の場合などであればペイすると思う。
モバイルアプリの知見共有会であるpotatotipsにブログまとめ枠で参加してきました。 potatotips.connpass.com 会場は外苑前にあるエウレカさんのシャレオツなオフィスでした。 資料はいつものGitHubリポジトリに上がると思うので、Androidの発表を聞いて自分が考えたことをメインにざっくりまとめます。 API仕様書をいい感じに管理する yuyakaidoさんによる、アプリとサーバーサイドのAPI仕様の共有に関する知見の共有でした。 speakerdeck.com 「APIのレスポンスがサーバーと違う」「APIの開発待ちでアプリの開発が止まってしまう」といった、ありがちな問題を、APIドキュメントサービスを使って解決しようという話でした。ApiaryとSwaggerの2つが紹介されていましたが、Swaggerの方がクライアントコードの生成ができるなどApiaryよ
はじめに こんにちは、アプリケーションエンジニアのid:takuji31です。今年の1月に入社してAndroidアプリの開発を行っています。 先週4月2日(土)にはてな京都オフィスで開催されたKotlin 1.0.0リリース記念勉強会 in 京都で、「KotlinとモダンなライブラリーでAndroidアプリを作るっ」というタイトルで発表しました。 この発表では、AndroidアプリをKotlinを使って作る時に既存のライブラリーを使うことができるか、使う場合にKotlinの利点をどう活かすか、という点について話しました。 Kotlinとは KotlinはJetBrainsが開発しているJVM言語です。Javaとの100%の相互互換性を目指しつつモダンな言語機能を取り入れた言語で、最近は特にAndroid関連のサポートを強化していて、Androidアプリ開発で多く利用されはじめています。 発
はじめまして。 6/1より入社いたしましたAndroidエンジニアの釘宮です。よろしくお願いいたします。 今日はAndroidの設計について語ってみようと思います。 その前に 「良い設計とはなにか」という議論が「正義とはなにか」という議論のようにいつまでたっても結論がでないのは、環境やチームメンバのスキルセット、ステークホルダーによって目指すべきゴールが変わるためだと考えます。 つまるところ、設計に正解はありません。 そのため以下で話すことは、「これが設計の正解だ!!」というわけではなくて、「こういう設計の仕方するとうまくいくっぽい」くらいのノリです。 あと、特にMVCとかDDDとか人によって解釈のズレが起きやすいところなどは、冗長になるのを嫌って自分の解釈で言い切っています。ご了承ください。 設計の目的について ハードルが下がったところで、早速。 まず設計の目的ってなんでしょうか? この
去年Androidソースコードレビューで指摘する事が多い項目まとめという記事を書いた時はアプリ全体を一度に見るような機会が多かったため、内容も大きめのものばかり書いていましたが、最近はプルリクエスト単位でレビューする機会が増えたので細かい項目についてまとめてみようと思います。 ミリ秒で時間を指定する時に自前で計算している 1000L * 60L * 60L * 24Lのようなコード。 TimeUnitを使いましょう。 24時間の場合は以下のように書けます。 TimeUnit.DAYS.toMillis(1L) ある文字列がhttp/httpsで始まるかチェック URLUtil.isNetworkUrl()を使いましょう。 ただしequalsIgnoreCaseで判定してます。 ベースURLにパラメータを付与していってURLを生成したい StringBuilder#append("&key=
新規広告開発部の松本です。 クックパッドiOS/Androidアプリの広告の開発に携わっています。 Androidアプリ開発の際、皆さんはnullをどのように扱っていますか?また、nullチェックを行うのであれば、どのような基準で行っていますか?私自身まだまだAndroid開発歴が浅いため、特に何か基準がある訳でもなく至る所でif (foo != null)といったnullチェックを行おうとしていました。 これに対し、先日の社内コードレビューでとてもためになるアドバイスをもらいました。私のようなAndroid初心者にとってnullに対する考え方の基礎を作ってくれるレビューだったので、本稿で共有したいと思います。 また、AndroidやJava開発に慣れた方にとっては「今更そんな話か」といった内容かと思いますが、クックパッドでのレビューの一例としてご覧いただければ幸いです。 やりがちなnul
Android Gradle Plugin 入門 最近、俗にいうネイティブアプリの流れが社内で、巻き起こっているので 改めて Android Studioで使うGradleの説明をしていきたいと思います。 去年の「Android Advent Calendar 2013」で 「Gradleことはじめ」という記事を書きました もう、いまさら新規のAndroid開発環境において、Eclipse + antを使いはじめる人は居ないと思いますが 当時は、Android開発においてのスタンダードがEclipse + antでした。 もう、Eclipseなんていう負の遺産は捨てて、Android Studioに移行しましょう。 Android Studioの良さは、今回は語り尽くせないので、他の方の記事を参考してください 僕がEclipseをやめてAndroid Studioを使っている10の理由 で
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、ヤフーでAndroidアプリ開発をしている松田(@shoma2da)です。 今年もやってきたヤフーのアドベントカレンダー、僭越ながらトップバッターを務めさせていただきます! 初日となる今日は最近話題になっているKotlin(ことりん)という言語を使ったAndroidアプリ開発と、これに関連してヤフーが新技術にどのように向き合っているかについて書いていきます。 Kotlinとは Kotlinは2011年頃に登場した言語で、開発元はJetBrainsです。 JetBrainsといえばAndroid StudioのベースであるIntelliJを開発している企業でもあります。 ソースコードはOSSとして公開されておりGitHu
GUIを持つアプリケーションの設計では、ソフトウェアアーキテクチャパターン*1としてMVCパターンを使用し、MVCパターンを実現する上で、Modelの変更をViewやControllerへ通知する仕組みにデザインパターン*2としてObserverパターンを使用するのが古典的定番です。 ところが、Observerパターンを使ったModelには、Observableのリストを管理し、状態変更の際にリストに登録されるObserbable全てに通知する仕組みを実装する必要があり、結構な作業となります*3。 このModelからの通知をObserverパターンで実現する代わりに、イベントバスを使って実現すると、Modelの実装を簡潔にすることができます。Java SEではあまり事例を見かけませんが、Androidでは割とメジャーに使われているようです。 先日、Androidでイベントバスのライブラリを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く