次の行に到達すると、アプリがクラッシュします。
HttpEntity entity = response.getEntity();
理由がわからないので、デバッグモードで実行しようとしましたが、Android Studio から次のように言われ続けます。
警告: デバッグ情報が利用できない場合があります。ADB を使用している他のアプリケーションを閉じてください: Monitor、DDMS、Eclipse
他に何も開いていません。実際、PCをリセットしただけです。
ここに私のコード全体があります:
package com.clientserver.jsontest;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.util.EntityUtils;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
/**
* Created by Gabriel on 25/08/13.
*/
public class SyncActivity extends Activity {
private TextView display;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sync_activity);
initComponents();
String name = "Gabriel";
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("nameToSearch", name));
HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, 15000);
HttpConnectionParams.setSoTimeout(httpParameters, 15000);
HttpClient httpClient = new DefaultHttpClient(httpParameters);
HttpPost httpPost = new HttpPost("http://10.0.0.6/jsonTest/login.php");
try {
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
HttpResponse response = null;
try {
response = httpClient.execute(httpPost);
} catch (IOException e) {
e.printStackTrace();
}
HttpEntity entity = response.getEntity(); //ERROR ON THIS LINE
String result = "Nothing";
try {
result = EntityUtils.toString(entity);
} catch (IOException e) {
e.printStackTrace();
}
JSONObject jsonObject = null;
try {
jsonObject = new JSONObject(result);
} catch (JSONException e) {
e.printStackTrace();
}
int numint = 0;
String clientName = "";
String email = "";
double amount = 0;
try {
numint = jsonObject.getInt("numint");
clientName = jsonObject.getString("name");
email = jsonObject.getString("email");
amount = jsonObject.getDouble("amount");
} catch (JSONException e) {
e.printStackTrace();
}
String text = numint + " "+ clientName + " " + email + " " + amount;
display.setText(text);
}
public void initComponents() {
display = (TextView) findViewById(R.id.textView);
}
}