Windows Phone 7 アプリの一部を Android に移植しています。WP7 の世界でサービスを呼び出す場合、呼び出しは非同期です。サービスを呼び出すと、結果が返されたときにトリガーされるデリゲート _completed イベントがあります。その間、私たちは道を進みます。
以下に貼り付けた Java Android コードは、クラウド サーバーで HTTP サービスを呼び出す方法です。Android の世界でサービスを呼び出す方法を教える Android チュートリアルを実行して、このコードを開発しました。どうやら、ここでのサービス呼び出しは同期であるため、結果が返されるまで InputStream in... で始まる命令は実行されません。
これは、Androidで動作するはずの方法ですか?サービスが応答しない場合は、数分間待機した後、タイムアウト例外が発生します。それは良くないね。すべてがハングアップします。
Androidでサービスを呼び出す推奨方法は何ですか? ありがとう、ゲイリー
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
HttpURLConnection urlConnection = null;
try
{
URL url = new URL("http://www.deanblakely.com/REST/api/products");
urlConnection = (HttpURLConnection) url.openConnection();
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
String myString = readStream(in);
String otherString = myString;
otherString = otherString + " ";
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
urlConnection.disconnect();
}
}