タグ

Androidに関するNagiseのブックマーク (70)

  • Android開発でRxJavaをチームに導入した話 - クックパッド開発者ブログ

    買物情報事業部の八木(@sys1yagi)です。 Android界隈でRxJavaが話題になっていますね。クックパッドアプリ(以後、「体」と表現します)でも先日ついにRxJavaの導入を果たしました。エントリではRxJavaをチームに導入する為に行ったいくつかの取り組みを紹介します。 目次 RxJava導入の失敗 どのような課題を解決するのか 導入の為に機能を分解し、学習コストを考える ブログを書く 低コスト、低リスクに導入する 勉強会を開く RxJava導入の失敗 2014年11月にRxJavaの1.0.0がリリースされました。遂に実用段階かという事で個人的にあれこれ触り、体に導入する機会を伺っていました。ある日、bug fixの為にRxJavaを使うと簡潔になるのではないかと思い気軽にPull Request(以後、PRとします)を送った所、「このタイミングで急に導入する意図はな

    Android開発でRxJavaをチームに導入した話 - クックパッド開発者ブログ
  • Androidソースコードレビューで指摘する事が多い項目まとめ - こやまカニ大好き

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

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

    The sustainable tiny home trend at CES 2025 revived my dream of building a compoundAmid the chaos of CES we got to retreat to the well-appointed calm of sustainable pods, electric trailers and EV RVs.

    Engadget | Technology News & Reviews
  • [Android Advent Calendar] 自作のUSBデバイスを、Androidで動かす

    Android Advent Calendar 2012/12/26(表) 向けの記事です。裏は@l_b__さんです。 今年の後半にかけてAndroidのUSBホスト周りに少し詳しくなってきた、@kshojiです。Android USB MIDI Driverなどというものを作って公開しております。 USBデバイスを自分で作って、Android側でドライバを書いたら、好きなデバイスを作ってAndroidで自由に動かせて、楽しいんじゃないかなー。ということで、今回この記事を書いてみます。 TwitterのTLで尋ねてみると、USB HIDなデバイスが今時の流行っぽいので、それに乗ってみることにします。USBデバイスの自作と、そのデバイスに対応するアプリ作成の参考になれば嬉しいです。 AndroidがUSBホストに対応 Android OS 3.1からUSBホスト機能に対応して、アプリで、Ja

    [Android Advent Calendar] 自作のUSBデバイスを、Androidで動かす
  • 第37回 リファクタリング・カタログ | gihyo.jp

    はじめに 今回は、数多くあるAndroid Studioのリファクタリングメニューについて、1つずつ紹介していきます。表題のカッコは対応するコマンド名です。それぞれの内容の詳細については、IntelliJ IDEA Web Helpが詳しいです。 リネーム(Rename, Rename File) 実はリネームは2種類あります。"Rename..."は前回説明したとおりですが、もう一方の"Rename File..."は今回初めて紹介します。名称からわかるようにファイル名のリネームだけを行います。 図1 "Rename File..."のときの「Rename」ダイアログ Javaのファイルに対して"Rename File..."を実行すると、ファイル名しか変わりません。クラス名はそのままです。"Rename..."でもファイル名のリネームはできるので、正直なんのためにあるかわかりません。

    第37回 リファクタリング・カタログ | gihyo.jp
  • DeployGate - Distribute your beta apps instantly

    Super casual beta testing from day one Start developing amazing new apps with user input from the start! With just a drag-and-drop, you can share apps with your team members instantly. Optimized for app developers No need to increment versions with each update! With real-time crash reporting and UDID auto management for Provisioning Profiles, all the time-consuming development tasks are eliminated

    DeployGate - Distribute your beta apps instantly
  • [Android]OutOfMemoryError(メモリリーク)対策

    AndroidアプリのOutOfMemoryError(メモリリーク)の対策としてやったことのまとめ。 Androidアプリを作っている人ならOutOfMemoryErrorに悩まされた事のある人も多いと思います。 自分も悩まされて色々試行錯誤したので、そのへんをまとめておきます。 まず、OutOfMemoryErrorに関してですが、エラーレポートには大抵、画像の描画、ロード時に発生したと書かれていることが多いですが、画像が直接の原因じゃないことも結構多いです。(もちろん、単純に画像が大きすぎる、使用する画像の数が多すぎることもありますが、その場合はサイズの縮小などを行なってください。) 自分も最初は画像が原因だと思い込んでいたので、BitmapのConfigを変更してアルファ情報を抜いたりとかして使用するメモリ容量を減らして、「対策できた!」とか思ってました。 でも、あんまりエラーレポ

    [Android]OutOfMemoryError(メモリリーク)対策
  • 最近のAndroid事情に対応した「OutOfMemoryErrorを知る」発表スライドを公開しました - ひつじのにっき

    横浜Android and モバイルOS プラットフォーム部で発表した資料です。 資料はAndroidアプリ開発者をターゲットにまとめました。OutofMemoryErrorの発生原理とメモリ管理について最新事情を加味してまとめました(新版、なのはAndroid 1.xのころの発表が古いのにまだ参照されていたりで、さすがに最新事情に合わせて更新したかったのです)。 Androidアプリにおけるメモリ事情は(初期に比べたら)改善していますが、OpenCVなど画像処理の需要、高解像度対応を踏まえると依然として十分とは言いがたいユースケースもあります。そんな中でメモリ資源をうまく使うための指標となれば幸いです。 資料にもある通り書きかけの状態ですのでコメントやmentionなど「こんな情報があるから書き加えて」「ここ調べて」「こういうのがおすすめ」「ここ間違えてる!」というご意見いただければ嬉し

    最近のAndroid事情に対応した「OutOfMemoryErrorを知る」発表スライドを公開しました - ひつじのにっき
  • 電子書籍「Effective Android」10/19 正式版更新 | TechBooster

    β版からパワーアップして全39章、正式版に相応しいボリュームになりました。10/19午後に更新予定です(現在はβ版を販売中です)。 10月19日 正式版 : β版の全21章に加え、18章分の新規書下ろしを追加します。 β版から正式版へのバージョンアップは達人出版会さまのWebサイトより無償でダウンロードしていただけます。 また合わせて紙の書籍販売も決まりました。インプレスジャパンさまより年内発売予定です。 (紙の書籍での校正や編集結果を電子書籍版にも取り込んだアップデートを計画してます。その際、電子書籍には一部の紙面構成(紙のみの付録、索引など)が取り込まれない可能性があります) Effective Android 正式版 章構成

    電子書籍「Effective Android」10/19 正式版更新 | TechBooster
  • Android In-app Billing Overview

    In-app Billing Architecture 請求リクエストと請求レスポンスのやりとりを非同期メッセージループを使って、アプリと Android Market サーバ間で行う 実際にはアプリは Android Market サーバと直接やりとりすることはない アプリは請求リクエストを Android Market application に interprocess communication (IPC) を介して送り、Android Market application から購入レスポンスを非同期の broadcast intent として受け取る コンテンツを配送したり、トランザクションを検証するためのプライベートなリモートサーバを使うアプリ内課金の実装もあるが、in-app billing の実装にリモートサーバは必須ではない メディアファイルや写真等をユーザーのデーバイス

    Android In-app Billing Overview
  • 今から5分で,開発中のAndroidアプリを単体テストしよう (JUnitで自動テストする方法) - 主に言語とシステム開発に関して

    AndroidプログラミングのTOPへ 開発中のAndroidアプリを,単体テストフレームワークJUnitを使ってテストする。 Eclipse上で,サンプルアプリを作り始めてから, アクティビティ内のロジックやUI操作をテストする所までを5分で行なう。 早ければ3分。 記事の末尾には,Androidアプリの自動テストに役立つ情報を集約したリンク集を掲載。 なお,エミュレータを立ち上げていると重くて5分で終わらないので,アプリの動作確認は実機で行なうこととする。 以下から開始。 手順 ここでは新規PJ作成時にテストPJを同時生成するのではなく, 既存PJに対して,テストPJを後付けで新規作成する。 まず,テスト対象のプロジェクトを作成する。 ファイル>新規>Android Application Project で, 「HelloJUnit」という名称で新規PJを作成。 Create Act

    今から5分で,開発中のAndroidアプリを単体テストしよう (JUnitで自動テストする方法) - 主に言語とシステム開発に関して
  • Androidアプリ開発 OpenGL queueEventを使う: AABlog

    カメラが好きなオヤジのブログ。最近は、Androidアプリ開発もやってます。OpenGLやWebGLもありー> 日は、久しぶりにOpenGLネタである。といっても純粋にOpenGLのネタかというとそうでもなく、どちらかというとAndroidの方かな。 OpenGLで何か表示しようと思ったら、GLSurfaceViewを使う必要がある。GLSurfaceViewも、SurfaceViewもどちらも描画専用のスレッドを持っている。onDrawFrameはこの専用のスレッドで実行されている。 SurfaceViewでない単なるビューは。描画用のスレッドがない。アクティビティと同じUIスレッドで描画が行われる。マルチスレッドで動くことになると、スレッド間でのデータ通信が必要になってくる。 描画用のデータと、アクティビティで使うデータがきっちり分かれていれば、スレッド間でデータのやりとりを行う必要

    Androidアプリ開発 OpenGL queueEventを使う: AABlog
  • AsyncTaskLoaderを4ヶ月常用してみて - ナカザンドットネット

    AsyncTaskLoaderに手を出してみる (d:id:Nkzn:20120113:1326478800) の続き。 とりあえず4ヶ月ほどAsyncTaskLoaderさんと仲良くしてみました。 色々あって、AsyncTaskさんとも少しだけ仲良くなりました。 ということで、現在の僕のAsyncTaskLoaderの使い方をメモしておきます。 public class AsyncSampleLoader extends AsyncTaskLoader<String> { private static final String tag = "AsyncSampleLoader"; /** * 呼び出し元からの値渡し用フィールド */ List<Hoge> mHogeParams; String result; // 定型 public AsyncSampleLoader(Context

    AsyncTaskLoaderを4ヶ月常用してみて - ナカザンドットネット
  • Androidアプリのメモリリーク対策手法 | Bescottee

    googleAndroid開発者向け ブログに「Memory Analysis for Android Applications」という記事があったため、自分のために訳しました。参考になれば幸いです。エントリを見るうえで、eclipse の基的な使い方を理解している必要があります。 Androidアプリのメモリ解析手法 Dalvikランタイムは、ガベージコレクトしてくれるかもしれませんが、それはメモリ管理を行わなくてもよいというわけではありません。モバイル端末上でのメモリ利用状況は特に注意を払わなければなりません。投稿では、開発するアプリのメモリ利用状況の把握を支援する Android SDK で提供しているメモリプロファイリングツール群のいくつかを紹介させて頂きます。 メモリ利用時の問題はいくつか明らかになっています。例えば、もしあなたのアプリがユーザの画面タッチ操作のたびにメモ

  • throw Life - Androidアプリのバグ報告システムを考える

    JavaにはNullPointerExceptionなどのcatchしなくてもclass load validationを素通りできる例外があります。 バグの多くはそういった例外を考慮しないことのようです。 なので、今回はそういった例外の「IndexOutOfBoundsException」を発生させます。 ボタンをタップすると例外が発生します。 oobBtn.setOnClickListener(new View.OnClickListener(){ public void onClick(View v) { int index = 5; String[] strs = new String[index]; String str = strs[index];//ここでIndexOutOfBoundsException }});

  • 【番外編】Androidの爆速エミュレータ環境を構築する | DevelopersIO

    ※追記しました. OSXの方々は注意点もありますので、追記も併せてご覧ください 2012.10.17 Android爆速エミュレータ環境の作り方 Android開発者界隈のTwitter TLで、「Androidのエミュレータが低速で使い物にならないとか言って許されるのは小学生までだよねー。きゃははー」的な会話が繰り広げられていたので、これは知らないのはマズイのでは、という危機感から、一念発起し、爆速Androidエミュレータ環境の構築を試みました Androidのエミュレータが低速で使い物にならないというのは、すでに過去の話だそうです。真の情報強者の方々は、すでに爆速エミュレータでの開発を行っているようです。中には、実機よりも早いので、実機代わりに使ってるという方もおられるようです もうAndroidのエミュレータが遅いなんて言わせない!iPhoneのエミュレータに匹敵する(?)速度を手

    【番外編】Androidの爆速エミュレータ環境を構築する | DevelopersIO
  • 現状 #Scala で #Android をやるのは思っている以上に罠が多いという話

    Kenji Yoshida @xuwei_k @tototoshi あとでblog書くとか言ってたけど結局書いてくれてないなぁ・・・。あと「android-plugin のこの設定はこうなっていたほうがいいんじゃ?」「そーかもしれないですね、じゃぁpull req送ってくださいよ」「えー(めんどくさい」というやり取りとか 2012-09-05 00:16:00

    現状 #Scala で #Android をやるのは思っている以上に罠が多いという話
  • Android Activity, Task, Stack, Launch mode

    アクティビティ と タスク と スタック と 起動モード (と ライフサイクル) 開発の基礎のアクティビティとタスク以降 がとっても(日語が)わかりにくかったので、 私なりの解釈を書くことにしました。 (もしかしたら間違ってるかもしれないよ) なんで、わかりにくいかと言うと、用語の定義がされてないからなんですね。 なので、ちゃんと定義(みたいなの) ・アクティビティ これはいいよね。いわゆる Activity です。 ・ルートアクティビティ タスクを開始するアクティビティのこと。 通常だと、AndroidManifest.xml の タグのなかに <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNC

    Android Activity, Task, Stack, Launch mode
  • WebViewでgifアニメを表示してるとWebViewCoreThreadが動き続ける - ほげほげ(仮)

    WebViewを使っていて電池の消耗が激しく調査したところ WebViewCoreThreadがずっと動き続けているのがDDMSから確認できました。 バックグラウンドに移行したときも動き続けてました。 更に色々調べたらgifアニメを表示している場合だとWebViewCoreThreadが動き続けるみたいです。 (他にも発生する可能性はあるかもしれませんが…) 解決策はonResumeとonPauseに以下の処理を付け加えるだけです。 @Override protected void onResume() { super.onResume(); mWebView.resumeTimers(); } @Override protected void onPause() { super.onPause(); mWebView.pauseTimers(); } WebViewでgifアニメを表示す

    WebViewでgifアニメを表示してるとWebViewCoreThreadが動き続ける - ほげほげ(仮)
  • タオソフトウエア株式会社 Taosoftware.co.Ltd.

    「tPacketCapture」はroot権限を必要としないパケットキャプチャアプリです。 「tPacketCapture」はAndroid OS 4.0(Ice Cream Sandwich)で提供されているVpnServiceを利用して端末の通信内容をキャプチャします。 これにより、既存のパケットキャプチャアプリでは必須とされていたroot権限を取得していない端末であっても通信データをキャプチャすることが可能です。 通常、VPN(Virtual Private Network)というと、トンネリングによりパケットに新しいヘッダを付加して外部と通信を行うイメージですが、このアプリではパケットの送受信時に受け取ったデータの記録のみを行います。 記録したデータは一般的なパケットキャプチャツールで読み込み可能なPCAP形式で出力されるため、 ファイルをPCに転送してWiresharkなどの解析

    Nagise
    Nagise 2012/08/06
    Android 4向けのパケットキャプチャ。端末上で簡易にアプリの通信先をチェックできるのかな