タグ

ブックマーク / qiita.com/KeithYokoma (10)

  • 幸せな非同期処理ライフを満喫するための基礎から応用まで - Qiita

    クライアントアプリにとって、マルチスレッドプログラミングは避けては通れない重要な概念です。しかし、気をつけないとハマるポイントも多く、初めてクライアントアプリを学ぶ人たちからすると、複雑で難解な取っつきづらいものでもあります。ここでは、スレッドの基から、効率的な使い方、また複雑化しやすいポイントをシンプルに実装するためのノウハウを見ていきます。 TL;DR スレッドの取り扱い方を知る Threadをそのまま使わず、AsyncTaskやIntentService、時にThreadPoolExecutorを使ってスレッドの使い方を効率化する。 複雑な処理フローをシンプルに扱うためのフレームワークを導入する PromiseやRxAndroidなどで、複雑化しやすいポイントを整理する。 スレッドの基 スレッドといえば、ThreadクラスやRunnableクラスがベースにあります。以下のようにす

    幸せな非同期処理ライフを満喫するための基礎から応用まで - Qiita
  • まだ CircleCI で消耗してるの? - Qiita

    概要 もう随分と前に TravisCI から CircleCI へ乗り換えたのですが、いかんせん、便利な CircleCI をもってしても Androidプロジェクトのビルド時間は長くなり続け、ついに 1 回のビルドに 20 分を費やすほどにまで成長してしまいました。いくつか無駄を省いたり、キャッシュをしてみたりと言った策を講じたものの、目立った改善が得られませんでした。そこで CircleCI を脱却してみることにしました。現在、CircleCI を脱却し Wercker を利用することで 1 回のビルドが 5 分ほどで終わるようになりました。この記事には、何がどのようにして短時間で済むようになったかを書き記してあります。 問題の根源 そもそも CircleCI で時間がかかっている部分はどこかというところから見ていきます。現在のプロジェクトで使用している分には、以下に上げる部分でか

    まだ CircleCI で消耗してるの? - Qiita
    lEDfm4UE
    lEDfm4UE 2016/03/20
  • その Dialog は本当に必要ですか? - Qiita

    ダイアログは、ユーザとの対話の中でも特に「確認」や「注意」を促すために用いられる UI コンポーネントの一つです。二択あるいは三択の項目を配置して、YES/NO や OK/Cancel などのインタラクションを用意することで、ユーザとの対話をすることが出来ます。あるいは、単に現在の状態を表示(読込中など)し、その他の各種操作をブロックすることで、待つ必要が有ることを明示することも出来ます。 一方で、ダイアログはその表示が画面の前面に大きく表示され、時にダイアログ以外へのインタラクションを禁じる場合もあることから、使いどころを間違うと非常に陶しく見えるものでもあります。また、ダイアログのキャンセル操作が出来ない場合において、いつまでもダイアログが出続けてしまうとユーザの負担は大きくなります。 この記事では、ダイアログを使用している場面において、その他の表現方法や実装の工夫を使うことができる

    その Dialog は本当に必要ですか? - Qiita
  • うまくメソッド名を付けるための参考情報 - Qiita

    クラス名編をつくりました あるメソッドを定義しようとするとき、そのメソッドを使う人達が名前からどんなことをするか理解できるようにするには、メソッドの内容に応じて適切な情報量の命名が求められます。 この記事では、メソッド名に用いることでどのような情報が提供できるかを見ていきたいと思います。 真偽値を返すメソッド 場所 単語 意味 例

    うまくメソッド名を付けるための参考情報 - Qiita
  • なぜ iPhone の画像は Android の画像よりもずっと高品質なのか - Qiita

    AndroidiPhone との比較は多くの点で議論されており、どちらがより良いかは、Android の画像の質は iPhone とくらべてずっと劣るという点を除けば、未だ結論が出ていません。Facebook、Twitter、Instagram 等どれを使っていても、写真をとって、フィルタをかけて、ソーシャルネットワーク上に公開すると、いつも Android から投稿される写真は画質が劣化しています。しかし何故でしょう? 私達は昨年の間調査をし、そしてついに、Google が犯したほんのちょっとしたミスが原因であることを突き止めました。それは当にちょっとしたミスでしたが、その影響はすべての画像を扱うアプリケーションに波及するほど大きく、現在に亘っても影響が続いています。 問題は、libjpegです。 libjpegといえば、数多くのオープンソースプロダクトでも使用されており、And

    なぜ iPhone の画像は Android の画像よりもずっと高品質なのか - Qiita
  • チームとして少ないミスで素早くアプリを継続的・持続的に作り続けるためのメソッド - Qiita

    この投稿は DroidKaigi で話そうと思ったけど採択されなかった RejectedKaigi な内容です。 プログラムは、書けば書くほど複雑になります。行数が増え、分岐や繰り返しが増え、メソッドが増え、クラスが増え、パッケージが増え、管理するものは日に日に増えていきます。これらのものを使う側からすると、使うものが増えるということは、それだけ覚えることが増えることになります。勿論、IDE やエディタプラグインによって、そのような労力が極力減らされることもありますが、覚えることが少ないに越したことはありません。 この記事では、IDE やエディタプラグインはひとまず脇に置き、チームでコミュニケーションを取りながらコードを書くという観点で、従来のプログラミングのプラクティスを基に、開発時のミスを少なくし、チームで素早くアプリを作り続けていく方法論を深めていこうと思います。 Agenda 型を

    チームとして少ないミスで素早くアプリを継続的・持続的に作り続けるためのメソッド - Qiita
  • Web な人もアプリな人も、これから新しく Android アプリを作るなら抑えておきたいポイント3選 - Qiita

    Web な人もアプリな人も、これから新しく Android アプリを作るなら抑えておきたいポイント3選Androidandroid開発 概要 Lollipop が発表されてから時間も立ち、Android Auto、Android Wear、Android TV と、多様性を見せ始めた Android ですが、今後とも多種多様なデバイス向けに様々なアプリを作っていく流れがあるなか、新しくアプリを作るなら抑えておきたい要所をまとめました。 TL;DR 抑えるところは 3 つ。 画面とライフサイクル 非同期処理 互換性 かなり端的にいうと、Activity や Service などのライフサイクルとうまく付き合いながら、コードの構成のレイヤー化を行い、非同期処理を簡潔に記述できる準備をしておくことと、非同期処理とあわせてマルチスレッドプログラミングの基を抑えておくこと、互換性への準備を最初にし

    Web な人もアプリな人も、これから新しく Android アプリを作るなら抑えておきたいポイント3選 - Qiita
  • アプリがバージョンアップしたときの手続きをアノテーションを使って整理する - Qiita

    アプリのバージョンを上げた時、何かしら互換性を保つための作業が必要なことがあります。 たとえば、データベースのマイグレーションをしたり、その他永続化したデータを書き換えたり、など。時間のかかるものもあれば、かからないものもあります。 王道なやり方としては、Application#onCreate()でバージョンを覚えておいて、次にApplication#onCreate()に来た時に覚えておいたバージョンと PackageManager から取ってきたバージョン情報を突き合わせて、バージョンが変わっていたら、バージョンごとに必要な処理をする、と言った感じでしょうか。 public class MyApp extends Application { @Override public void onCreate() { super.onCreate(); if (isVersionChange

    アプリがバージョンアップしたときの手続きをアノテーションを使って整理する - Qiita
  • 世の中にはどんなライブラリがあって、どんなふうに動いているのかをサクッと見たい人に送る素敵アプリ - Qiita

    GitHubGoogle Group を眺めていると、実にたくさんのライブラリプロジェクトがあります。 UI に関連するものもあれば、設計を整理するのを助けてくれるものもあり、様々です。 特に、UI に関連するものは、実際に動かすとどうなるのかが気になるところ。しかし、必ずしも README にスクリーンショットがあるとは限らないのが現状です。また、スクリーンショットがあっても、操作感がわからなかったりすることもあります。 そんなあなたへ、いろいろなライブラリのサンプルを寄せ集め、実際に動く様子を手に持って触れるアプリがありますのでご紹介。 for Android: Libraries for Developers for iOS: Libraries for Developers 片っ端からライブラリを寄せ集め、デモも組み込まれているすぐれもの。ライブラリの Author やライセ

    世の中にはどんなライブラリがあって、どんなふうに動いているのかをサクッと見たい人に送る素敵アプリ - 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
  • 1