Я использовал Volley StringRequests ранее, но я пытаюсь запустить его на локальном хосте, чтобы облегчить тестирование в моем случае.У меня не было ответа от веб-страницы.Я Xampp с Apache и SQL включен для запуска моего локального сервера.Поддерживает ли Volley использование localhost?
php:
$result = array();
if (isset($_POST['input'])) {
$obj = $_POST["input"]; //gets JSONArray as String with POST method
echo "JSON input: ".$obj."<br>";
$result["success"] = true;
} else {
echo "No data for 'input'";
$result["success"] = false;
}
echo json_encode($result);
java:
public class WebRequest extends StringRequest {
private static final String WebRequestURL = "localhost/practice/";
private Map<String, String> params;
public WebRequest(String input, Response.Listener<String> listener){
super(Method.POST, WebRequestURL, listener, null);
params = new HashMap<>();
params.put("input", input);
}
@Override
public Map<String, String> getParams() {
return params;
}
}
public class MainActivity extends AppCompatActivity {
private final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
JSONArray arr = new JSONArray();
JSONObject one = new JSONObject();
one.put("demand", 1);
one.put("location_lat", 89.1234);
one.put("location_lon", -190.1234);
one.put("dest_lat", 89.1234);
one.put("dest_lon", -190.1234);
one.put("time_waiting", 13793);
one.put("id", 5);
arr.put(one);
WebRequest webRequest = new WebRequest(arr.toString(), new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.i(TAG, "WebRequest response: " + response);
}
});
RequestQueue requestQueue = Volley.newRequestQueue(MainActivity.this);
requestQueue.add(webRequest);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
РЕШЕНИЕ Я пропал без вести
uses-permission android:name="android.permission.INTERNET"
в моем Манифесте