私はAndroidのものを使ってアプリケーションを書いていますが、samplesのほとんどは、アクティビティを使用していてもUIを使用しません。私はまだAndroid Thingsアプリにバックグラウンドスレッドを使用する必要がありますか?Android ThingsアプリにUIがない場合は、バックグラウンドスレッドを使用する必要がありますか?
答えて
技術的には、Android ThingsアプリにはUIがあります。通常のAndroidアプリ(setContentView()
、View
、ViewGroup
など)でできることはすべてAndroid Thingsアプリでも実行でき、ディスプレイに接続されたボードを使用するとこのUIはディスプレイに表示されます。実際、ディスプレイがthis oneなどのタッチをサポートする場合、通常のAndroidアプリのようにUIとやりとりすることもできます。
標準のUIツールキットを使用するかどうかに関わらず、アプリケーションは他のアプリと同じように、Androidのスレッドポリシーに準拠する必要があります。メインスレッドでネットワーク操作を実行することはできません。他のアプリと同様に、オペレーティングシステムはアプリのメインスレッドの応答性を監視していますので、周辺機器とのやりとりが長時間実行またはブロック操作を実行できる場合は、バックグラウンドスレッドを使用してアプリケーションが応答していないとシステムが判断しないようにする必要があります。
Android ThingsはAndroidアクティビティの入力イベントシステムを使用して、ハードウェア周辺機器からの入力を受け取ります。つまり、ボタンがブレッドボードにプッシュされたとき、アクティビティはこれをキーイベントとして受け取ります。
バックグラウンドスレッドを使用しない場合、これらの入力イベントを解釈および/または受信できるように、アプリがコードを実行している可能性があります。
このため、オペレーティングシステムは引き続き標準のスレッドポリシーを実施し、なぜバックグラウンドスレッドを使用する必要があるのでしょうか。
ドキュメントhttps://developer.android.com/things/sdk/index.htmlから:
しかし、Androidの絞り込みを表示する必要はありません。グラフィックディスプレイがないデバイスでは、アクティビティはまだAndroid Thingsアプリの主要コンポーネントです。これは、フレームワークがすべての入力イベントをフォーカスを持っているフォアグラウンド・アクティビティに配信するためです。あなたのアプリは、サービスなどの他のアプリケーションコンポーネントを介してキーイベントやモーションイベントを受け取ることはできません。
- 1. ++ varを使用する必要がある場合はありますか?
- 2. サーバコードを知っている場合は、Android APPにFirebaseを使用する必要がありますか?
- 3. Android用アプリ - どの言語を使用する必要がありますか?
- 4. RESTfull APIの場合はCORSを使用する必要がありますか?
- 5. Azure AD B2Cを使用する場合は、クロムをxamarin androidにインストールする必要がありますか?
- 6. コードを再利用する予定がない場合、ユーザーコントロールを使用する必要がありますか?
- 7. AndroidアプリでPHPセッションを使用する必要がありますか?
- 8. VSを使用しない場合は、MS Team Foundation Serverを使用する必要がありますか?
- 9. 既にstrictを使用している場合は警告を使用する必要がありますか?
- 10. なぜクラスがlaravelエイリアスにある場合でもクラスを使用する必要がありますか?
- 11. RMOを使用している場合、プッシュまたはプルサブスクリプションを使用する必要がありますか?
- 12. ビューがない場合は、onLayoutをオーバーライドする必要があります
- 13. 大きなアプリにハイブリッドアプリを使用する必要がありますか?
- 14. "extend AnyVal"にメソッドがない場合、型を使用する必要がありますか?
- 15. InverseBindingAdapterはいつ使用する必要がありますか?
- 16. この場合、super().__ init __()を使用する必要がありますか?
- 17. 改善が必要なアンドロイドアプリがあり、iOSで同じアプリを使用する必要がある場合、どのツールを使用する必要がありますか?
- 18. SQL - 結合を使用する必要がありますか?
- 19. modリライトを使用している場合は、ProxyPassReverseを使用する必要がありますか?
- 20. $ scope.apply()を使用する必要があります。遅い場合があります。
- 21. hasOwnProperty()の代わりにin演算子を使用する必要がある場合はありますか?
- 22. アーキテクチャデザインパターンはいつ使用する必要がありますか?
- 23. 型略称/エイリアスを使用する場合、なぜfunキーワードを使用する必要がありますか?
- 24. wkWebViewはいつ使用する必要がありますか?
- 25. 必要なモジュールが見つからない場合があります。
- 26. Androidは非ブロッキングソケットプログラミングで使用する必要があります
- 27. アドバンスドExcel Sumif(VBAが必要な場合があります)
- 28. AngularJS:require 'ngmodel'を使用する必要があり、ディレクティブにオプション(?、^、?^)が必要な場合
- 29. Facebookアプリ:OAuthExceptionは:アクティブなアクセストークンを使用する必要があります
- 30. Android Phonegapアプリで使用する必要があるMediaオブジェクトの数に制限はありますか?