※本サイトではアフィリエイト広告を利用しています。記事内および商品リンクにはプロモーションが含まれる場合があります。 DroidKaigi講演資料まとめ 4月25日に開催されたDroidKaigiの講演資料まとめです。 4月28日追記:全講演のスライドを補完しました。講演者の方々による捕捉・追記記事へのリンクなども追加させていただいています。 Welcome Talk
Android開発していると、なんかMVCうまくいかないなぁとモヤモヤしてきました。そろそろ他のアーキテクチャを模索してみた方がいいんじゃないかと思い始めまして、ある程度考えがまとまったので自分なりの指針を残しておこうと思います。 そもそもアーキテクチャ必要なのか 世の中には色々なアーキテクチャが存在するんですが、なんか概念を読んでもスッと理解できることが少ないんですよね。これはなぜかと言うと アーキテクチャが解決しようとしている問題を理解できないからです。 極端に言うと、HelloWorldを表示するアプリにMVCを導入する必要があるの?って言うと答えはNoですよね。じゃあ猫の名前をリストで表示するアプリだったらどうかと言われると、これもまだ必要ないかもしれません。 つまり、アーキテクチャを適用しなくても問題がないほど小さなアプリにおいては、ただ冗長になるだけなので別にいらないわけです。
こんにちは。技術部の松尾(@Kazu_cocoa)です。 安定したリリースを継続して回す為には、開発プロセスや実装も大事ですが、その中でどのような確認、テストを継続して行うかも大切になります。そこで、開発プロセスにおけるテストをどのように切り分けて、構築していくかという考え方に関して少し整理してみようと思います。 これにより、実施されているテストによって検出できる/できない不具合がどのようなものか、それが開発中のどこで防ぐことができるのかを整理できるようになってくると思います。また、安定したリリースを実現するためのボトルネック解消に向けて、どのレベルでテストを充実させると効率的にそれが達成できるかという所も考えることができるようになります。 テストレベルによるテストの区分け テストレベルという言葉にも様々な定義がありますが、ここではざっくりとテスト対象となる範囲や領域を意味することにします
Web な人もアプリな人も、これから新しく Android アプリを作るなら抑えておきたいポイント3選Androidandroid開発 概要 Lollipop が発表されてから時間も立ち、Android Auto、Android Wear、Android TV と、多様性を見せ始めた Android ですが、今後とも多種多様なデバイス向けに様々なアプリを作っていく流れがあるなか、新しくアプリを作るなら抑えておきたい要所をまとめました。 TL;DR 抑えるところは 3 つ。 画面とライフサイクル 非同期処理 互換性 かなり端的にいうと、Activity や Service などのライフサイクルとうまく付き合いながら、コードの構成のレイヤー化を行い、非同期処理を簡潔に記述できる準備をしておくことと、非同期処理とあわせてマルチスレッドプログラミングの基本を抑えておくこと、互換性への準備を最初にし
前回のおさらい 前回は、サンプルプログラム「SkeletonApp」をビルドして、エミュレーターと実機で動作確認を行い、エミュレータと実機では操作感が違うことをご説明しました。 今回は、Androidの肝でもあるアクティビティを取り上げます。 アクティビティとは? アクティビティは、Androidの画面に相当し、ユーザが操作する画面と操作に対する処理を行います。画面を持つ物はアプリは、必ずアクティビティを持ちます。 これを「Windowsで例えると○×です」と言えれば、話しが早いのですが、Windowsには似たオブジェクトが存在しません。たとえば、同じ画面に相当するウィンドウと比較すると、以下の違いがあります。 状況に応じて分岐する遷移状態を持つ インスタンスの保存・復帰する仕組みを持つ Android OSのタイミングで、強制終了・再起動される 少々難解な存在ですが、Androidのアプ
Android フレームワークは、あまり強力とはいえないものの、ある程度のテストフレームワークを内包しています。 ベースが JUnit3 なので、記法が古かったりすることもありますが、とりあえず JUnit3 の作法を身に付ければある程度のテストは書くことが出来ます。 Android のテストケースフレームワーク Android がもつ各種のコンポーネントをテストするためのフレームワークが有ります。 いろいろな種類がありますが、おそらく最も頻繁に使うのはAndroidTestCaseでしょう。 AndroidTestCase Android でユニットテストをするなら、ほぼ間違いなく使うであろうクラスです。 そのようなテストケースでは、すべてこのクラスを基底に作っていきます。 もう少し具体化して言うと、Contextに依存するすべてのテストはこのテストクラスを使うことで、イイカンジにテスト
By Dick_Wu セキュリティリサーチャーのIbrahim Balicさんは、GoogleのAndroid OSにメモリをクラッシュさせる恐れのある脆弱性を発見しました。その後Trend MicroがBalicさんの発見した脆弱性を調査したところ、悪意あるハッカーによって、ユーザー自身がデバイスに保存されたデータを全消去してしまうようなアプリの作成が可能であることが判明しています。 Android Vulnerability affected Google Play Bouncer (Emulator) | Ibrahim BALİÇ http://ibrahimbalic.com/2014/android-vulnerability-affected-google-play-bouncer-emulator/ New Android Bug Causes Bricked Device
公式のライフサイクルがちょっと分かりにくい Activity | Android Developers に載ってる図。 状態のフローなんだか処理のフローなんだかどっちつかずでややこしい。 何度見ても頭に入らないから毎度毎度図を見直すことになる。 状態遷移図として表現すると分かりやすい こんな感じです。どうでしょうか。 あくまでも図の形式は状態遷移図で、ハンドラ呼び出しは矢印に現れるだけ。 アクティビティ作成 アクティビティが作成されると、「未作成」状態から「最前面」状態へと一気に遷移する。 その過程で onCreate, onStart, onResume が呼ばれる。 半透明な他のアクティビティに覆われたとき 他のアクティビティが手前に来たら「非最前面」状態に遷移する。 その過程で onPause が呼ばれる。 手前に来た他のアクティビティが半透明の場合、 元のアクティビティは透けて見え
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く