일단 폰에서 값을 입력하면 그것이 mysql에 들어가는 것은 확인했습니다.
현재 구조가 java파일에서 php로 값을 넘겨주면 거기서 mysql에 저장하고 xml파일을 만들어서
입력 되었는지 아닌지를 알려주도록 되어있는데 이상하게 데이터는 들어가는데 xml파일이 생성이 되지 않네요.
소스 첨부하겠습니다.
1.입력 성공여부 판단 부분
String result = getXmlData("insertresult.xml", "result"); //입력 성공여부
if(result.equals("1")) { //result 태그값이 1일때 성공
Toast.makeText(Global_Ranking_Activity.this,
"DB insert 성공", Toast.LENGTH_SHORT).show();
edtname.setText("");
}
else //result 태그값이 1이 아닐때 실패
Toast.makeText(Global_Ranking_Activity.this,
"DB insert 실패", Toast.LENGTH_SHORT).show();
파싱메서드
private String getXmlData(String filename, String str) throws XmlPullParserException, IOException
{ //태그값 하나를 받아오기위한 String형 함수
String rss = SERVER_ADDRESS + "/";
String ret = "";
try { //XML 파싱을 위한 과정
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser xpp = factory.newPullParser();
URL server = new URL(rss + filename);
InputStream is = server.openStream();
xpp.setInput(is, "UTF-8");
int eventType = xpp.getEventType();
while(eventType != XmlPullParser.END_DOCUMENT) {
if(eventType != XmlPullParser.END_TAG) {
if(xpp.getName().equals(str)) { //태그 이름이 str 인자값과 같은 경우
ret = xpp.nextText();
}
}
eventType = xpp.next();
}
} catch(Exception e) {
Log.e("Error", "fuck "+e);
}
return ret;
}
php 부분
$name = $_REQUEST[name]; //주소에 있는 name값을 받아 name 변수에 저장
$score = $_REQUEST[score]; //주소에 있는 price값을 받아 prica 변수에 저장
$qry = "insert into ranking(name, score) values('$name', '$score');";
$result = mysql_query($qry);
$xmlcode = "<?xml version = \"1.0\" encoding = \"utf-8\"?>\n"; //xml파일에 출력할 코드
$xmlcode .= "<result>$result</result>\n"; //DB insert가 성공적으로 됐는지 여부를 확인하기 위해 result값을 xml로 출력시킴
$dir = "주소는 개인정보상 안적겠습니다"; //insertresult.xml 파일을 저장할 경로
$filename = $dir."/insertresult.xml"; //파일의 완전한 경로 대입
file_put_contents($filename, $xmlcode); //xmlcode의 내용을 xml파일로 출력
?>
참고로 호스팅 업체꺼를 서버로 두고 있고 주소에는 문제가 없는 것 같습니다.
좋은하루되세요