次のコードを使用して、文字列「true」または「false」を返し、2 つのパラメーターを受け取る Web サービスのメソッドを呼び出します。
String isLogedin = readTwitterFeed();
public String readTwitterFeed() {
String Result = null;
StringBuilder URL = new StringBuilder();
URL.append("http://localhost:1539/WCFService1/Service.svc/Login/");
URL.append(username.getText());
URL.append("/");
URL.append(password.getText());
/////////////////////////////
HttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(
URL.toString());
try {
HttpResponse response = client.execute(httpGet);
StatusLine statusLine = response.getStatusLine();
int statusCode = statusLine.getStatusCode();
if (statusCode == 200) {
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(
new InputStreamReader(content));
StringBuilder builder = null ;
String line = null;
while ((line = reader.readLine()) != null) {
builder.append(line);
}
Result = builder.toString() ;
} else {
Result = "error";
}
} catch (ClientProtocolException e) {
Result = "error";
e.printStackTrace();
} catch (IOException e) {
Result = "error";
e.printStackTrace();
}
return Result;
}
ただし、返される文字列は常に空です
なぜデータが返されないのか、エラーは表示されません(テキストビューに戻り値を表示します)、インターネットの許可をそのように設定します
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
そして、サービスが実行されていることを確認してください