Я видел, что этот вопрос задавался ранее, но решения до сих пор не работали для меня.Надеюсь, кто-то сможет пролить свет на то, что я делаю неправильно:
У меня есть djangorestframework + postgresql в качестве моего бэк-энда на моем ноутбуке.Android-проект также находится на том же ноутбуке.
В браузере я могу получить доступ к строке json, например, по следующему URL-адресу на моем ноутбуке, когда сервер работает:
http://127.0.0.1:8000/posts/
Теперь в моем эмуляторе Android я использую следующее (как это предлагается во многих разрешениях) для извлечения строки json:
http://10.0.2.2:8000/posts/
, но она отвечает как Bad Request.
Я хотел убедиться в правильности установки в проекте Android, поэтому я проверил и увидел, что он может читать json api из интернет-URL без проблем.
Я также использую okhttp3 для получения json из URL.
Кто-нибудь, пожалуйста, дайте мне знать, что я делаю неправильно.
Спасибо,
, вот мой код Java:
url2 = "http://10.0.2.2:8000/posts/";
client = new OkHttpClient();
request = new Request.Builder()
.url(url2)
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response.isSuccessful()) {
final String jsonResponse = response.body().string();
MainActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
m_textView.setText(jsonResponse);
}
});
} else {
Log.d("AMIRSERVER", jsonResponse);
}
}
});