私のアプリケーションでは、ネットワーク操作がほとんどありません。例 - データベース操作、ファイルの送受信など。これらのアクティビティの実行時間を制限するにはどうすればよいですか?たとえば、サーバーへのファイル転送操作が1分以内に完了しない場合は、その操作を中止して残りのコードの実行を続けます。これについて少し参考にしてもいいですか?アンドロイドでのネットワークアクティビティの実行時間を制限する方法は?
答えて
httpクライアントのタイプに応じて、操作のタイムアウトを設定してタイムアウト例外を処理できます。ここで
OkHttpでタイムアウトを処理するために、どのように良い説明は次のとおりです。 client.setConnectTimeout(10, TimeUnit.SECONDS); client.setReadTimeout(30, TimeUnit.SECONDS);
タイムアウト例外に設定されたハンドラ(上記の例のように、あなたのHTTPクライアントに好むRetrofit and OkHttpClient, catch connection timeout in failure method
セットタイムアウト、あなたのhttpクライアントに依存します)。
カスタム操作が必要な場合は、タイムアウト処理、あなたがタイムアウトしてバックグラウンド操作を拡張するために、一般的なソリューションを実装することができますので、アイデアのかなり興味深い説明を見つけることができ、バックグラウンド操作が完了したかどう追跡するエグゼキューを使用することができますここに:ExecutorService that interrupts tasks after a timeout
ハッピーコーディング!あなたは、次のコードの助けを借りることができます
:
HttpURLConnection urlc = (HttpURLConnection) urlConnect.openConnection();
urlc.setConnectTimeout(1000); //milliseconds
urlc.setReadTimeout(1000); //milliseconds
Javaのマニュアルによると:
のconnecttimeout
が使用されるように、ミリ秒単位で指定されたタイムアウト値を設定します。このURLConnectionによって参照されるリソースへの通信リンクを開くとき。接続が確立される前にタイムアウトが切れると、java.net.SocketTimeoutExceptionが発生します。タイムアウトがゼロの場合、無限のタイムアウトと解釈されます。
readTimeout
ミリ秒単位で指定されたタイムアウトまでの読み取りタイムアウトを設定します。 0以外の値は、接続がリソースに確立されたときに入力ストリームから読み取るときのタイムアウトを指定します。読み取り可能なデータがある前にタイムアウトが切れると、java.net.SocketTimeoutExceptionが発生します。タイムアウトがゼロの場合、無限のタイムアウトと解釈されます。
okHttpをAndroid 4.4のHttpURLConnectionに使用することをお勧めします。 コードは次のとおりです - >
OkHttpClient client = new OkHttpClient();
client.setConnectTimeout(15, TimeUnit.SECONDS); // connect timeout
client.setReadTimeout(15, TimeUnit.SECONDS); // socket timeout
- 1. xgboost実行時間を制限する方法は?
- 2. CLI PHPスクリプトの実行時間を制限する方法
- 3. javascriptで関数の実行時間を制限する方法は?
- 4. アンドロイド - 時間によってプロセスを制限する方法
- 5. Googleスプレッドシートスクリプトの実行時間制限
- 6. didReceiveNotificationRequest:withContentHandler - 実行時間の制限?
- 7. Ruby/Rails/Passenger/Nginxで実行時間制限を設定する方法は?
- 8. 実行時間を制限するJavaのスレッドのサンプル
- 9. Apacheのスパークジョブの実行時間を制限する
- 10. 実行ファイルが無限大で実行される時間(タイミング制限)
- 11. パイプされたプログラムの実行時間を制限する
- 12. PHP実行時間制限で失敗することのないPHPスクリプトの実行方法
- 13. アクターメソッドの実行時間には制限がありますか?
- 14. Linuxカーネルでタスクのシステムコールの時間を制限する方法
- 15. すべてのテストでmavenのjunitテストの実行時間を制限する方法は?
- 16. スクリプトを実行する権限を制限する方法は?
- 17. 時間のアンドロイドで1つの操作を実行する方法は?
- 18. Cypherのトラバーサル時間を制限する方法は?
- 19. elasticsearchでクエリ時間を制限する方法は?
- 20. Appceleratorでビデオの録画時間と録画時間を制限する方法
- 21. 時間制限は
- 22. ステートチャート:ステートが実行される時間の制限
- 23. AsyncTaskの実行時間を制限する簡単な方法は何ですか?
- 24. トリガーの制限実行時間の合計Googleサービス
- 25. Apache Beamパイプライン(データフロー) - 無制限データの実行時間の解釈
- 26. RemoteWebDriver Javaスクリプトを実行する時間は無制限ですか?
- 27. 実行時にアンドロイドで実行時にEditTextのテキストを変更する方法
- 28. Flinkストリーミング:実行時間を制御する方法
- 29. セロリの時間制限をリセットする方法
- 30. 実行ディレクトリへのPHPファイルアクセスを制限する方法は?