サービスからアクティビティを開始するときに時間がかかる問題を回避

Android アプリケーションのコンポーネントには アクティビティ サービス コンテンツ プロバイダ ブロードキャスト レシーバーの 4 種類があります。アクティビティは画面を持つコンポーネント サービスはバックグランドで動作するコンポーネントです。

アプリケーションの形態によっては バックグランドで動作しているサービスからアクティビティを開始して画面表示をしたい といったことがあります。

startActivity メソッドでインテントを送信することでアクティビティを開始する方法が良く知られていますが 実はこの方法には状況によって 5 秒程度の時間がかかるという落とし穴があります。

Fire HD 8をAndroidアプリ開発に使う

2017 7 10 日~11 日までの 2 日間開催されていた Amazon プライムデーで Fire HD 8 が半額の 5,980 円で販売されていたので購入してみました。

この端末には Fire OS という専用の OS が搭載されているのですが 中身はほとんど Android です。

ADB 接続も簡単にできるので Android アプリケーション開発時の動作検証用タブレット端末としても役立ちます。開発用 PC のスペックが低いと Android エミューレーター起動するのも重荷ですからね。実機があるとデバッグも楽になります。

今回は Fire HD 8 ADB を有効にして Android Studio から認識できるようにする方法を解説します。

HTTPSでのjcenterへの接続に失敗する

Android Studio を使用してアプリケーションを開発しているときに 以下のエラーが表示され jcenter に接続できないということがありました。

Could not get resource 'https://jcenter.bintray.com/com/android/tools/build/gradle/1.2.3/gradle-1.2.3.pom'.
Could not HEAD 'https://jcenter.bintray.com/com/android/tools/build/gradle/1.2.3/gradle-1.2.3.pom'.
peer not authenticated

どうやら極めて特殊なプロキシー環境下で HTTPS を使用して jcenter に接続しようとするとエラーになってしまうようです。