All slide content and descriptions are owned by their creators.
はじめまして。 6/1より入社いたしましたAndroidエンジニアの釘宮です。よろしくお願いいたします。 今日はAndroidの設計について語ってみようと思います。 その前に 「良い設計とはなにか」という議論が「正義とはなにか」という議論のようにいつまでたっても結論がでないのは、環境やチームメンバのスキルセット、ステークホルダーによって目指すべきゴールが変わるためだと考えます。 つまるところ、設計に正解はありません。 そのため以下で話すことは、「これが設計の正解だ!!」というわけではなくて、「こういう設計の仕方するとうまくいくっぽい」くらいのノリです。 あと、特にMVCとかDDDとか人によって解釈のズレが起きやすいところなどは、冗長になるのを嫌って自分の解釈で言い切っています。ご了承ください。 設計の目的について ハードルが下がったところで、早速。 まず設計の目的ってなんでしょうか? この
でpackage:/data/app/com.king.candycrushsaga-1/base.apkのようなパスが取得できる。 これをadb pullで引っこ抜く。
RestAdapter.BuilderはsetClient()できるので、テスト時はそこにテスト用のClientをセットしてあげる。そのテスト用のClientをMockClientとしました。 本当は、Clientをわざわざ作るのがめんどくさいなと思って作らない方針で行こうとしたんですが、基盤チームの人にsetClientする方法があるでと改めて指摘されたあと考えなおして、Clientを作るのはだるいけど作ったほうが後々楽でわかりやすいなと思えてきたので作りました。 流れとしては、以下のような感じを想定しています。 @BeforeでMockClientをセットする(正確にはRestAdapterをセットする) @Testで なにをどうモックするか指定する @Afterで指定したモックをクリアする // MockClientTest.java public class MockClientT
最近Android界隈ではMVPという言葉をよく聞く気がします。 konifar.hatenablog.com tech.recruit-mp.co.jp 個人的にも気になっていて、特に「テストが書きやすくなる」という部分がとても気になります。 ところがどうもテストが書かれたよさげなサンプルコードがなかなか見つからない…。 そこで、全然テストが書けていないAndroid開発者の一人として、本当にUIロジックのテストが可能なものなのか、実際にMVPっぽいものを書いて試してみました。 ちなみに僕はユニットテストの知見が一切ありません。 MVP Model View Presenterの事です。 詳細は僕もまだそこまでちゃんと理解出来ていないので、上記の記事などを参照してください。 ざっくり言うと、Controllerの代わりにPresenterというもの作り、PresenterがUIロジックを
一時的にナビゲーションバーを隠す実装が必要だったので、色々試してみました。 SYSTEM_UI_FLAG_HIDE_NAVIGATION 呼ばれた画面でナビゲーションバーを隠す方法。 View view = getWindow().getDecorView(); view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); ただ、SYSTEM_UI_FLAG_HIDE_NAVIGATIONだけだとバーを一時的に隠すだけ(=画面をタッチしたりインタラクションがあるとバーが下から現れる)ので、SYSTEM_UI_FLAG_IMMERSIVEも一緒に書いてあげると良い感じになります。 SYSTEM_UI_FLAG_IMMERSIVE ナビゲーションバーを隠して、インタラクションがあっても非表示にし続ける方法。 View view
こんにちは、KID.Aです。 iOS 7からは「Background fetch」モードと「Remote notification」モードの新しいマルチタスク機能が追加されました。 「Background fetch」モードは指定した間隔(厳密には端末依存の間隔になります)でバックグラウンドアプリに通知が来る機能です。SNSのタイムラインなどの最新情報をユーザに見せたい場合に使えると思います。 「Remote notification」モードは、APNsからのプッシュ通知を受け取るタイミングで、バックグラウンドアプリにも通知が来る機能です。主に、ニュースアプリやコンテンツアプリなど定期的に情報更新が必要なアプリに相性がよい機能で、APNsの通知したタイミングでバックグラウンド処理が行えるため、予め重たいデータをダウンロードすることによって、アプリを起動した際に直ぐに最新の情報がみることがで
JavaとOpenCVを用いて、画像処理プログラミングを始める方法を入門者向けに紹介します。 2015年09月23日10:18 OpenCV(Open Source Computer Vision Library)とは、Intelが開発した画像処理・画像解析および機械学習等の機能を持つオープンソースのライブラリです。 最新版(2.4.9)では、C++、Python、Java、MATLABと幅広い言語に対応しています。 (非公式ですが、有志によりC#、VB、Ruby、javascriptでも機能の一部が使えます。) また、プラットフォームとしてもWindows、Mac OS X、Linux、Androidに対応しています。 【参考】Javaで数値計算入門 今回はJavaを対象としたOpenCVの使い方を紹介します。
この計測結果から、OpenGL ESで描画した場合では、Viewで描画した場合に比べ、描画パフォーマンスが約260%も向上することがわかります。 ただ、「こんなに早いからいつもこの方法で作ればいいのだ!」というわけではなく、描画パフォーマンスが良いからといって、あなたのAndroidアプリケーションにとってそれが必ずしも最も良い方法になるわけではありません。 測定の条件(画像サイズや枚数、機種など)によっては、必ずしも今回と同様のパフォーマンスが得られるわけではなく、OpenGL ESを使用した場合はコードがやや複雑になるため、生産性やソフトウェアの品質が低下する可能性もあります。 また、早ければ早いほど電力消費が激しくなるという問題もあります。 では、あなたとって最も良い方法とは何なのでしょうか? fpsとは? Frame Per Secondの略で1秒あたり何枚のフレームが処理されるか
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く