Как получить строку с сервера PHP на Android?

Я создаю приложение для отправки текста на сервер и проверяю if(text != null) вернуть новые текстовые значения.

Мой код для этого, как:

В PHP Server:

$text = $_POST["text1"];
if($text != null){
echo "Contact1-----".$text."-----10h49 25/03/2016 at New York city";
} else{
echo "";
}

Прежде я сохраняю файл на сервере и записываю все данные в этот файл.
В настоящее время я хочу, чтобы он вернулся к данным Android, не нужно сохранять в файл.
И в коде Android есть:

final String scripturlstring = "http://www.anyexample.com/main.php";

AddContactActivity contact;
public void sendToServer(final String text){
contact = new AddContactActivity();
new Thread(new Runnable() {
@Override
public void run() {
try {

String textparam = "text1=" + URLEncoder.encode(text, "UTF-8");

URL scripturl = new URL(scripturlstring);
HttpURLConnection connection = (HttpURLConnection) scripturl.openConnection();
connection.setDoOutput(true);
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setFixedLengthStreamingMode(textparam.getBytes().length);
contentWriter.write(textparam);
contentWriter.flush();
contentWriter.close();

InputStream answerInputStream = connection.getInputStream();
final String answer = getTextFromInputStream(answerInputStream);

if(answer!="") {
String[] contactInfo = answer.split("-----");

contact.insertContact(contactInfo[0], contactInfo[1], contactInfo[2], "", "");
}
answerInputStream.close();
connection.disconnect();} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();

}public String getTextFromInputStream(InputStream is) {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder stringBuilder = new StringBuilder();

String currentLine;
try {
while ((currentLine = reader.readLine()) != null) {
stringBuilder.append(currentLine);
stringBuilder.append("\n");
}
} catch (IOException e) {
e.printStackTrace();
}

return stringBuilder.toString().trim();
}

Я не знаю почему answer является null,

Я думаю, что он должен вернуть данные, как:

Contact1 $text 10h49 25/03/2016 at New York city

3

Решение

Оставьте часть Android и сначала отладьте свой PHP-код. Вы не публикуете данные, так что это определенно неправильно:

$text = $_POST["text1"];

Вместо этого используйте $ _GET [«text1»]:

$text = $_GET["text1"];

Вы можете использовать $ _REQUEST, но IMO это плохая практика, так как объединяет переменные $ _GET, $ _POST и $ _COOKIE.

1

Другие решения

замещать

$text = $_POST["text1"];
с

$text = $_REQUEST['text1'];
1

задавать connection.setDoInput(true);

0
По вопросам рекламы [email protected]