Привет я пытаюсь отправить некоторые параметры на мой сервер php
Я действительно хочу, чтобы мой php-сервер получил параметры, отправленные пользователем, и сохранил их в базе данных mysql.
Если я попытаюсь подключиться HTTP: //somesite/store.php Местонахождение = где-то&Темп = что-то
с помощью браузера Chrome Это работало хорошо.
Но если я попытаюсь использовать его на Android.
В моей базе данных нет записей
в чем моя проблема?
URL testUrl;
try {
testUrl = new URL("http://somesite.com/gcm_server/getdata.php?Location=bathroom&Humidity=25%&Temperature=27&Brightness=45");
HttpURLConnection conn = (HttpURLConnection)testUrl.openConnection();
InputStream in = conn.getInputStream();
InputStreamReader isw = new InputStreamReader(in);
int data = isw.read();
while (data != -1) {
char current = (char) data;
data = isw.read();
System.out.print(current);
}
Log.d(TAG, "testUrl= " + testUrl.toString());
conn.disconnect();
}catch(MalformedURLException ex){
Log.e(TAG, ex.toString());
}
catch(IOException e){
Log.e(TAG, "url connection Error");
}
Если я пытаюсь подключиться, то я получаю Ошибка соединения с URL-адресом журнала, но если я попытался подключиться к некоторому сайту (я покрыл его другим сайтом). Я могу подключиться с помощью браузера Chrome
Я не знаю, что происходит … Пожалуйста, помогите мне
если вы используете локальный веб-сервер, убедитесь, что вы используете 10.0.2.2 в качестве имени сервера вместо localhost ..
Потому что Android использует локальный хост для эмулятора самостоятельно.
ХОРОШО.
Прежде всего. Если вы собираетесь отправлять данные на сервер и хранить их, вам действительно следует использовать запрос POST вместо GET.
У меня есть небольшой пример, чтобы помочь вам сделать это в Android:
//These are your parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("param1","foo"));
nameValuePairs.add(new BasicNameValuePair("param2","bar"));
String result = "";
InputStream is = null;
HttpClient httpClient = new DefaultHttpClient();
String urlPath = "http://somesite.com/somepage.php";
try {
HttpPost httpPost = new HttpPost(urlPath);
httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
BasicResponseHandler responseHandler = new BasicResponseHandler();
result = httpClient.execute(httpPost, responseHandler);
} catch (Exception e) {
//Exception
}
//Your result is in the result variable now
Этот пример не полностью завершен, и вам нужно импортировать используемые вещи, но, надеюсь, вы получите то, что я делаю.
Вы можете получить параметры на php-сервере, используя $_POST["theparam"];