私はWebサービスでリクエストしています。サーバからの応答がありません
サーバーからの応答がない場合(サーバーが停止している可能性があるため)、どのようにテストするつもりですか?
エミュレータでどのようにテストできますか?リクエストを送信して応答をブロックして、アプリがこのケースをどのように処理しているかを確認する方法はありますか?そのような場合にも私は何をすべきですか?
私はWebサービスでリクエストしています。サーバからの応答がありません
サーバーからの応答がない場合(サーバーが停止している可能性があるため)、どのようにテストするつもりですか?
エミュレータでどのようにテストできますか?リクエストを送信して応答をブロックして、アプリがこのケースをどのように処理しているかを確認する方法はありますか?そのような場合にも私は何をすべきですか?
次のコードを考えてみましょう:あなたは、サーバーがダウンしているとき、それはおそらくあなたは、サーバーがあるときにやりたいものは何でも行うことができますCatchブロックに行くタイムアウト&を設定する必要が
try {
DefaultHttpClient httpclient = getClient();
HttpGet request = new HttpGet();
SchemeRegistry schemeRegistry = httpclient
.getConnectionManager().getSchemeRegistry();
schemeRegistry.register(new Scheme("https",
new TlsSniSocketFactory(), 443));
URI website = new URI(getString(R.string.u3));
request.setURI(website);
HttpResponse response = httpclient.execute(request);
in = new BufferedReader(new InputStreamReader(response
.getEntity().getContent()));
result = in.readLine();
// Log.d(TAG, "Version Check result = " + result);
} catch (Exception e) {
e.printStackTrace();
// Log.e(TAG, "Error in http connection " + e.toString());
}
をサーバからの応答がありません
StringRequest stringRequest=new StringRequest(Request.Method.POST,reg_url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONArray jsonArray=new JSONArray(response);
JSONObject jsonObject=jsonArray.getJSONObject(0);
String message=jsonObject.getString("message"); //message is to be send by server
builder.setTitle("Server Response");
Toast.makeText(this,message,Toast.LENGTH_LONG).show();
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
エミュレータを使用している場合は、ホストコンピュータのネットワーク接続を切断するだけで、Wi-Fiを無効にしてネットワークケーブルを取り外します。そのような場合には何をすべきですか? - これは、アプリケーションの要件に基づいて決定する必要があります。たぶんユーザーにエラーメッセージを表示して、後でもう一度やり直してみてください。恐らくローカルの何かにデフォルトするかもしれません。 –
あなたはエミュレータでGoogleネットワーク接続をすることができます。また、タイムアウトが必要です。 – Raghunandan
エミュレータでネットワーク接続を切り替えることによって、私が要求した場合に例外が発生します。私はKalturaサービスを使用しています。エラーは 'E/com.kaltura.client.KalturaClientBase:致命的な転送エラーです。私は応答が得られない場合をテストしたい。タイムアウトエラーですか? – Mes