It’s easy to get comfortable with boilerplate setup code, so much so that we gloss over the finer details. I’ve experienced this with LayoutInflater (which coverts an XML layout file into corresponding ViewGroups and Widgets) and the way it inflates Views inside Fragment’s onCreateView() method. Upon looking for clarification in Google documentation and discussion on the rest of the web, I noticed
AndroidのBuildを別マシンで行うスクリプト書いたった - Qiitaがとても興味深かったので、Google Compute Engineのインスタンスでビルドする環境の構築を試してみました。体験としては最高だったので、環境構築の手順を簡単にまとめます。 解決したいこと 前述の記事で語られている通り、Androidアプリケーションのビルドはとても時間がかかります。しかもCPUをフルで持っていくのでビルドしているあいだは他の事ができません。そこでビルドの処理を別のマシンに委譲することで、待っている時間を有効に使えるようにします。 Google Compute Engineのインスタンスを作る まずGoogle Compute Engineのインスタンスを作ります。環境としては次を選択しました。 - ゾーン: asia-east1-a - CPU: vCPUx2 (n1-standar
追加 2017-06-21 これを使ったほうがcoolです。 gojuno/mainframer: Tool for remote builds. Sync project to remote machine, execute command, sync back. 2016-11-21 23:44 テストに対応 2016-11-14 13:12 クラウドでの実行方法追記 この記事を3行で Androidはビルドが重い。 CPU100%なので開発マシンがその間使えない。 別のマシンでビルドする。 問題 遅い、遅い、AndroidStudioのビルドが、遅い。 とりあえずビルドを始めるとこうなる。 これが、これくらい続く この間はAndroidStudioでコード入力も出来ない。ブラウジングもできない。本を読むしか無い。お陰で積ん読が減った。でも納期はやってくる。 ビルドが重いのは仕方ない。
GoogleがAndroid Developersサイトで公開しているAndroidプラットフォームバージョンごとのデータによると、Android 4.4 KitKatとAndroid 6.0 Marshmallowのシェアがほぼ並んでおり、Android 7.0 Nougatは0.3%のシェアを初めて獲得している。 今回のデータはPlayストアアプリが11月7日までの7日間に収集したもので、0.1%以下のバージョンは除外されている。Googleではほぼ毎月データを発表しているが、10月分は発表されていないため、変動は2か月分となる。 Marshmallowは2か月間で5.3ポイント増加して24%となり、2.5ポイント減で25.2%のKitKatとほぼ並んだ。Android 5.0 Lollipopは1.8ポイント減の11.3%だが、Android 5.1が0.9ポイント増の22.8%とな
By Jamal Eason, Product Manager, Android With the release of Android Studio 2.2, the time has now come to say goodbye to the Eclipse Android Developer Tools. We have formally ended their support and development. There's never been a better time to switch to Android Studio and experience the improvements we've made to the Android development workflow. Android Studio Android Studio, the official IDE
とりあえず正式版がでたので、ちょこちょこ触りながらメモ 新機能的なのは全部触れていないので、触ったら追記する予定 状況追記(2016/9/29) フルパッケージ構成 ビルドが通る環境 android gradle plugin 2.1.+ のまま動かす android gradle plugin 2.2.+ に変更する tools:overrideLibrary によるlibrary側のmanifest宣言無視 tools:overrideLibrary に関して(2016/10/11追記) 2.2.+ ベースで gradle runtimeのバージョンを上げてみる twitterみててちょっと思ったこと 新機能的な物の調査 Build Cache Java8 support Layout Editor Layout Inspector APK Analyzer Espresso Test
Android では指定された時間、または、一定時間毎に処理を実行するために AlarmManager が用意されています。 例えば、10秒毎にサービスを実行するには以下のように記述します。// 実行するサービスを指定する PendingIntent pendingIntent = PendingIntent.getService(context, 0, new Intent(context, SampleService.class), PendingIntent.FLAG_UPDATE_CURRENT); // 10秒毎にサービスの処理を実行する AlarmManager am = (AlarmManager) context .getSystemService(Context.ALARM_SERVICE); am.setRepeating(AlarmManager.ELAPSED_RE
PowerManager powerManager = (PowerManager)getSystemService(POWER_SERVICE); Wakelock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK , "MyWakelockTag"); // wakeLock開始 wakeLock.acquire(); // 処理 // wakeLock解除 wakeLock.release(); これでも問題なく動くのだが、Androidではスリープ時にBroadcastを扱うための便利な仕組みが用意されている。 WakefulBroadcastReceiver WakefulBroadcastReceiverはSupport Libraryに含まれるBroadcastReceiverのサブクラスであ
個人的に一番重要なこと Q. AlarmMangerで設定したアラームはDoze中に発火されるか? A. 浅いDoze中は発火される。深いDoze中は発火されない。 深いDozeから抜けるアラームもAPI 23で追加されたが、Doze中は浅いDoze深いDozeにかかわらずネットワークアクセスが原則不可能1なので、これまで通りにAlarmManagerでなんでもできるというわけではなくなった。 Dozeの概要 簡単に言うと、Android端末が使われていないときにDoze(居眠り)状態に入ってバッテリー消費を抑えるための機能。 ※ 画像はAndroid 7.0 Behavior Changesより引用 端末が バッテリー駆動(つまり電源プラグに接続されていない)状態 スクリーンOFFから一定時間経過 かつ静止状態 (Stationary)2 ならば端末はDoze状態になり、ネットワークは遮
Motivation KITKAT以降でAlarm発火のタイミングがInExactになり、MARSHMALLOWでDozeが採用され更にややこしくなったAlarmManagerについてまとめておく。 Motivation Exact指定について windowLengthを自由に設定したい場合 Dozeへの対応について Dozeについて Doze下でのset()およびsetExact()の挙動 Doze下での setAndAllowWhileIdle()およびsetExactAndAllowWhileIdle() Doze下でのsetAlarmClock() その他の気づき Exact指定について はじめに、KITKAT以降から登場するExact指定についてまとめる。 Exactのついたメソッドはその名の通り、遅延せずに発火する。 厳密にはFrameworkが極力遅延の無いように発火する。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く