Прежде всего убедитесь, что ваш сценарий. php получает запрос или нет.
Тестирование на Emulator: локального сервера относится к устройству, на котором код работает, если его об эмуляторе тогда you'l придется использовать IP address 10.0.2.2
.
Тестирование на устройстве: Если вы тестируете приложение на своем физическом устройстве, вам необходимо включить USB-модем, а затем проверить IP-адрес, связанный между вашим устройством и ПК. (Не имеет значения, если Mobile Data включен или выключен)
В Linux, вы можете проверить, что IP-адрес с помощью sudo ipconfig
Это будет о/р все сетевые интерфейсы, от тех, you'l должны найдите тот, у которого usn0
или что-то подобное.
usb0 Link encap:Ethernet HWaddr 06:94:c7:0d:51:43
inet addr:192.168.42.106 Bcast:192.168.42.255 Mask:255.255.255.0
inet6 addr: fe80::494:c7ff:fe0d:5143/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:21 errors:0 dropped:0 overruns:0 frame:0
TX packets:29 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2016 (1.9 KiB) TX bytes:3978 (3.8 KiB)
Здесь вы можете увидеть IP устройства 192.168.42.106 так, В Android вы должны использовать URL, как,
http://192.168.42.106/script.php
В, окна имеет аналогичную команду ipconfig
.
Android Источник
public void postData() {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://192.168.42.106/script.php"); // <-- for Device, and for emulator--> http://10.0.2.2/script.php
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("id", "12345"));
nameValuePairs.add(new BasicNameValuePair("stringdata", "AndDev is Cool!"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
}
После Наладка правильный IP в Android код, аргументы для чтения POST в script.php
и создать новый файл для хранения этих данных:
<?php
//getting data from POST request.
$arg1= $POST['id'];
$arg2= $POST['stringdata'];
//creating file
$ourFileName = "testFile.txt";
$ourFileHandle = fopen($ourFileName, 'w') or die("can't create file");
//wrinting content to file
fwrite($ourFileHandle, $arg1);
fwrite($ourFileHandle, $arg2);
//closing file
fclose($ourFileHandle);
?>
Надежда это было быть полезным. :)
Вы уверены, что запрос будет отправлен? Не могли бы вы вставить код, чтобы взглянуть на ваш подход? – Cheluis
- услуга ур на локальном хосте или удаленном компьютере? – KOTIOS
@Monica Я пытаюсь на локальном хосте – aandroidtest