LG G3을 사용하고 앱을 실행할 때 Volley가 작동하지 않습니다. 내가하고있는 모든 일은 내 로컬 서버에 게시물 요청을 보내고 완벽하게 에뮬레이터에서 작동하지만 장치에서 실패합니다. 내가 얻는 오류는 타임 아웃 오류입니다. 코드는 다음과 같습니다.발리는 에뮬레이터에서 실행되지만 장치에서는 오류가 발생합니다.
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button button = (Button) findViewById(R.id.button);
final TextView textview = (TextView) findViewById((R.id.test));
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
sendRequest("example", "0", "0", "0", "0", "0", "0");
}
});
}
public void sendRequest(final String location, final String mood, final String gender, final String age,
final String day, final String month, final String year) {
RequestQueue requestQueue = Volley.newRequestQueue(this);
String url = "http://10.0.2.2:8000/polls/add/";
StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(MainActivity.this, "works", Toast.LENGTH_SHORT).show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this, "Error is: " + error.toString(),
Toast.LENGTH_LONG).show();
Log.e("VOLLEY", error.toString());
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> parameters = new HashMap<>();
parameters.put("age", age);
parameters.put("location", location);
parameters.put("mood", mood);
parameters.put("gender", gender);
parameters.put("day", day);
parameters.put("month", month);
parameters.put("year", year);
return parameters;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
params.put("Content-Type", "application/x-www-form-urlencoded");
return params;
}
};
requestQueue.add(stringRequest);
}
}
어떤 도움을 주시면 감사하겠습니다. 감사!
발리는 로컬 액세스를 제공하지 않습니다 – user6313669
의 사용 가능한 복제 (HTTP [USB에서 PC의 로컬 호스트 액세스는 안드로이드 모바일 장치를 연결] : // 유래 .com/questions/9887621/accessible-localhost-of-pc-from-usb-connected-android-mobile-devi ce) – Bryan
http://stackoverflow.com/questions/4779963/how-can-i-access-my-localhost-from-my-android-device – user6313669