마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

php mysql? 로 데이터를 보내는 방법을 알고싶습니다.

0 추천

안녕하세요 몇일전부터 안드로이드 스튜디오를 공부한는 학생입니다.

안드로이드 화면 시작 전에 유저 데이터베이스에ㅔ서 데이터를 받아와서 화면에 뿌리는것을 할려하는데

우선 데이터를 아래 코드를 써서 php mysql에서 받고 화면에 뿌리는것은했는데

데이터를 받기전에 전에만든 String username을 php mysql에 보내서 그값으로 select할려는데 

어떻게 해야하나요? 

doInBackground함수에 넣고 올리면 될꺼같은데.. 안되서요.. 

​질문 읽어주셔서 감사합니다.

제발살려주세요.. (120 포인트) 님이 2022년 9월 8일 질문

1개의 답변

0 추천

PHP로 보내는 URL에 이미지를 가져올 때 처럼 username을 URL query로 전송하세요.

@Override
protected void doInBackgriund(Void...voids) {
   String apiUrl = "http://<domain name>/account/viewaccount.php?username=" + p_user_name;
   request = new Request.Builder().url(apiUrl).build();
    ...
}

 

서버에서는 username이라는 키값으로 요청값을 읽어와서 MySQL에 쿼리를 날려주세요.

참고로 서버에서는 성공시에시는 사용자정보를 실패시에는 에러를 리턴할 수 있도록 하시는게 좋을 것 같습니다. 아래와 같은 형태로 실패, 성공 정보가 담긴 JSON를 리턴하도록 해보세요. (아주 기본적이고 중요한 사항임)

// 성공시
{
   success: "true",
   data: {
       firatName: "",
       lastName: ""
   }
}

// 실패시
{
   success: "false",
   data: null,
   message: "User not found"
}

이 경우, 당연히 안드로이 앱쪽에도 에러, 성공을 처리할 수 있는 코드가 추가되어야 겠죠.

마지막으로 AsyncTask는 deprecated되었기 때문에 안드로스튜디오의 AsyncTask를 확장한 클래스이름을 보시면 글자색이 좀 다를 겁니다. Volley에 리스너를 달아서 사용하시면 AsyncTask가 굳이 필요없는 것 같은데, 한번 확인해 보세요.

spark (224,800 포인트) 님이 2022년 9월 9일 답변
...