안녕하세요!
오늘도 참 수고가 많으십니다 ㅠㅜ
제가 웹서버에 업데이트된 db값을 x.jsp 안에서 json 메소드를 통해서 그 db값을 select해서 값을 받은다음
조건을 줘서 db에서 받은 값이 0일때 "원숭이", 1일때 "해파리" 이라는 값을 String값에 넣어서
그걸 json 값에 넣어서 안드로이드 에 보낼려고 하는데요
값이 수시로 업데이트 되어서 다시 불러와도 처음 값만 넘어와 지더라고요.
log켓 보니까 처음 값 만 넘어와요 ㅠㅜ
consol창에서는 값이 바뀌는걸 봐서는 넘어올때 문제 같은데 왜 그런지 모르겠습니다.
이 소스가 안드로이드 소스입니다.
public void getData() {
new Thread() {
String display = "";
HttpClient httpclient;
public void run() {
try {
httpclient = new DefaultHttpClient();
ArrayList arraylist = new ArrayList();
arraylist.add(new BasicNameValuePair("param", "데이터"));
HttpParams httpparams = httpclient.getParams();
// ---------------------------------------------★★★★★★★★★★★
HttpPost httppost = new HttpPost(
"http://192.168.0.26:8000/day27/insertdo_overlapget.jsp");
UrlEncodedFormEntity urlencodedformentity = new UrlEncodedFormEntity(
arraylist, "utf-8");
httppost.setEntity(urlencodedformentity);
HttpResponse httpresponse = httpclient.execute(httppost);
HttpEntity httpentity = httpresponse.getEntity();
InputStream inputstream = httpentity.getContent();
BufferedReader bufferedreader = new BufferedReader(
new InputStreamReader(inputstream, "utf-8"));
String line = "";
while ((line = bufferedreader.readLine()) != null) {
result += line + "\n";
}
JSONObject jsonobject = new JSONObject(result);
JSONArray jsonarray = jsonobject.getJSONArray("item");
display = "";
display = jsonarray.getJSONObject(0).getString("overling");
inputstream.close();
} catch (Exception e) {
Log.d("taekwon", "error:" + e);
} finally {
httpclient.getConnectionManager().shutdown();
}
Log.i("leejin", "---------------------------");
Log.i("leejin", display);
Log.i("leejin", "---------------------------");
handler.post(new Runnable() {
public void run() {
if (display.equalsIgnoreCase("해파리")) {
overlap = 1;
saveid = eTxtId.getText().toString();
new AlertDialog.Builder(New_member.this)
.setTitle("아이디 중복 체크")
.setMessage("사용할 수 있는 아이디 입니다.")
.setPositiveButton("확인",
new DialogInterface.OnClickListener() {
@Override
public void onClick(
DialogInterface dialog,
int which) {
}
}).show();
} else if(display.equalsIgnoreCase("원숭이")){
overlap = 0;
new AlertDialog.Builder(New_member.this)
.setTitle("아이디 중복 체크")
.setMessage("사용할 수 없는 아이디 입니다.")
.setPositiveButton("확인",
new DialogInterface.OnClickListener() {
@Override
public void onClick(
DialogInterface dialog,
int which) {
}
}).show();
}
}
});
}
}.start();
}
이게 json 이용한 x.jsp 소스입니다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="org.json.simple.JSONArray"%>
<%@page import="org.json.simple.JSONObject"%>
<%@ page import="java.util.ArrayList"%>
<%@ page import="jw.service.user.vo.UserVO"%>
<%@ page import="jw.service.user.dao.UserDAO"%>
<%
request.setCharacterEncoding("utf-8");
String param = request.getParameter("param");
System.out.println("param:" + param);
UserDAO userdao = new UserDAO();
UserVO userVO = new UserVO();
int overling = userdao.getuserCount();
String resi="";
System.out.println("overling:" + overling);
System.out.println("되는거 맞어??");
System.out.println("overling:" + overling);
if(overling == 1){
resi="해파리";
}else if(overling == 0){
resi="원숭이";
}
System.out.println("========키 값========");
System.out.println(resi);
System.out.println("========키 값========");
JSONObject jsonobjectmain = new JSONObject();
JSONArray jsonarray = new JSONArray();
{
JSONObject jsonobject = new JSONObject();
jsonobject.put("overling", resi);
jsonarray.add(0, jsonobject);
}
jsonobjectmain.put("item", jsonarray);
out.print(jsonobjectmain);
out.flush();
System.out.println("param:" + param);
%>
에러는 없는데... 왜 안드로이드에서 값이 안 바뀌고 넘어올까요 ㅠㅜ
해파리면 해파리 계속 나오고 그럽니다 ㅠㅠ
jsp파일에서 consol 창으로 if 조건 주고 system.out.println으로 확인까지 다 해봤는데요 ㅜㅠ
도움좀 주셨으면 좋겠어요