Я внедрил простой сценарий регистрации в Volley, который использует скрипт PHP, который я создал, при первом запуске кода он отображал ошибку с ошибкой в logcat. Затем я добавил разрешение <uses-permission android:name="android.permission.INTERNET" />
, как рассказали другие, однако теперь, когда я пытаюсь зарегистрировать учетную запись, в лог-кате не появляются сообщения, и данные также не добавляются. Я просматривал предыдущие сообщения на форуме и не могу найти ничего похожего на то, что я встречаяAndroid Volley- Добавить в базу данных
Код:
public void registerAccountButtonOnClick (View v) {
StringRequest request = new StringRequest(Request.Method.POST, registerURL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> parameters = new HashMap<String, String>();
parameters.put("FIRST_NAME",firstname.getText().toString());
parameters.put("LAST_NAME",lastname.getText().toString());
parameters.put("USER_NAME",username.getText().toString());
parameters.put("PASSWORD",password.getText().toString());
return parameters;
}
};
requestQueue.add(request);
}
PHP:
connection.php
<?php
define('hostname', 'localhost');
define('username','root');
define('dbpassword', '');
define('databaseName', 'YouDecide');
$connect = mysqli_connect(hostname,username,dbpassword,databaseName);
?>
registerAccount.php
<?php
if($_SERVER["REQUEST_METHOD"]== "POST") {
require 'connection.php';
createAccount();
}
function createAccount()
{
global $connect;
$firstname = $_POST["firstname"];
$lastname = $_POST["lastname"];
$username = $_POST["username"];
$password = $_POST["password"];
$query = "INSERT INTO User(FIRST_NAME,LAST_NAME,USER_NAME,PASSWORD) VALUES ('$firstname', '$lastname', '$username','$password')";
mysqli_query($connect, $query) or die (mysqli_error($connect));
mysqli_close($connect);
}
?>
printStackTrace:
02-18 03:55:12.370 1569-1569/com.example.georgetucker.youdecide W/System.err: at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:158)
02-18 03:55:12.370 1569-1569/com.example.georgetucker.youdecide W/System.err: at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:114)
02-18 03:55:12.370 1569-1569/com.example.georgetucker.youdecide W/System.err: Caused by: java.net.ConnectException: failed to connect to localhost/127.0.0.1 (port 80) after 2500ms: isConnected failed: ECONNREFUSED (Connection refused)
02-18 03:55:12.370 1569-1569/com.example.georgetucker.youdecide W/System.err: at libcore.io.IoBridge.isConnected(IoBridge.java:223)
02-18 03:55:12.370 1569-1569/com.example.georgetucker.youdecide W/System.err: at libcore.io.IoBridge.connectErrno(IoBridge.java:161)
02-18 03:55:12.370 1569-1569/com.example.georgetucker.youdecide W/System.err: at libcore.io.IoBridge.connect(IoBridge.java:112)
02-18 03:55:12.370 1569-1569/com.example.georgetucker.youdecide W/System.err: at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
02-18 03:55:12.370 1569-1569/com.example.georgetucker.youdecide W/System.err: at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
02-18 03:55:12.370 1569-1569/com.example.georgetucker.youdecide W/System.err: at java.net.Socket.connect(Socket.java:842)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err: at libcore.net.http.HttpConnection.<init>(HttpConnection.java:76)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err: at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err: at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:362)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err: at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err: at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err: at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err: at libcore.net.http.HttpEngine.connect(HttpEngine.java:311)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err: at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err: at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err: at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:81)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err: at libcore.net.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:197)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err: at com.android.volley.toolbox.HurlStack.addBodyIfExists(HurlStack.java:257)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err: at com.android.volley.toolbox.HurlStack.setConnectionParametersForRequest(HurlStack.java:227)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err: at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:107)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err: at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:97)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err: ... 1 more
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err: Caused by: libcore.io.ErrnoException: isConnected failed: ECONNREFUSED (Connection refused)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err: at libcore.io.IoBridge.isConnected(IoBridge.java:208)
02-18 03:55:12.380 1569-1569/com.example.georgetucker.youdecide W/System.err: ... 21 more
Спасибо для смотреть :-)
Не уменьшалось, но можете ли вы опубликовать php? –
Выполнено, спасибо за конструктивный совет :-) – GTucker
Вы уверены, что это на стороне Волейбола? т.е. будет ли база данных действительно подключаться? Чтобы убедиться, попробуйте: проверьте, что ваше имя таблицы - это «пользователь», а не пользователи, введите запрос в phpmyadmin (или что вы используете) и посмотрите, обновляется ли таблица, убедитесь, что у андроидального залпа есть правильный URL-адрес. Лично я не вижу каких-либо вопиющих проблем на стороне Android, но я только использовал волейбол однажды. –