2012-03-05 1 views
1

게임 하이 스코어를 데이터베이스 테이블에 게시하려하지만 정수 값만 전달하는 방법으로 문자열을 전달하는 방법을 알 수 없습니다. 다음은 게임 종료시 호출하고자하는 메소드입니다. 이것은 테이블의 점수 열에 점수를 삽입해야합니다.nameValuePairs를 사용하여 Android에서 HTTP를 통해 정수 값을 게시하십시오.

public void postData() { 


    // Create a new HttpClient and Post Header 
    HttpClient httpclient = new DefaultHttpClient(); 
    HttpPost httppost = new HttpPost("http://deucalion0.co.uk/insert.php"); 

    try { 
     // Add your data 
     List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1); 
     nameValuePairs.add(new BasicNameValuePair("score", finalscore)); //"score" is the name of the database table, finalscore is the integer that contains the value 
     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 
    } 
} 

나는 단지 문자열을 취할 수하고 최종 점수는 정수 것을 알고 나에게 말한다 finalScore입니다으로, 매개 변수 "점수"아래에 빨간 선을 얻고있다.

내가 알아낼 수있는 경우 사용자가 양식 입력을 통해 이름을 입력 할 수있는 방법을 만들고이를 점수와 함께 표의 사용자 열에 입력합니다. 정수 및 nameValuePairs 도움이 Stackoverflow 통해 검색 한 있지만 아무것도 찾을 수 없습니다.

감사합니다.

감사합니다.

+0

게시 한 코드와 관련하여 특별히 언급 한 오류는 언급하지 않았습니다. 원하는 방식대로 작동하지 않는 이유는 무엇입니까? – Argyle

답변

7

URL 인코딩 형식은 텍스트입니다. 정수 점수를 텍스트로 변환하고 서버 측의 정수로 다시 구문 분석해야합니다. 또는, 게임 상태 데이터와 POST를위한 바이너리 파일이 있다면 어떤 것을 고안 할 수 있습니다.하지만 이름과 점수 만 원할 경우 심각한 과잉입니다.

+0

아, 정수 값을 문자열로 변환해야합니다. 감사합니다. – deucalion0

+2

팁을 주셔서 감사 드리며 작동했습니다 : String s = new Integer (finalscore) .toString(); 나는 당신이 그것에 대해 언급하지 않았다고 생각하지 않았습니다. 감사합니다. – deucalion0

+1

도와 드리겠습니다. 오브젝트 인스턴스화를 저장하려면'Integer.toString (finalscore)'를 시도하십시오. – Argyle

관련 문제