아무리 눌러도 데이터가 불러와지지 않아서..절망..
인터넷을 몇시간을 뒤져본지 모르겠다ㅠㅜㅠ
나의 첫 개발은 시작부터 무너지는구나..싶던 차에
겨우 문제 해결!!
# LoginRequset.java
import com.android.volley.AuthFailureError;
import com.android.volley.Response;
import com.android.volley.toolbox.StringRequest;
import java.util.HashMap;
import java.util.Map;
public class LoginRequest extends StringRequest {
final static private String URL = "http://loaclhost/userLogin.php";
private Map<String, String> map;
public LoginRequest(String user_id, String user_password, Response.Listener<String> listener) {
super(Method.POST, URL, listener, null);
map = new HashMap<>();
map.put("user_id", user_id);
map.put("user_password", user_password);
}
@Override
protected Map<String, String> getParams() throws AuthFailureError {
return map;
}
}
이 코드로 했더니 데이터가 불러와지지않는거다..
성공한 방법은 localhost부분을 자신의 IPv4 주소로 바꾸는거다
그렇다면 IPv4 주소는 어디서 찾냐~
cmd - ipconfig입력 - 무선LAN 어댑더 WiFi - IPv4 주소
간단하게 찾을 수 있다ㅎㅎ
이걸로 몇시간의 삽질 끝!
참고용으로 php파일도~
# userLogin.php
<?php
$con = mysqli_connect("loaclhost", "root", "(password)", "(database)");
mysqli_query($con,'SET NAMES utf8');
$user_id = $_POST["user_id"];
$user_password = $_POST["user_password"];
$statement = mysqli_prepare($con, "SELECT * FROM user WHERE user_id = ? AND user_password = ?");
mysqli_stmt_bind_param($statement, "ss", $user_id, $user_password);
mysqli_stmt_execute($statement);
mysqli_stmt_store_result($statement);
mysqli_stmt_bind_result($statement, $user_id, $user_password, $user_name, $user_age);//db
$response = array();
$response["success"] = false;
while(mysqli_stmt_fetch($statement)) {
$response["success"] = true;
$response["user_id"] = $user_id;
$response["user_password"] = $user_password;
$response["user_name"] = $user_name;
$response["user_age"] = $user_age;
;
}
echo json_encode($response);
?>
password와 database는 각자 자신의것으로 수정할 것!