У меня есть страница входа в Android, которая подключит локальный URL, передаст объект json, примет объект json с сервера и подарит ему тост. Но сейчас я получил только часть по запросу URL. Я узнал, что мы должны использовать IP вместо localhost в android из самого stackoverflow. Но я не получил никакого ответа от сервера. Это показывает пустым. Но если я использую внешний URL, я получаю это правильно. Я прокомментировал этот URL чуть выше. И если я декодирую JSON и отображаю его в браузере, он работает нормально. Но я не получаю это в моем приложении.
Это мой код Android:
public class FeedTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
try {
OkHttpClient client = new OkHttpClient();
RequestBody postData = new FormBody.Builder()
.add("type","json")
.build();
Request request = new Request.Builder()
//.url("http://codemobiles.com/adhoc/feed/youtube_feed.php")
.url("http://192.168.1.100/patronheedV1.1.1/App/Request/abc")
.post(postData)
.build();
Response response = client.newCall(request).execute();
String result = response.body().string();
return result;
} catch (Exception e) {
return null;
}
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Toast.makeText(getApplicationContext(), s, Toast.LENGTH_LONG).show();
}
}
И это мой код PHP:
<?php
class App {
public function Request() {
if ( isset($_POST) ){
$obj = (object) ['aString' => 'Working'];
return json_encode($obj);
} else {
$obj = (object) ['aString' => 'Notworking'];
return json_encode($obj);
}
}
public function fetchRequest() {
if ( isset($_POST['Request']) && isset($_POST['Token']) ){
$user = $_POST['User'];
return $user;
} else {
return NULL;
}
}
}
Задача ещё не решена.
Других решений пока нет …