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

json 파서 이용 웹서버 db에서 업데이트 된 값을 안드로이드에 전달할려고 하는데요......

0 추천

 

안녕하세요!
 
오늘도 참 수고가 많으십니다 ㅠㅜ
 
 
제가 웹서버에 업데이트된 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으로 확인까지 다 해봤는데요 ㅜㅠ
 
도움좀 주셨으면 좋겠어요
 
 
가비저 (200 포인트) 님이 2013년 2월 19일 질문
httpPost  사용을 저렇게 하는게 맞나요?
그럼 어떻게 해야 하나요???

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...