目次 はじめに 技術選択の基本的な方針 技術選択の各論 HTTP Client Dependency Injection View Injection Asynchronous Control Flow Object Relation Mapper Logging Fragment はじめに 技術部の id:gfx です。 Android版クックパッドアプリのリニューアル*1 から約1年たちました。現在はリリースごとに5人程度がコミットし、2週間に1度リリースを行う開発体制となっています。プログラミング言語はJavaで、コメントも含めたアプリのソースコードの行数は約15万行です。 本エントリでは、Android版クックパッドアプリで使っている技術、具体的にはライブラリやフレームワークについて紹介します。また、そのための技術選択のアプローチについても概説します。 技術選択の基本的な方針 まず
このガイドラインについて このガイドラインは既存のアプリやレビュー等を参考に、ユーザーが期待するであろう状態をまとめたものです。 アプリの開発に関わっている方たちが日々の動作確認を実施する中で、こういった点に気付いてほしい、というチェックリストになっています。 ※項目の中にはOSや端末に依存する部分も含まれます。 インストール 初回インストールが問題なく完了すること 既にインストールされている場合、アップデートが問題なく完了すること 記録メディア対応(Android) インストール後、記録メディアへアプリが移動できることが望ましい ※但し、記録メディアへアプリを移動した場合、一部の機能が制限される(はず)←ホームのウィジェット等 起動 本体に保存しているアプリが正常に起動できること 記録メディアへ移動しているアプリが正常に起動できること ログイン 初回インストール後 登録済みアカウントで利
スマートフォンやタブレットが主流になりつつあるが、それらモバイルデバイスでWebのデバッグするのは楽ではない。User Agent文字列を変更してモバイルデバイス上のブラウザの振りをしたMacやPCのブラウザからデバッグする方法もあるが、モバイルデバイスのブラウザの機能がMacやPCと同一ではなく、モバイル特有の状況もあるため、モバイルデバイスそのものを使った状態でデバッグしなければいけないことも多い。 そのような際に使われるのがリモートデバッグだ。 Mac/PCとAndroidの両方にブラウザを提供している主流ブラウザとしてはChrome、Firefox、Operaがあるが、このリモートデバッグ機能はこの3種のブラウザすべてに備わっている。また、ブラウザ開発元ではないが、Adobeもリモートデバッグ機能を提供している。すでに使っている人も多いと思うし、それぞれ多くの情報が提供されているの
HTML5でiPhoneやAndroid向けのハイブリッドアプリを作るのが最近の流行りみたいです。ハイブリッドアプリとは、外面は普通のアプリとしてAppStoreやGoogle play marketでインストールできるものの、その中身や一部がHTML5で記述されているアプリです。 最近の有名な例だと、CookpadやLinkedIn、はてなスペース、少し前にネイティブに移行してしまいましたがfacebookのモバイルアプリもHTML5を使って記述されていました。GREE界隈で言われているらしいガワネイティブっていう言葉もハイブリッドアプリを指します。ちょっとググってみると、2016年には企業向けのアプリの50%がハイブリッドアプリになるという予測もあります。 ハイブリッドアプリの何がいいかというと、Objective-CとかJavaとかがわからなくてもウェブ系技術者であればAndroid
Android Designというサイトがなかなか面白かったので訳してみました。 アプリを作る上で気をつけるべき事を一般論とAndroid特有の事がそれぞれ書かれてあります。 ようこそAndroid Designへ これはAndroidアプリの優れたデザインをする方法を学ぶためのものです。 クリエイティブビジョン 目次 始めに・クリエイティブビジョン ・デザイン原則 ・UI概要 スタイル・デバイスとディスプレイ ・テーマ ・タッチフィードバック ・測定基準とグリッド ・タイポグラフィティ ・色 ・アイコンデザイン ・文章の書き方 パターン・NewAndroidでの新しい事 ・ジェスチャー ・アプリの構造 ・ナビゲーション ・アクションバー ・マルチペインレイアウト ・スワイプビュー ・セレクション ・通知 ・互換性 ・純粋にAndroid 開発用の部品達・タブ ・リスト ・グリッドリスト
.app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads
こんにちは。Androidユニットで開発とスクラムマスターをしています、横幕です。すっかり寒くなって、朝起きるのが辛い季節になりました。 先日、Android(TM)の様々な機種に依存する問題を吸収するためのライブラリプロジェクトをmixi, IncのGitHubリポジトリで公開しました。 今回は、このライブラリプロジェクトを公開するに至った経緯をお話しようと思います。 様々な種類の端末に対応するために乗り越えてきた困難 現在、Androidを搭載した端末には、多種多様なものがあります。 そして、OSのバージョンごとの違いだけでなく、同じAndroidを搭載していても、端末ごとに微妙に挙動が異なることがあります。 mixi公式クライアントアプリでも、端末ごとに微妙に挙動が異なることで発生する問題にいくつか直面してきました。 特定の端末で、文字が9,000文字までしか入力できない EditT
AndroidからTwitterへアクセスするためのライブラリとして,Twitter4Jが有名です. これを使ってみようと,「Android Twitter4J」と検索すると 認証にWebViewを使った例がたくさん出てきます. ・・・いや,ちょっとまて. それはちょっとまずいだろう. そういうわけでもうちょっと賢い方法を探してみました. 何がまずいのさ 「Android Twitter4J」と検索すると,上位にこんなページが出てきます. Twitter4jを使ってOAuth認証をアプリ内で行う方法 Twitter4j-2.2.xを使ったOAuth認証のコーディング例 twitter4jでツイートする Android+Twitter4JでOAuthするためのソースコード 上のサイトでは次の様は方法をとっています. アプリ内にWebViewを貼り付け WebViewでTwitterの認証画面
少し前の話ですが、Facebook CEOのマーク・ザッカーバーグ氏の発言が話題となりました。2012年9月11日に行われた米TechCrunchのイベントで同氏は、モバイル端末向けアプリを提供するプラットフォームとしてHTML5に賭けたのは同社始まって以来の戦略上最大の失敗だった、と発言したのです。 TechCrunch Disrupt SF 2012で話すマーク・ザッカーバーグ氏 ネイティブかHTML5かという対立軸 モバイルアプリの世界では現在、「ネイティブアプリか、HTML5か」という構図で技術が語られることが少なくありません。実際、両者には一長一短があり、ケース・バイ・ケースで使い分けられています。機能面や応答性ではネイティブアプリが有利ですが、HTMLを取り巻く開発環境は急速に進化していて、中長期的にはHTML5の普及が進むと見るのが一般的です。それだけに、ザッカーバーグ氏の発
スマートフォン(ios、android)向けのウェブサイト・ウェブアプリを作る際に個人的によく使うhtml、css、javascriptの備忘録。 html関連 headタグ内での設定<!-- //デバイスサイズにあわせて表示領域を変更する --> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- //電話番号のリンクを無効化 --> <meta name="format-detection" content="telephone=no"> <!-- //ホーム画面用アイコン --> <link rel="apple-touch-icon" href="icon.png"> <!-- //ホーム画面用アイコンの光沢を無効化する --> <link rel="apple-touch-icon
スマートフォンだとHTML5が使えるということで、意気揚々とCanvasとかバリバリ使いたくなるのですが、罠も色々あったりするのでそんなおはなしです。 スマートフォンでウェブアプリを作る時、どのOSのどのバージョンをサポートするかは悩ましい問題ですが、iOSは4.0以上でAndroidは2.0(2.1)以上辺りが落とし所でしょうか。 今でも2.1の端末としては、初代XperiaとIS04(REGZA Phone)などがあります。 iOS3はどうするかは悩みどころですが、canvasのfillText辺りにバグがあったりで今回は考慮していません。。。 詳細は@yukobaさんのブログにとても分かりやすく説明されていますので、自分が試した回避法について書きたいと思います。 http://d.hatena.ne.jp/yukoba/20100322/p1 Android Eclair(2.0/2
@keyframesとAndroid CSS3の@keyframesでアニメーションを作成しているんですがAndroidでかなりバグがあるようです。 transformに複数の値を指定すると動かない @-webkit-keyframes hogeName{ 0% {-webkit-transform:scale(1,2)} 50% {-webkit-transform:scale(2,2) translateY(10px)} 100% {-webkit-transform:scale(1,1) translateY(0)} } サンプル というようにtransformに複数の値が不規則に入る場合Androidでは動作しなくなることがあります。(このサンプルだとscaleの指定が無視される) @-webkit-keyframes hogeName{ 0% {-webkit-transform
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く