나는이 코드를 가지고 있고 버튼을 클릭하면이 함수가 실행되지만이 함수는 PHP에 두 개의 요청을 보내고 PHP는 데이터베이스에 두 개의 레코드를 저장한다 ...?안드로이드에서 PHP로 두 요청 보내기
public void send()
{
//get message from message box
final String msg = msgTextField.getText().toString();
InputStream is = null;
StringBuilder sb = null;
String result = null;
//check whether the msg empty or not
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
if(msg.length() > 0) {
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("URL");
httppost.setHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("Type", "MSG"));
nameValuePairs.add(new BasicNameValuePair("Message", msg));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
httpclient.execute(httppost);
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
} catch (Exception e) {
Log.e("log_tag", "Error in http connection" + e.toString());
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"), 8);
sb = new StringBuilder();
sb.append(reader.readLine());
String line = "0";
while ((line = reader.readLine()) != null) {
sb.append(line);
}
is.close();
result = sb.toString();
LinearLayout Lay = (LinearLayout)findViewById(R.id.MSGes);
TextView MyView = new TextView(this);
MyView.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
MyView.setText(msg);
MyView.setId(Integer.valueOf(result.toString()));
Lay.addView(MyView);
} catch (Exception e) {
Log.e("log_tag", "Error converting result " + e.toString());
}
} else {
Toast.makeText(getBaseContext(),"Empty",Toast.LENGTH_SHORT).show();
}
및 로그 캣 :
09-15 17 : 50 : 32.328 : SingleClientConnManager 잘못된 사용 : 아직 할당 연결 SingleClientConnManager (3651)/W. 09-15 17 : 50 : 32.328 : W/SingleClientConnManager (3651) : 다른 연결을 할당하기 전에 연결을 해제해야합니다. 09-15 17:50 : 32.758 : E/log_tag (3651) : 결과를 변환하는 중 오류가 발생했습니다. java.lang.ArrayIndexOutOfBoundsException : length = 1; index = 1 09-15 17 : 50 : 35.188 : W/SingleClientConnManager (3651) : 올바르지 않은 SingleClientConnManager 사용 : 여전히 연결이 할당되었습니다. 09-15 17 : 50 : 35.188 : W/SingleClientConnManager (3651) : 다른 연결을 할당하기 전에 연결을 해제해야합니다. 09-15 17 : 50 : 38.168 : W/SingleClientConnManager (3651) : 올바르지 않은 SingleClientConnManager 사용 : 연결이 여전히 할당되었습니다. 09-15 17 : 50 : 38.168 : W/SingleClientConnManager (3651) : 다른 연결을 할당하기 전에 연결을 해제해야합니다. 09-15 17:50:38.538 : E/log_tag (3651) : 결과를 변환하는 중 오류가 발생했습니다. java.lang.ArrayIndexOutOfBoundsException : length = 1; 만약 염려해야 = 1
무엇이 잘못 되었습니까, 고맙습니다. – user3398919