タグ

androidに関するlearnのブックマーク (221)

  • 資源効率の悪いモバイルアプリのリリースを防ぐための資源監視 - クックパッド開発者ブログ

    Android/iOSアプリを開発している皆様、こんにちは。技術部の松尾(@Kazu_cocoa)です。テストエンジニアとして、サービスの品質を向上するために様々な活動を行っています。特に最近はモバイルアプリに注力しています。 この記事をご覧になっている皆さんは、モバイルアプリに対する品質をどのようにお考えでしょう?例えば、アプリがクラッシュしないとか、アプリが機能不全無くシナリオを実施できるとか、そういう面は想像が容易だと思います。品質に対する機能的な側面の指標の1つですね。 品質を考える上では機能的な側面だけではなく、非機能的な側面も考える必要があります。例えば、モバイルアプリを使っているときにサクサク動いているとか、そういう観点は利用時の効率性という側面を持ちます。これにはCPU使用率やメモリ使用量、通信量、見せかけのUIなどが関係してきます。これらの指標を常時取得、監視する、という

    資源効率の悪いモバイルアプリのリリースを防ぐための資源監視 - クックパッド開発者ブログ
  • Effective web performance tuning for smartphone

    第三回DeNAゲーム開発勉強会の資料です。 https://atnd.org/events/59594Read less

    Effective web performance tuning for smartphone
  • Notification UX - 安藤日記

    安藤日記 安藤日記:デジタルガジェット好き「安藤幸央」の日々のメモ ( yukio.andoh@gmail.com ) [ http://twitter.com/yukio_andoh ] Design Sprint Newsletter https://designsprint.substack.com/ ■ Notification UX:最適なプッシュ通知のための UX 観点 iPhone,Android のネイティブアプリの特権であるプッシュ通知/Notification。 ユーザーの行動を喚起するために、便利に使えるサービスでありながら、 通知の送り方を一度間違えてしまうと、ユーザーに嫌われてしまいます。 そうすると、サービス事業者は失敗を恐れるあまり、 通知を送って失敗するよりも、送らないで済まそうと考えるようになってしまいます。 最悪、通知の方法を失敗すると、 それほど日常的

  • NewsPicks クラッシュしないアプリ制作の鉄則 - Uzabase for Engineers

    NewsPicksサービスの開発を行っている大川です。 日はNewsPicksのスマホアプリがどんな設計になっているかを紹介します。社内LTネタを元にしています。 階段の部分はどうやってるの?(『NewsPicksUIデザイン』) 文字が読みやすいように工夫しているの? などいろいろと観点はあるとは思いますが、まずは全体として絶対に守っている「竜骨」とも言うべきコアの設計についてお話しします。どのアプリでも必ず守るべき鉄則となります。 鉄則とは端的に言うと、 ビジネスロジックをView, ViewControllerに密結合させない ということです。 まず大前提として、下記の3レイヤーに分けた設計を行います。 プレゼンテーション層は、ユーザーの操作に従ってViewのコントロールを行います。 ビジネス層は、データそのものや、データの取り扱い責務を担います。Viewへのデータ変更通知も行い

    NewsPicks クラッシュしないアプリ制作の鉄則 - Uzabase for Engineers
  • iOS/Android/Windows8に業務アプリを配布する方法について調べた

    スマートフォンやタブレット向けの業務アプリを開発することが一般的になってきました。 一般向けのアプリなら、AppStore、Google Play、Windows Storeといった、各プラットフォーム向けに準備されている公式のマーケットに登録すれば配布できます。むしろ、そうしたマーケットが準備されていることで、個人や小規模企業の開発したアプリが世界市場で勝負できるわけです。 ただ、企業向けの業務アプリとなると、そうしたマーケットに登録して一般に公開するというわけにはいきません。では、どうすれば良いのでしょうか?iOS、AndroidWindows8(Modern UIアプリ)について、調べてみました。 iOSではAdHocかiOS Developer Enterprise Program iPhoneiPadに搭載されているiOS向けのアプリを公開するには、一般的にはApple公式の

    iOS/Android/Windows8に業務アプリを配布する方法について調べた
  • Espresso 2.0 が Android support library の一部としてリリースされた - ひだまりソケットは壊れない

    上記エントリにあるように、Espresso 2.0 がリリースされた。 Espresso は Android アプリの自動テストのためのライブラリである。 ほぼ上のエントリに書かれている内容であるが、Espresso 2.0 のリリースについて紹介する。 変更内容など 一番大きな変更は、Android support library の一部になったことだと思われる。 (上のエントリにもそう書かれている。) *1 そのおかげで、Android SDK で 「Android Support Repository」 をインストールしておけば (JAR をダウンロードしたりせずに) 簡単に使用できるようになった。 API 的には、パッケージ名の変更以外は大きな変更点はなさそうである。 とはいえ一部非互換な変更が加わっているので、そこら辺は気を付ける必要がある。 変更内容はリリースノートを見ると良い

    Espresso 2.0 が Android support library の一部としてリリースされた - ひだまりソケットは壊れない
  • Androidの開発現場での学び - ワザノバ | wazanova

    https://www.youtube.com/watch?v=pg6klp-ZntU 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 日に12月の頭から2ヶ月間滞在してますが、いくらなんでも寒すぎます。とはいえ、その合間に深刻な水不足に陥ってるカリフォルニアに唐突に嵐がやってきたりして、世界中異常気象ですね。。 さて、NewCircle / SF Android / AnDevConが主催したAndroid開発のメジャープレーヤー8名による座談会です。2時間近くの長丁場ですが、興味深いコメントだけをピックアップしてみると、ほぼSquareのJake Whartonの独演会のような構成になってしまいました。 Square 皆もよく知ってるように、初期のAndroidの基設計は、Javaで書かれたも

  • Android開発を爆速にする10のコマンドラインスクリプト - クックパッド開発者ブログ

    モバイルファースト室の山下( @tomorrowkey )です。 みなさんはAndroidアプリをビルドするときに AndroidStudioの実行ボタンを押すのと、ターミナルでgradleコマンドを実行するのと、どちらを使っていますか。 クックパッド社内のAndroidエンジニアでもどちらを使うか好みが分かれるのですが、私はたいていターミナルでgradleコマンドを使っています。 AndroidStudioの実行ボタンだとビルドを途中で中止できないことがあるからです。コマンドであればcontrol+cでいつでも中止できるという気軽さからコマンドを好んで使用しています。 開発するうえでIDEなどのGUIツールはとても便利なのですが、実はコマンドを実行する方がはるかに早くストレスなく開発を進めることができることがあります。 今回は私が実際に使っている便利なコマンドラインスクリプトを10個紹介

    Android開発を爆速にする10のコマンドラインスクリプト - クックパッド開発者ブログ
  • Lollipop時代のナビゲーション

    ActionBar.NAVIGATION_MODEがdeprecatedに Lollipop(API Level 21)で、ActionBar.NAVIGATION_MODEが deprecatedになりました。ActionBarのTabとSpinnerの利用が非推奨となります。 AppCompatのActionBar.NAVIGATION_MODEもdeprecateになったので、 実質的にはすべてのVersionにおいてdeprecatedと考えて良いかと思います。 ■ ActionBar上でのTabもSpinnerも非推奨に Tabの代替案はSlidingTabLayout Googleの方からTabの代替案として提示されているのが、SlidingTabLayoutです。 これは、APIに用意されているものではなく、HorizontalScrollViewの拡張実装として、Andro

    Lollipop時代のナビゲーション
  • Welcome to Android Development Training Course! - mixi-inc/AndroidTraining

    Welcome to Android Development Training Course! 前提 このトレーニングコースに入る前に、下記の知識・スキルについて勉強しておいてください。 Java の知識・スキル Java言語プログラミングレッスンや、Effective Javaなどが参考になります。 IDE の使い方 (Eclipse) 基操作が分かる程度で大丈夫です。 ゴール このトレーニングコースを受講することで、下記のような知識・スキルが身につきます。 Android の仕組みが分かる 自分で Android アプリを開発することができる リリース可能な品質を担保できる 準備 このトレーニングコースを受講する上で、下記のものを準備しておいてください。 Android デバイス Android 2.2 以上であることが望ましいです。 開発環境 下記の構成の、まえがきの章を参考に準備

    Welcome to Android Development Training Course! - mixi-inc/AndroidTraining
  • Androidアプリ開発で素早くフィードバックをえるためのライブラリを作りました - クックパッド開発者ブログ

    モバイルファースト室の山下(@tomorrowkey)です。 Androidアプリを開発していて、ふとした時に不具合を見つけたりしませんか。 クラッシュであればDeploygateやCrashlyticsなどでクラッシュレポートを送ることができますが、表示崩れを報告をするにはスクリーンキャプチャを撮ってメールアプリを開き、画像を添付して、送信する、といった手順が必要でなかなか面倒です 。 アプリを開発する側は不具合のあったスクリーンショットがほしい、不具合を報告する人は報告する手順がめんどうといったギャップを解決するためのライブラリを作りましたので、紹介します。 不具合報告する機能を作りました 冒頭のアニメーションgifで一通りの挙動を見ることができます。 このライブラリを使っているアプリを開くと通知領域に「不具合を報告する」という項目が増えます。 不具合を見つけた時にこの通知を選択すると

    Androidアプリ開発で素早くフィードバックをえるためのライブラリを作りました - クックパッド開発者ブログ
  • モバイルアプリのログ収集ライブラリ「Puree」をリリースしました - クックパッド開発者ブログ

    モバイルファースト室の @rejasupotaro です。 クックパッドでは、サービスをリリースしてログを収集して分析して改善してまたリリースして、というサイクルを素早く回すことでより良いものを作るということをウェブではやってきました。 クックパッドのサービス開発のフレームワークをモバイルアプリでも適用したいのですが、モバイルアプリにはウェブアプリと違ったロギングの難しさがあります。 今回はモバイルアプリのロギングの問題点とPureeというログ収集ライブラリについて話します。 モバイルアプリのロギングの難しさ ウェブアプリでは、基的にはサーバー側でログを収集することができますが、モバイルアプリの場合は画面の制御はアプリ側で行われ、APIを介してデータを受け取るため、クライアント側でログを収集して送信する必要があります。 アプリのログを収集するのに、画面遷移をしたりタップするたびにサーバー

    モバイルアプリのログ収集ライブラリ「Puree」をリリースしました - クックパッド開発者ブログ
  • ログ管理でウキウキAndroid Life (Log Management in Android)

    This is a slide to explain how to manage error logs and analytics logs in Android. This slide was presented at Genestream Android tips study group.Read less

    ログ管理でウキウキAndroid Life (Log Management in Android)
  • Android 5.0 Lollipopの開発者オプション詳細解説 | TechBooster | TechBooster

    13項目がデバッグとしてまとめられています。「疑似ロケーションを許可」では疑似的な位置情報の利用を許可します。位置系アプリケーションでは便利な機能です。「デバッグアプリを選択」は項目名からはわかりませんが、アプリケーションの起動前にデバッガをアタッチできる機能です。「Wi-Fiを強制的にモバイル接続に切り替える」は優先的にモバイルデータ通信を利用します。 View HierarchyでView構造をチェックする 開発者オプションのなかに「表示属性検査を有効にする」という不思議な項目があります。これは英語表記のほうがわかりやすいかもしれません。英語では「Enable view attribute inspection」、Viewクラスの属性情報を監査するという意味だと思いますが、直訳したのでしょう。 利用には、チェックボックスを有効にしてから、Android Studio(またはEclips

    Android 5.0 Lollipopの開発者オプション詳細解説 | TechBooster | TechBooster
  • 本当にあったTouchEventの怖い話 - Qiita

    事前知識: ブラウザ毎の差異 Android 2.x, 3.x 2.x, 3.x では伝統的に TouchEvent がまともに使えません。 経験上、一部端末でdocument.createEvent('TouchEvent')するとNOT_SUPPORTED_ERRを吐くなどの現象が見られ、seleniumのこのコードでも、MouseEventsを利用して無理矢理回避しています。 4.x (Stock Browser & WebView) 4.x では、やっと TouchEvent が利用できるようになります。 が、 イベントの初期化方法が後述する iOS のソレと異なっています。同じくselenium上のコードではこのように回避しているのが見受けられます。 // Android's initTouchEvent method is not compliant with the W3C

    本当にあったTouchEventの怖い話 - Qiita
  • Android Action Bar Style Generator

    DEPRECATED: Consider using Toolbar or its support library equivalent. The Android Action Bar Style Generator allows you to easily create a simple, attractive and seamless custom action bar style for your Android application. It will generate all necessary nine patch assets plus associated XML drawables and styles which you can copy straight into your project. Created by Jeff Gilfelt, source code o

  • Androidソースコードレビューで指摘する事が多い項目まとめ - こやまカニ大好き

    業務でソースコードレビューを行う機会が増えたので、複数回指摘した項目や気になった実装などをまとめてみました。 こういう観点をできる人と共有できるといいなあ…。 2014/09/29 23:00 一部修正しました。 業務上ソースコードレビューの名目で仕様・デザインまで見ることになっていたためこれらを先頭に書いていましたが、わかりづらかったため最後にまとめました。 Fragment関連 FragmentとActivityの密結合 Fragmentが特定のActivityから呼ばれることを想定して書かれている場合、そのFragmentとActivityは密結合である場合が多いです。 具体的には、以下の様な実装です。 ActivityのViewを参照する Activityのメソッドを直接呼び出す なぜダメか Fragmentの利点のひとつは優れた再利用性にあります。 Fragmentが特定のAct

    Androidソースコードレビューで指摘する事が多い項目まとめ - こやまカニ大好き
  • 声に出して読みたい Android のライブラリ - その1 - Qiita

    声に出して読みたいObjective-Cのライブラリ8種(2014.7) に触発されて書いてみます。 今回は Square 社製ライブラリを見ていきます。 Picasso 安心と信頼の Square 社製のライブラリです。画像のローディングとキャッシュについて面倒を見てくれますが、画像の加工についても扱っています。 Context、多くの場合Activityのライフサイクルに合わせて画像の読み込みを管理したり、AdapterViewの中にあっては、Viewのリサイクルをハンドリングして、画像のロードをキャンセルしたりもしてくれます。 Transformationインタフェースを実装し、そのロジックを渡すことで、画像の加工もできます。 処理の始まりはPicassoクラスから。Picasso#with(Context)で自動的にオブジェクトの初期化がはじまり(まだの場合)、続けてどこから画像を

    声に出して読みたい Android のライブラリ - その1 - Qiita
  • やさしい設計 〜 Android 編 - Qiita

    アプリを作っていてありがちなこと Android には、画面を構成するための Activity というコンポーネントがあり、概ね MVC フレームワークの Controller に相当する機能を持っています。 MVC といえば、肥大化する Controller というのがよくある問題として挙げられますが、Activity も例に漏れず、往々にして肥大化しがちです。 また、Model も、その責務を詰め込んでいくと肥大化しやすいレイヤと言えます。 この投稿では、Controller や Model の肥大化を極力防ぐためのレイヤわけを、Android アプリ向けに書いていきます。 Activity を綺麗に保つ Activity は、Controller として、様々な UI から受けるイベントを受けて、適切にハンドリングする役割を持っています。 OptionsMenu や ContextM

    やさしい設計 〜 Android 編 - Qiita
  • イマドキなイカした Android のオープンソースライブラリ集 - Qiita

    今から Android やるならチェックしておきたい、厳選イカしたオープンソースライブラリ一覧。 support-v4 や support-v7-appcompat などは公式のものなので割愛。 開発環境 Android SDK Android SDK Installer 公式からダウンロードしてポチポチとチェックを入れてはダウンロードして…が面倒くさいならコレ。 シェルからコマンド一発でダウンロード出来るので、CI で使うのにも便利。 ADB Idea AndroidStudio および IntelliJ 用のプラグインで、IDE から ADB コマンドを簡単に利用できるようにするためのもの。メニューから選択してコマンドを実行できるようにしてくれる。 コード最適化 DI コンテナ Dagger square 社の Android および Java 向け DI コンテナ。 javax.in

    イマドキなイカした Android のオープンソースライブラリ集 - Qiita