要将多个选中的值数据发送到PHP服务器,可以使用Android中的HttpClient或者Volley库进行网络请求。以下是使用HttpClient和Volley两种方法的示例代码:
使用HttpClient发送POST请求:
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.protocol.HTTP;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private final String SERVER_URL = "http://your-php-server-url.com/submit_data.php";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取选中的值数据
List selectedValues = new ArrayList<>();
selectedValues.add("value1");
selectedValues.add("value2");
selectedValues.add("value3");
// 将选中的值数据发送到PHP服务器
sendDataToServer(selectedValues);
}
private void sendDataToServer(List selectedValues) {
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(SERVER_URL);
try {
List params = new ArrayList<>();
// 将选中的值数据添加到请求参数中
for (String value : selectedValues) {
params.add(new BasicNameValuePair("selected_values[]", value));
}
httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
HttpResponse response = httpClient.execute(httpPost);
HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream inputStream = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String result = reader.readLine();
// 处理服务器返回的结果
Log.d("Response", result);
reader.close();
inputStream.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
使用Volley发送POST请求:
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonArrayRequest;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import org.json.JSONArray;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
private final String SERVER_URL = "http://your-php-server-url.com/submit_data.php";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取选中的值数据
List selectedValues = new ArrayList<>();
selectedValues.add("value1");
selectedValues.add("value2");
selectedValues.add("value3");
// 将选中的值数据发送到PHP服务器
sendDataToServer(selectedValues);
}
private void sendDataToServer(List selectedValues) {
StringRequest stringRequest = new StringRequest(Request.Method.POST, SERVER_URL,
new Response.Listener() {
@Override
public void onResponse(String response) {
// 处理服务器返回的结果
Log.d("Response", response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
}) {
@Override
protected Map getParams() {
Map params = new HashMap<>();
// 将选中的值数据添加到请求参数中
for (int i = 0; i < selectedValues.size(); i++) {
params.put("selected_values[" + i + "]", selectedValues.get(i));
}
return params;
}
};
Volley.newRequestQueue(this).add(stringRequest);
}
}
以上是使用HttpClient和Volley两种方法将多个选中的值数据发送到PHP服务器的示例代码。根据自己的需求选择其中一种方法进行实现即可。